Class: Gemirro::Source
- Inherits:
-
Object
- Object
- Gemirro::Source
- Defined in:
- lib/gemirro/source.rb
Overview
The Source class is used for storing information about an external source such as the name and the Gems to mirror.
Instance Attribute Summary collapse
- #gems ⇒ Array readonly
- #host ⇒ String readonly
- #name ⇒ String readonly
Instance Method Summary collapse
-
#fetch_gem(name, version) ⇒ String
Fetches the ‘.gem` file of a given Gem and version.
-
#fetch_versions ⇒ String
Fetches a list of all the available Gems and their versions.
-
#gem(name, requirement = nil) ⇒ Object
Adds a new Gem to the source.
-
#initialize(name, host, gems = []) ⇒ Source
constructor
A new instance of Source.
Constructor Details
#initialize(name, host, gems = []) ⇒ Source
Returns a new instance of Source.
22 23 24 25 26 |
# File 'lib/gemirro/source.rb', line 22 def initialize(name, host, gems = []) @name = name.downcase.gsub(/\s+/, '_') @host = host.chomp('/') @gems = gems end |
Instance Attribute Details
#gems ⇒ Array (readonly)
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/gemirro/source.rb', line 14 class Source attr_reader :name, :host, :gems ## # @param [String] name # @param [String] host # @param [Array] gems # def initialize(name, host, gems = []) @name = name.downcase.gsub(/\s+/, '_') @host = host.chomp('/') @gems = gems end ## # Fetches a list of all the available Gems and their versions. # # @return [String] # def fetch_versions Http.get(host + '/' + Configuration.versions_file).body end ## # Fetches the `.gem` file of a given Gem and version. # # @param [String] name # @param [String] version # @return [String] # def fetch_gem(name, version) Http.get(host + "/gems/#{name}-#{version}.gem").body end ## # Adds a new Gem to the source. # # @param [String] name # @param [String] requirement # def gem(name, requirement = nil) gems << Gem.new(name, requirement) end end |
#host ⇒ String (readonly)
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/gemirro/source.rb', line 14 class Source attr_reader :name, :host, :gems ## # @param [String] name # @param [String] host # @param [Array] gems # def initialize(name, host, gems = []) @name = name.downcase.gsub(/\s+/, '_') @host = host.chomp('/') @gems = gems end ## # Fetches a list of all the available Gems and their versions. # # @return [String] # def fetch_versions Http.get(host + '/' + Configuration.versions_file).body end ## # Fetches the `.gem` file of a given Gem and version. # # @param [String] name # @param [String] version # @return [String] # def fetch_gem(name, version) Http.get(host + "/gems/#{name}-#{version}.gem").body end ## # Adds a new Gem to the source. # # @param [String] name # @param [String] requirement # def gem(name, requirement = nil) gems << Gem.new(name, requirement) end end |
#name ⇒ String (readonly)
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/gemirro/source.rb', line 14 class Source attr_reader :name, :host, :gems ## # @param [String] name # @param [String] host # @param [Array] gems # def initialize(name, host, gems = []) @name = name.downcase.gsub(/\s+/, '_') @host = host.chomp('/') @gems = gems end ## # Fetches a list of all the available Gems and their versions. # # @return [String] # def fetch_versions Http.get(host + '/' + Configuration.versions_file).body end ## # Fetches the `.gem` file of a given Gem and version. # # @param [String] name # @param [String] version # @return [String] # def fetch_gem(name, version) Http.get(host + "/gems/#{name}-#{version}.gem").body end ## # Adds a new Gem to the source. # # @param [String] name # @param [String] requirement # def gem(name, requirement = nil) gems << Gem.new(name, requirement) end end |
Instance Method Details
#fetch_gem(name, version) ⇒ String
Fetches the ‘.gem` file of a given Gem and version.
44 45 46 |
# File 'lib/gemirro/source.rb', line 44 def fetch_gem(name, version) Http.get(host + "/gems/#{name}-#{version}.gem").body end |
#fetch_versions ⇒ String
Fetches a list of all the available Gems and their versions.
33 34 35 |
# File 'lib/gemirro/source.rb', line 33 def fetch_versions Http.get(host + '/' + Configuration.versions_file).body end |