Class: FixtureBackground::IVars
- Inherits:
-
Object
- Object
- FixtureBackground::IVars
- Defined in:
- lib/fixture_background/ivars.rb
Class Method Summary collapse
Class Method Details
.deserialize(value) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/fixture_background/ivars.rb', line 22 def deserialize(value) case value when Hash value.inject({}) do |memo, (key, v)| memo[key] = deserialize(v) memo end when Array value.map { |v| deserialize(v) } when String klass, id = value.split("#") klass.constantize.find(id) end end |
.serialize(value) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/fixture_background/ivars.rb', line 4 def serialize(value) case value when Hash value.inject({}) do |memo, (key, v)| memo[key] = serialize(v) memo end when Array value.map { |v| serialize(v) } else if value.class.respond_to?(:find) && value.respond_to?(:id) "#{value.class.name}##{value.id}" else raise ArgumentError end end end |