Class: Hyrb::Models::Struct

Inherits:
Hyrb::Model show all
Defined in:
lib/hyrb/model.rb

Instance Attribute Summary

Attributes inherited from Hyrb::Model

#data, #path

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Hyrb::Model

#filepath, #load_config_file, #reload!, #save!

Constructor Details

#initialize(path) ⇒ Struct

Returns a new instance of Struct.



72
73
74
75
# File 'lib/hyrb/model.rb', line 72

def initialize(path)
  super
  self.class.keys.each { |key| @data[key] ||= nil }
end

Class Method Details

.define_keys(keys) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
# File 'lib/hyrb/model.rb', line 60

def self.define_keys(keys)
  @keys = keys.each do |key|
    define_method key do
      @data[key]
    end

    define_method "#{key}=" do |val|
      @data[key] = val
    end
  end
end

.keysObject



56
57
58
# File 'lib/hyrb/model.rb', line 56

def self.keys
  @keys
end

Instance Method Details

#[](key) ⇒ Object



77
78
79
# File 'lib/hyrb/model.rb', line 77

def [](key)
  @data[key]
end

#[]=(key, val) ⇒ Object



81
82
83
# File 'lib/hyrb/model.rb', line 81

def []=(key, val)
  @data[key] = val
end