Module: ThreeScale::Core::APIClient::Attributes::ClassMethods

Defined in:
lib/3scale/core/api_client/attributes.rb

Constant Summary collapse

TIME_ATTRIBUTES =
[:timestamp]

Instance Method Summary collapse

Instance Method Details

#attributes(*attributes) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/3scale/core/api_client/attributes.rb', line 40

def attributes(*attributes)
  return @attributes if attributes.empty?
  attributes.each do |attr|
    attr_reader attr
    define_method "#{attr}=" do |val|
      self.dirty = true
      val = Time.parse(val) if TIME_ATTRIBUTES.include? attr.to_sym
      instance_variable_set "@#{attr}", val
    end
  end
  @attributes = attributes
end