Module: Yoda::Store::Objects::Serializable
- Included in:
- Base, ProjectStatus, ProjectStatus::BundleStatus, ProjectStatus::GemStatus, ProjectStatus::StdStatus
- Defined in:
- lib/yoda/store/objects/serializable.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
-
#derive(params = {}) ⇒ Object
Create a new instance which has the original parameters and overrided parameters.
- #to_h ⇒ Hash abstract
- #to_json(*options) ⇒ String
Class Method Details
.included(klass) ⇒ Object
16 17 18 |
# File 'lib/yoda/store/objects/serializable.rb', line 16 def self.included(klass) klass.extend(ClassMethods) end |
Instance Method Details
#derive(params = {}) ⇒ Object
Create a new instance which has the original parameters and overrided parameters.
33 34 35 |
# File 'lib/yoda/store/objects/serializable.rb', line 33 def derive(params = {}) self.class.new(to_h.merge(params)) end |
#to_h ⇒ Hash
This method is abstract.
22 23 24 |
# File 'lib/yoda/store/objects/serializable.rb', line 22 def to_h fail NotImplementedError end |
#to_json(*options) ⇒ String
27 28 29 |
# File 'lib/yoda/store/objects/serializable.rb', line 27 def to_json(*) to_h.merge(json_class: self.class.name).to_json end |