Module: Reviewed::Embeddable
- Included in:
- Base
- Defined in:
- lib/reviewed/embeddable.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
- .embedded_class(name, opts_name = nil) ⇒ Object
- .embedded_name(name) ⇒ Object
- .included(klass) ⇒ Object
Instance Method Summary collapse
Class Method Details
.embedded_class(name, opts_name = nil) ⇒ Object
10 11 12 13 |
# File 'lib/reviewed/embeddable.rb', line 10 def (name, opts_name=nil) name = opts_name ? opts_name : (name) name.constantize end |
.embedded_name(name) ⇒ Object
15 16 17 |
# File 'lib/reviewed/embeddable.rb', line 15 def (name) ["Reviewed", name.singularize.classify].join("::") end |
.included(klass) ⇒ Object
4 5 6 |
# File 'lib/reviewed/embeddable.rb', line 4 def self.included(klass) klass.extend(Reviewed::Embeddable::ClassMethods) end |
Instance Method Details
#objectify(data) ⇒ Object
20 21 22 23 24 |
# File 'lib/reviewed/embeddable.rb', line 20 def objectify(data) data = objectify_has_many(data) data = objectify_has_one(data) return data end |
#objectify_has_many(json) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/reviewed/embeddable.rb', line 26 def objectify_has_many(json) self.class..each do |map| key, value = [map.keys[0], map.values[0]] if json.has_key?(key) json[key] = json[key].map do |obj| value.new(obj) end end end return json end |
#objectify_has_one(json) ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/reviewed/embeddable.rb', line 39 def objectify_has_one(json) self.class..each do |map| key, value = [map.keys[0], map.values[0]] if json.has_key?(key) json[key] = value.new(json[key]) end end return json end |