Module: GemCache
- Defined in:
- lib/gemcache.rb,
lib/gemcache/errors.rb,
lib/gemcache/railtie.rb,
lib/gemcache/version.rb,
lib/gemcache/parsers/info_parser.rb,
lib/gemcache/parsers/sem_ver_parser.rb
Defined Under Namespace
Classes: GemNotFoundError, InfoParser, InvalidVersionConstraintError, NoAvailableVersionsError, Railtie, SemVerParser
Constant Summary collapse
- VERSION =
"0.1.1"- @@host =
"https://rubygems.org"
Class Method Summary collapse
-
.setup {|_self| ... } ⇒ Object
Set configuration options.
Instance Method Summary collapse
-
#fetch_gem ⇒ String
Fetch required gem file.
-
#fetch_info ⇒ String
Fetch required gem info file.
-
#fetch_quick ⇒ String
Fetch required gem quick file.
Class Method Details
.setup {|_self| ... } ⇒ Object
Set configuration options. This is typically done in the initializer (‘rails g gemcache:install’)
23 24 25 |
# File 'lib/gemcache.rb', line 23 def self.setup yield self end |
Instance Method Details
#fetch_gem ⇒ String
Fetch required gem file.
56 57 58 59 60 61 |
# File 'lib/gemcache.rb', line 56 def fetch_gem gem_uri = URI.parse("#{@@host}/gems/#{@name}-#{@version}.gem") response = Net::HTTP.get_response(gem_uri) raise GemNotFoundError(@name) unless response.is_a? Net::HTTPSuccess response.body end |
#fetch_info ⇒ String
Fetch required gem info file.
32 33 34 35 36 37 |
# File 'lib/gemcache.rb', line 32 def fetch_info info_uri = URI.parse("#{@@host}/info/#{@name}") response = Net::HTTP.get_response(info_uri) raise GemNotFoundError.new(@name) unless response.is_a? Net::HTTPSuccess response.body end |
#fetch_quick ⇒ String
Fetch required gem quick file.
44 45 46 47 48 49 |
# File 'lib/gemcache.rb', line 44 def fetch_quick quick_uri = URI.parse("#{@@host}/quick/Marshal.4.8/#{@name}-#{@version}.gemspec.rz") response = Net::HTTP.get_response(quick_uri) raise GemNotFoundError.new(@name) unless response.is_a? Net::HTTPSuccess response.body end |