Class: LockDiff::Gem::RubyGem

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/lock_diff/gem/ruby_gem.rb

Overview

wrapper of RubyGem

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ RubyGem

Returns a new instance of RubyGem.



11
12
13
14
15
16
17
# File 'lib/lock_diff/gem/ruby_gem.rb', line 11

def initialize(name)
  content = HTTPClient.get_content("https://rubygems.org/api/v1/gems/#{name}.json")
  @ruby_gem = OpenStruct.new(JSON.parse(content))
rescue => e
  LockDiff.logger.warn("Could not fetch gem info of #{name} because of #{e.inspect}")
  @ruby_gem = NullRubyGem.new(name)
end

Instance Method Details

#github_urlObject



19
20
21
# File 'lib/lock_diff/gem/ruby_gem.rb', line 19

def github_url
  @github_url ||= Github::GithubUrlDetector.new([source_code_url, homepage_url]).call
end

#homepage_urlObject



23
24
25
# File 'lib/lock_diff/gem/ruby_gem.rb', line 23

def homepage_url
  @ruby_gem.homepage_uri
end