class SonJay::ObjectModel::Content::ContentWithExtra
Public Instance Methods
clone()
click to toggle source
Calls superclass method
SonJay::ObjectModel::Content::Abstract#clone
# File lib/son_jay/object_model/content/content_with_extra.rb, line 32 def clone new_copy = super if (defined? @extra) && (! new_copy.frozen?) p new_copy.frozen? new_copy.instance_variable_set :@extra, @extra.clone end new_copy end
dup()
click to toggle source
Calls superclass method
SonJay::ObjectModel::Content::Abstract#dup
# File lib/son_jay/object_model/content/content_with_extra.rb, line 26 def dup new_copy = super new_copy.instance_variable_set :@extra, @extra.dup if defined? @extra new_copy end
each() { |name, value| ... }
click to toggle source
# File lib/son_jay/object_model/content/content_with_extra.rb, line 11 def each @data.each do |(name, value)| yield name, value end @extra.each do |(name, value)| yield name, value end end
extra()
click to toggle source
# File lib/son_jay/object_model/content/content_with_extra.rb, line 7 def extra @extra ||= ObjectModel::ContentData.new end
freeze()
click to toggle source
Calls superclass method
SonJay::ObjectModel::Content::Abstract#freeze
# File lib/son_jay/object_model/content/content_with_extra.rb, line 20 def freeze super @extra.freeze self end
to_h()
click to toggle source
# File lib/son_jay/object_model/content/content_with_extra.rb, line 41 def to_h extra.empty? ? @data.dup : extra.hash_merge( @data ) end
Private Instance Methods
hash_for_json()
click to toggle source
# File lib/son_jay/object_model/content/content_with_extra.rb, line 53 def hash_for_json extra.empty? ? @data : extra.hash_merge( @data ) end
load_extra_property(name_string, value)
click to toggle source
# File lib/son_jay/object_model/content/content_with_extra.rb, line 49 def load_extra_property(name_string, value) extra[ name_string ] = value end