class SonJay::ObjectModel::ContentData

Public Class Methods

new(data = {}) click to toggle source
# File lib/son_jay/object_model/content_data.rb, line 10
def initialize(data = {})
  @data = data.to_hash
end

Public Instance Methods

[](name) click to toggle source
# File lib/son_jay/object_model/content_data.rb, line 26
def [](name)
  name = "#{name}" unless String === name
  @data[name]
end
[]=(name, value) click to toggle source
# File lib/son_jay/object_model/content_data.rb, line 14
def []=(name, value)
  name = "#{name}" unless String === name
  @data[name] = value
end
clone() click to toggle source
Calls superclass method
# File lib/son_jay/object_model/content_data.rb, line 61
def clone
  new_copy = super
  unless new_copy.frozen?
    new_copy.instance_variable_set :@data, @data.clone
  end
  new_copy
end
dup() click to toggle source
# File lib/son_jay/object_model/content_data.rb, line 57
def dup
  self.class.new( @data.dup )
end
fetch(name, *args) { |*args| ... } click to toggle source
# File lib/son_jay/object_model/content_data.rb, line 19
def fetch(name, *args)
  name = "#{name}" unless String === name
  block_given? ?
    @data.fetch(name, *args) { |*args| yield *args } :
    @data.fetch(name, *args)
end
freeze() click to toggle source
Calls superclass method
# File lib/son_jay/object_model/content_data.rb, line 48
def freeze
  @data.freeze
  super
end
hash_merge(other) click to toggle source
# File lib/son_jay/object_model/content_data.rb, line 31
def hash_merge(other)
  @data.dup.tap { |result|
    other.each do |name, value|
      name = "#{name}" unless String === name
      result[name] = value
    end
  }
end
to_h() click to toggle source
# File lib/son_jay/object_model/content_data.rb, line 53
def to_h
  @data.dup
end