lib/bagit/info.rb in bagit-0.4.3 vs lib/bagit/info.rb in bagit-0.4.4
- old
+ new
@@ -1,29 +1,31 @@
-require 'set'
+# frozen_string_literal: true
+require "set"
+
module BagIt
module Info
@@bag_info_headers = {
- agent: 'Bag-Software-Agent',
- org: 'Source-Organization',
- org_addr: 'Organization-Address',
- contact_name: 'Contact-Name',
- contact_phone: 'Contact-Phone',
- contact_email: 'Contact-Email',
- ext_desc: 'External-Description',
- ext_id: 'External-Identifier',
- size: 'Bag-Size',
- group_id: 'Bag-Group-Identifier',
- group_count: 'Bag-Count',
- sender_id: 'Internal-Sender-Identifier',
- int_desc: 'Internal-Sender-Description',
- date: 'Bagging-Date',
- oxum: 'Payload-Oxum'
+ agent: "Bag-Software-Agent",
+ org: "Source-Organization",
+ org_addr: "Organization-Address",
+ contact_name: "Contact-Name",
+ contact_phone: "Contact-Phone",
+ contact_email: "Contact-Email",
+ ext_desc: "External-Description",
+ ext_id: "External-Identifier",
+ size: "Bag-Size",
+ group_id: "Bag-Group-Identifier",
+ group_count: "Bag-Count",
+ sender_id: "Internal-Sender-Identifier",
+ int_desc: "Internal-Sender-Description",
+ date: "Bagging-Date",
+ oxum: "Payload-Oxum"
}
def bag_info_txt_file
- File.join bag_dir, 'bag-info.txt'
+ File.join bag_dir, "bag-info.txt"
end
def bag_info
read_info_file bag_info_txt_file
rescue
@@ -31,17 +33,17 @@
end
def write_bag_info(hash = {})
hash = bag_info.merge(hash)
hash[@@bag_info_headers[:agent]] = "BagIt Ruby Gem (https://github.com/tipr/bagit)" if hash[@@bag_info_headers[:agent]].nil?
- hash[@@bag_info_headers[:date]] = Date.today.strftime('%Y-%m-%d') if hash[@@bag_info_headers[:date]].nil?
+ hash[@@bag_info_headers[:date]] = Date.today.strftime("%Y-%m-%d") if hash[@@bag_info_headers[:date]].nil?
hash[@@bag_info_headers[:oxum]] = payload_oxum
write_info_file bag_info_txt_file, hash
end
def bagit_txt_file
- File.join bag_dir, 'bagit.txt'
+ File.join bag_dir, "bagit.txt"
end
def bagit
read_info_file bagit_txt_file
end
@@ -49,46 +51,46 @@
def write_bagit(hash)
write_info_file bagit_txt_file, hash
end
def update_bag_date
- hash["Bagging-Date"] = Date.today.strftime('%Y-%m-%d')
+ hash["Bagging-Date"] = Date.today.strftime("%Y-%m-%d")
write_bag_info(hash)
end
protected
- def read_info_file(file)
- File.open(file) do |io|
- entries = io.read.split(/\n(?=[^\s])/)
+ def read_info_file(file)
+ File.open(file) do |io|
+ entries = io.read.split(/\n(?=[^\s])/)
- entries.inject({}) do |hash, line|
- name, value = line.chomp.split(/\s*:\s*/, 2)
- hash.merge(name => value)
- end
+ entries.inject({}) do |hash, line|
+ name, value = line.chomp.split(/\s*:\s*/, 2)
+ hash.merge(name => value)
end
end
+ end
- def write_info_file(file, hash)
- dups = hash.keys.inject(Set.new) do |acc, key|
- a = hash.keys.grep(/#{key}/i)
- acc + (a.size > 1 ? a : [])
- end
+ def write_info_file(file, hash)
+ dups = hash.keys.inject(Set.new) { |acc, key|
+ a = hash.keys.grep(/#{key}/i)
+ acc + (a.size > 1 ? a : [])
+ }
- raise "Multiple labels (#{dups.to_a.join ', '}) in #{file}" unless dups.empty?
+ raise "Multiple labels (#{dups.to_a.join ", "}) in #{file}" unless dups.empty?
- File.open(file, 'w') do |io|
- hash.each do |name, value|
- simple_entry = "#{name}: #{value.gsub(/\s+/, ' ')}"
+ File.open(file, "w") do |io|
+ hash.each do |name, value|
+ simple_entry = "#{name}: #{value.gsub(/\s+/, " ")}"
- entry = if simple_entry.length > 79
- simple_entry.wrap(77).indent(2)
- else
- simple_entry
- end
-
- io.puts entry
+ entry = if simple_entry.length > 79
+ simple_entry.wrap(77).indent(2)
+ else
+ simple_entry
end
+
+ io.puts entry
end
end
+ end
end
end