class Nvlope::Model
Attributes
nvlope[R]
raw[R]
Public Class Methods
key_to_method_name(key)
click to toggle source
# File lib/nvlope/model.rb, line 3 def self.key_to_method_name key key.downcase.gsub('-','_') end
keys(*keys)
click to toggle source
# File lib/nvlope/model.rb, line 7 def self.keys *keys @keys ||= Set[] keys = keys.flatten.map(&:to_s).to_set keys.each do |key| define_method(key_to_method_name(key)){ raw[key] } end @keys += keys @keys + (superclass.respond_to?(:keys) ? superclass.keys : Set[]) end
new(nvlope, raw={})
click to toggle source
# File lib/nvlope/model.rb, line 17 def initialize nvlope, raw={} @nvlope, @raw = nvlope, raw end
Public Instance Methods
[](key)
click to toggle source
# File lib/nvlope/model.rb, line 28 def [] key raw[key.to_s] end
inspect()
click to toggle source
# File lib/nvlope/model.rb, line 32 def inspect values = to_hash.map{|k,v| "#{k}: #{v.inspect}" }.join(', ') %(#<#{self.class} #{values}>) end
to_hash()
click to toggle source
# File lib/nvlope/model.rb, line 22 def to_hash self.class.keys.inject({}) do |hash, key| hash.update key => send(Nvlope::Model.key_to_method_name(key)) end end