class Gemirro::VersionsFetcher
The VersionsFetcher
class is used for retrieving the file that contains all registered Gems and their versions.
@!attribute [r] source @return [Source]
Attributes
source[R]
Public Class Methods
new(source)
click to toggle source
@param [Source] source
# File lib/gemirro/versions_fetcher.rb, line 17 def initialize(source) @source = source end
Public Instance Methods
fetch()
click to toggle source
@return [Gemirro::VersionsFile]
# File lib/gemirro/versions_fetcher.rb, line 24 def fetch VersionsFile.load(read_file(Configuration.versions_file), read_file(Configuration.prerelease_versions_file, true)) end
read_file(file, prerelease = false)
click to toggle source
Read file if exists otherwise download its from source
@param [String] file name @param [TrueClass|FalseClass] prerelease Is prerelease or not
# File lib/gemirro/versions_fetcher.rb, line 35 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