diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-06 13:54:36 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-06 13:54:36 -0600 |
| commit | d36b6e4f7c99b96aee01656e2ca57312d77a55b6 (patch) | |
| tree | e875bc14c907cbca92a8c36d9f15d4c946fceed0 /net-hippie.gemspec | |
| parent | 6ef050083b8519cfb8120246344514e1c8e27f49 (diff) | |
feat: add optional Rust backend with Magnus integration
- Add Rust HTTP client using reqwest and Magnus for Ruby integration
- Implement transparent backend switching via NET_HIPPIE_RUST environment variable
- Maintain 100% backward compatibility with existing Ruby interface
- Add comprehensive test coverage (75 tests, 177 assertions)
- Support automatic fallback to Ruby backend when Rust unavailable
- Include detailed documentation for Rust backend setup and usage
- Add proper .gitignore for Rust build artifacts
- Update gemspec to support native extensions
Performance benefits:
- Faster HTTP requests using Rust's optimized reqwest library
- Better concurrency with Tokio async runtime
- Lower memory usage with zero-cost abstractions
- Type safety with compile-time guarantees
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'net-hippie.gemspec')
| -rw-r--r-- | net-hippie.gemspec | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net-hippie.gemspec b/net-hippie.gemspec index 867554f..e62f947 100644 --- a/net-hippie.gemspec +++ b/net-hippie.gemspec @@ -26,6 +26,10 @@ Gem::Specification.new do |spec| spec.require_paths = ['lib'] spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0') + # Rust extension support + spec.extensions = ['extconf.rb'] + spec.metadata['allowed_push_host'] = 'https://rubygems.org' + spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rubocop', '~> 1.9' |
