Class: Binford::RubyGems
- Inherits:
-
WebService
- Object
- WebService
- Binford::RubyGems
- Defined in:
- lib/binford/ruby_gems.rb
Instance Attribute Summary collapse
-
#gem ⇒ Object
readonly
Returns the value of attribute gem.
Instance Method Summary collapse
- #current(version) ⇒ Object
- #data ⇒ Object
- #dependencies ⇒ Object
-
#initialize(gem) ⇒ RubyGems
constructor
A new instance of RubyGems.
- #rails_dependencies ⇒ Object
- #versions ⇒ Object
Methods inherited from WebService
Constructor Details
#initialize(gem) ⇒ RubyGems
Returns a new instance of RubyGems.
7 8 9 10 |
# File 'lib/binford/ruby_gems.rb', line 7 def initialize(gem) super("https://rubygems.org/", serializer: Serializers::HTML.new) @gem = gem end |
Instance Attribute Details
#gem ⇒ Object (readonly)
Returns the value of attribute gem.
5 6 7 |
# File 'lib/binford/ruby_gems.rb', line 5 def gem @gem end |
Instance Method Details
#current(version) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/binford/ruby_gems.rb', line 21 def current(version) { version: version, released_at: (versions ? versions[version] : nil) } end |
#data ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/binford/ruby_gems.rb', line 12 def data { name: gem, versions: versions, dependencies: dependencies, rails_dependencies: rails_dependencies } end |
#dependencies ⇒ Object
34 35 36 37 38 |
# File 'lib/binford/ruby_gems.rb', line 34 def dependencies @dependencies ||= document&.css(".dependencies")&.css(".t-list__items")&.map do |node| parse_node_dependency(node) end end |
#rails_dependencies ⇒ Object
40 41 42 |
# File 'lib/binford/ruby_gems.rb', line 40 def rails_dependencies dependencies&.select { |dependency, _| rails_gems.include?(dependency) } end |
#versions ⇒ Object
28 29 30 31 32 |
# File 'lib/binford/ruby_gems.rb', line 28 def versions @versions ||= versions_document&.css(".t-list__items")&.css("li.gem__version-wrap")&.map do |node| parse_node_version(node) end&.to_h end |