Sha256: fd3f193177fef8cb3d6bd5267e18958a4f5c320e6abf6875ad2ad18a993a2bac

Contents?: true

Size: 433 Bytes

Versions: 1

Compression:

Stored size: 433 Bytes

Contents

module ConfigMapper

  # Wrap an object to make it look more like a Hash.
  #
  class ObjectAsHash

    def self.[](target)
      if target.is_a?(Hash)
        target
      else
        ObjectAsHash.new(target)
      end
    end

    def initialize(target)
      @target = target
    end

    def [](key)
      @target.public_send(key)
    end

    def []=(key, value)
      @target.public_send("#{key}=", value)
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
config_mapper-1.0.0 lib/config_mapper/object_as_hash.rb