Class: Flintlock::Metadata
- Inherits:
-
Object
- Object
- Flintlock::Metadata
- Defined in:
- lib/flintlock/metadata.rb
Instance Attribute Summary collapse
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
Class Method Summary collapse
Instance Method Summary collapse
- #author ⇒ Object
- #default_metadata_file ⇒ Object
- #full_name ⇒ Object
-
#initialize(filename = nil) ⇒ Metadata
constructor
A new instance of Metadata.
- #name ⇒ Object
- #package_name ⇒ Object
- #valid? ⇒ Boolean
- #version ⇒ Object
Constructor Details
#initialize(filename = nil) ⇒ Metadata
Returns a new instance of Metadata.
7 8 9 10 |
# File 'lib/flintlock/metadata.rb', line 7 def initialize(filename = nil) @filename = filename || @data = Metadata.load(@filename) end |
Instance Attribute Details
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
5 6 7 |
# File 'lib/flintlock/metadata.rb', line 5 def filename @filename end |
Class Method Details
.empty ⇒ Object
53 54 55 |
# File 'lib/flintlock/metadata.rb', line 53 def self.empty {"author" => "", "version" => "", "name" => ""}.to_json end |
.filename ⇒ Object
12 13 14 |
# File 'lib/flintlock/metadata.rb', line 12 def self.filename 'metadata.json' end |
.load(filename) ⇒ Object
29 30 31 |
# File 'lib/flintlock/metadata.rb', line 29 def self.load(filename) JSON.load(File.read(filename)) end |
Instance Method Details
#author ⇒ Object
33 34 35 |
# File 'lib/flintlock/metadata.rb', line 33 def @data.fetch('author') end |
#default_metadata_file ⇒ Object
25 26 27 |
# File 'lib/flintlock/metadata.rb', line 25 def File.join(Dir.pwd, Metadata.filename) end |
#full_name ⇒ Object
45 46 47 |
# File 'lib/flintlock/metadata.rb', line 45 def full_name "#{author}/#{name} (#{version})" end |
#name ⇒ Object
41 42 43 |
# File 'lib/flintlock/metadata.rb', line 41 def name @data.fetch('name') end |
#package_name ⇒ Object
49 50 51 |
# File 'lib/flintlock/metadata.rb', line 49 def package_name "#{author}-#{name}-#{version}" end |
#valid? ⇒ Boolean
16 17 18 19 20 21 22 23 |
# File 'lib/flintlock/metadata.rb', line 16 def valid? begin result = ! [, version, name].map(&:empty?).any? rescue result = false end return result end |
#version ⇒ Object
37 38 39 |
# File 'lib/flintlock/metadata.rb', line 37 def version @data.fetch('version') end |