Class: SonJay::ObjectModel::ContentData
- Inherits:
-
Object
- Object
- SonJay::ObjectModel::ContentData
- Extended by:
- Forwardable
- Includes:
- Enumerable
- Defined in:
- lib/son_jay/object_model/content_data.rb
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, value) ⇒ Object
- #clone ⇒ Object
- #dup ⇒ Object
- #fetch(name, *args) ⇒ Object
- #freeze ⇒ Object
- #hash_merge(other) ⇒ Object
-
#initialize(data = {}) ⇒ ContentData
constructor
A new instance of ContentData.
- #to_h ⇒ Object
Constructor Details
#initialize(data = {}) ⇒ ContentData
Returns a new instance of ContentData.
10 11 12 |
# File 'lib/son_jay/object_model/content_data.rb', line 10 def initialize(data = {}) @data = data.to_hash end |
Instance Method Details
#[](name) ⇒ Object
26 27 28 29 |
# File 'lib/son_jay/object_model/content_data.rb', line 26 def [](name) name = "#{name}" unless String === name @data[name] end |
#[]=(name, value) ⇒ Object
14 15 16 17 |
# File 'lib/son_jay/object_model/content_data.rb', line 14 def []=(name, value) name = "#{name}" unless String === name @data[name] = value end |
#clone ⇒ Object
61 62 63 64 65 66 67 |
# 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 ⇒ Object
57 58 59 |
# File 'lib/son_jay/object_model/content_data.rb', line 57 def dup self.class.new( @data.dup ) end |
#fetch(name, *args) ⇒ Object
19 20 21 22 23 24 |
# 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 ⇒ Object
48 49 50 51 |
# File 'lib/son_jay/object_model/content_data.rb', line 48 def freeze @data.freeze super end |
#hash_merge(other) ⇒ Object
31 32 33 34 35 36 37 38 |
# 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 ⇒ Object
53 54 55 |
# File 'lib/son_jay/object_model/content_data.rb', line 53 def to_h @data.dup end |