Sha256: da1d651a4fdd1a14c1b291df1a9da63309f9e78b5e484667a13752843911d1a9
Contents?: true
Size: 739 Bytes
Versions: 2
Compression:
Stored size: 739 Bytes
Contents
module GoogleCells class GoogleObject class << self attr_reader :permanent_attributes def define_accessors self.instance_eval do @permanent_attributes.each do |k| define_method(k){ @values[k] } end end end end def initialize(attribs={}) @values = {} self.class.permanent_attributes.each{|a| @values[a] = attribs[a]} extra = attribs.keys - self.class.permanent_attributes extra.each do |a| if self.respond_to?("#{a}=") instance_variable_set("@#{a}".to_sym, attribs[a]) next end raise ArgumentError, "invalid attribute #{a} passed to #{ self.class}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
google-cells-0.4.0 | lib/google_cells/google_object.rb |
google-cells-0.3.0 | lib/google_cells/google_object.rb |