Class: Gemirro::VersionsFetcher
- Inherits:
-
Object
- Object
- Gemirro::VersionsFetcher
- Defined in:
- lib/gemirro/versions_fetcher.rb
Overview
The VersionsFetcher class is used for retrieving the file that contains all registered Gems and their versions.
Instance Attribute Summary collapse
-
#source ⇒ Source
readonly
The VersionsFetcher class is used for retrieving the file that contains all registered Gems and their versions.
Instance Method Summary collapse
- #fetch ⇒ Gemirro::VersionsFile
-
#initialize(source) ⇒ VersionsFetcher
constructor
A new instance of VersionsFetcher.
-
#read_file(file, prerelease = false) ⇒ Object
Read file if exists otherwise download its from source.
Constructor Details
#initialize(source) ⇒ VersionsFetcher
Returns a new instance of VersionsFetcher.
16 17 18 |
# File 'lib/gemirro/versions_fetcher.rb', line 16 def initialize(source) @source = source end |
Instance Attribute Details
#source ⇒ Source (readonly)
The VersionsFetcher class is used for retrieving the file that contains all registered Gems and their versions.
10 11 12 13 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 |
# File 'lib/gemirro/versions_fetcher.rb', line 10 class VersionsFetcher attr_reader :source ## # @param [Source] source # def initialize(source) @source = source end ## # @return [Gemirro::VersionsFile] # def fetch VersionsFile.load(read_file(Configuration.versions_file), read_file(Configuration.prerelease_versions_file, true)) end ## # Read file if exists otherwise download its from source # # @param [String] file name # @param [TrueClass|FalseClass] prerelease Is prerelease or not # def read_file(file, prerelease = false) destination = Gemirro.configuration.destination file_dst = File.join(destination, file) unless File.exist?(file_dst) File.write(file_dst, @source.fetch_versions) unless prerelease File.write(file_dst, @source.fetch_prerelease_versions) if prerelease end File.read(file_dst) end end |
Instance Method Details
#fetch ⇒ Gemirro::VersionsFile
23 24 25 26 |
# File 'lib/gemirro/versions_fetcher.rb', line 23 def fetch VersionsFile.load(read_file(Configuration.versions_file), read_file(Configuration.prerelease_versions_file, true)) end |
#read_file(file, prerelease = false) ⇒ Object
Read file if exists otherwise download its from source
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/gemirro/versions_fetcher.rb', line 34 def read_file(file, prerelease = false) destination = Gemirro.configuration.destination file_dst = File.join(destination, file) unless File.exist?(file_dst) File.write(file_dst, @source.fetch_versions) unless prerelease File.write(file_dst, @source.fetch_prerelease_versions) if prerelease end File.read(file_dst) end |