Class: SpaceObject::Encoder

Inherits:
Object show all
Defined in:
lib/space_object/encoder.rb

Instance Method Summary collapse

Constructor Details

#initialize(object, options = {}) ⇒ Encoder

Returns a new instance of Encoder.



5
6
7
8
# File 'lib/space_object/encoder.rb', line 5

def initialize(object, options = {})
  self.object = object
  @as_key = !options.has_key?(:key) || options[:key]
end

Instance Method Details

#encodeObject

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
# File 'lib/space_object/encoder.rb', line 10

def encode
  raise(ArgumentError, "#{@object} is not a Hash") unless @object.is_a?(Hash)
  @object.inject(Base.new) do |space, (key, val)|
    space[key.to_space_key] = val.to_space_value
    space
  end
end

#object=(object) ⇒ Object



18
19
20
# File 'lib/space_object/encoder.rb', line 18

def object=(object)
  @object = object
end