Class: Mondo::Resource

Inherits:
Object
  • Object
show all
Defined in:
lib/api/mondo/resource.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash = {}, client) ⇒ Resource

Returns a new instance of Resource.



6
7
8
9
10
11
# File 'lib/api/mondo/resource.rb', line 6

def initialize(hash={}, client)
  self.raw_data = hash
  self.client = client
  hash.each { |key,val| send("#{key}=", val) if respond_to?("#{key}=") }
  self.to_s
end

Instance Attribute Details

#clientObject

Returns the value of attribute client.



4
5
6
# File 'lib/api/mondo/resource.rb', line 4

def client
  @client
end

#raw_dataObject

Returns the value of attribute raw_data.



4
5
6
# File 'lib/api/mondo/resource.rb', line 4

def raw_data
  @raw_data
end

Class Method Details

.boolean_accessor(*attrs) ⇒ Object



36
37
38
39
# File 'lib/api/mondo/resource.rb', line 36

def boolean_accessor(*attrs)
  attr_accessor(*attrs)
  alias_question(attrs)
end

.boolean_reader(*attrs) ⇒ Object



41
42
43
44
# File 'lib/api/mondo/resource.rb', line 41

def boolean_reader(*attrs)
  attr_reader(*attrs)
  alias_question(attrs)
end

.date_accessor(*args) ⇒ Object



31
32
33
34
# File 'lib/api/mondo/resource.rb', line 31

def date_accessor(*args)
  attr_reader(*args)
  date_writer(*args)
end

.date_writer(*args) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/api/mondo/resource.rb', line 22

def date_writer(*args)
  args.each do |attr|
    define_method("#{attr.to_s}=".to_sym) do |date|
      date = (date.is_a?(String) ? DateTime.parse(date) : date) rescue date
      instance_variable_set("@#{attr}", date)
    end
  end
end

Instance Method Details

#inspectObject



17
18
19
# File 'lib/api/mondo/resource.rb', line 17

def inspect
  self.to_s
end

#to_sObject



13
14
15
# File 'lib/api/mondo/resource.rb', line 13

def to_s
  "#<#{self.class} #{raw_data}>"
end