Class: FabulatorExhibitExtension::Item

Inherits:
Object
  • Object
show all
Defined in:
lib/fabulator_exhibit_extension/database.rb

Instance Method Summary collapse

Constructor Details

#initialize(i) ⇒ Item

Returns a new instance of Item.



149
150
151
152
# File 'lib/fabulator_exhibit_extension/database.rb', line 149

def initialize(i)
  @item = i
  @raw_data = ( JSON.parse(i.data) rescue {} )
end

Instance Method Details

#[](k) ⇒ Object



154
155
156
# File 'lib/fabulator_exhibit_extension/database.rb', line 154

def [](k)
  @raw_data[k]
end

#[]=(k, v) ⇒ Object



158
159
160
161
# File 'lib/fabulator_exhibit_extension/database.rb', line 158

def []=(k,v)
  @raw_data[k] = v
  self.save
end

#delete(k) ⇒ Object



163
164
165
166
# File 'lib/fabulator_exhibit_extension/database.rb', line 163

def delete(k)
  @raw_data.delete(k)
  self.save
end

#each_pair(&block) ⇒ Object



168
169
170
171
172
# File 'lib/fabulator_exhibit_extension/database.rb', line 168

def each_pair(&block)
  @raw_data.each_pair do |k,v|
    yield k,v
  end
end

#merge!(hash) ⇒ Object



174
175
176
177
# File 'lib/fabulator_exhibit_extension/database.rb', line 174

def merge!(hash)
  @raw_data.merge!(hash)
  self.save
end

#saveObject



179
180
181
182
# File 'lib/fabulator_exhibit_extension/database.rb', line 179

def save
  @item.data = @raw_data.to_json
  @item.save
end

#save!Object



184
185
186
187
# File 'lib/fabulator_exhibit_extension/database.rb', line 184

def save!
  @item.data = @raw_data.to_json
  @item.save!
end