Module: Avm::EacRubyBase1::Sources::Base::Rubygems
- Defined in:
- lib/avm/eac_ruby_base1/sources/base/rubygems.rb
Constant Summary collapse
- GEMSPEC_EXTNAME =
'.gemspec'
Instance Method Summary collapse
- #gem_name ⇒ Object
- #gem_name_by_gemspec ⇒ Object
- #gem_name_by_path ⇒ Object
- #gem_namespace_parts ⇒ Object
- #gemspec ⇒ Gem::Specification
- #gemspec_path ⇒ Pathname
Instance Method Details
#gem_name ⇒ Object
13 14 15 |
# File 'lib/avm/eac_ruby_base1/sources/base/rubygems.rb', line 13 def gem_name gem_name_by_gemspec || gem_name_by_path end |
#gem_name_by_gemspec ⇒ Object
17 18 19 |
# File 'lib/avm/eac_ruby_base1/sources/base/rubygems.rb', line 17 def gem_name_by_gemspec gemspec_path.if_present { |v| v.basename(GEMSPEC_EXTNAME).to_path } end |
#gem_name_by_path ⇒ Object
21 22 23 24 |
# File 'lib/avm/eac_ruby_base1/sources/base/rubygems.rb', line 21 def gem_name_by_path fullname = path.basename.to_s /\A(.+)(?:-\d+(?:\.\d+)*)\z/.if_match(fullname, false) { |m| m[1] }.if_present(fullname) end |
#gem_namespace_parts ⇒ Object
26 27 28 |
# File 'lib/avm/eac_ruby_base1/sources/base/rubygems.rb', line 26 def gem_namespace_parts gem_name.split('-') end |
#gemspec ⇒ Gem::Specification
31 32 33 |
# File 'lib/avm/eac_ruby_base1/sources/base/rubygems.rb', line 31 def gemspec ::Gem::Specification.load(gemspec_path.to_path) end |
#gemspec_path ⇒ Pathname
36 37 38 |
# File 'lib/avm/eac_ruby_base1/sources/base/rubygems.rb', line 36 def gemspec_path path.glob("*#{GEMSPEC_EXTNAME}").first end |