Class: CompactIndex::VersionsFile

Inherits:
Object
  • Object
show all
Defined in:
lib/compact_index/versions_file.rb

Instance Method Summary collapse

Constructor Details

#initialize(file = nil) ⇒ VersionsFile

Returns a new instance of VersionsFile.



9
10
11
# File 'lib/compact_index/versions_file.rb', line 9

def initialize(file = nil)
  @path = file || "/versions.list"
end

Instance Method Details

#contents(gems = nil, args = {}) ⇒ Object

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
21
# File 'lib/compact_index/versions_file.rb', line 13

def contents(gems = nil, args = {})
  gems = calculate_info_checksums(gems) if args.delete(:calculate_info_checksums) { false }

  raise ArgumentError, "Unknown options: #{args.keys.join(", ")}" unless args.empty?

  File.read(@path).tap do |out|
    out << gem_lines(gems) if gems
  end
end

#create(gems) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/compact_index/versions_file.rb', line 27

def create(gems)
  gems.sort!

  File.open(@path, "w") do |io|
    io.write "created_at: #{Time.now.iso8601}\n---\n"
    io.write gem_lines(gems)
  end
end

#updated_atObject



23
24
25
# File 'lib/compact_index/versions_file.rb', line 23

def updated_at
  created_at_header(@path) || Time.at(0).to_datetime
end