Sha256: d31114f0ebafb6b9978d522ce0a6be4e579a0ae86c4cea26f20b6e4d7222cfea

Contents?: true

Size: 499 Bytes

Versions: 2

Compression:

Stored size: 499 Bytes

Contents

require 'space_object/base'

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

    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

    def object=(object)
      @object = object
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
space_object-0.1.4 lib/space_object/encoder.rb
space_object-0.1.3 lib/space_object/encoder.rb