Class: Mousetrap::Resource

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/mousetrap/resource.rb

Direct Known Subclasses

Customer, Plan, Subscription

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash = {}) ⇒ Resource

Returns a new instance of Resource.



7
8
9
10
11
# File 'lib/mousetrap/resource.rb', line 7

def initialize(hash={})
  hash.each do |key, value|
    self.send("#{key}=", value)
  end
end

Class Method Details

.[](code) ⇒ Object



13
14
15
16
# File 'lib/mousetrap/resource.rb', line 13

def self.[](code)
  response = get_resource plural_resource_name, code
  build_resource_from response
end

.create(attributes = {}) ⇒ Object

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/mousetrap/resource.rb', line 18

def self.create(attributes = {})
  raise NotImplementedError, NO_BUSINESS_NEED
end

.delete(code) ⇒ Object

Raises:

  • (NotImplementedError)


22
23
24
# File 'lib/mousetrap/resource.rb', line 22

def self.delete(code)
  raise NotImplementedError, NO_BUSINESS_NEED
end

.destroy_allObject



26
27
28
# File 'lib/mousetrap/resource.rb', line 26

def self.destroy_all
  all.each { |object| object.destroy }
end

.exists?(code) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


30
31
32
# File 'lib/mousetrap/resource.rb', line 30

def self.exists?(code)
  raise NotImplementedError, NO_BUSINESS_NEED
end

.new_from_api(attributes) ⇒ Object



48
49
50
# File 'lib/mousetrap/resource.rb', line 48

def self.new_from_api(attributes)
  new(attributes_from_api(attributes))
end

Instance Method Details

#destroyObject



34
35
36
# File 'lib/mousetrap/resource.rb', line 34

def destroy
  member_action 'delete' unless new_record?
end

#exists?(code) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


38
39
40
# File 'lib/mousetrap/resource.rb', line 38

def exists?(code)
  raise NotImplementedError, NO_BUSINESS_NEED
end

#new?Boolean Also known as: new_record?

Returns:

  • (Boolean)


42
43
44
# File 'lib/mousetrap/resource.rb', line 42

def new?
  id.nil?
end

#saveObject

Raises:

  • (NotImplementedError)


52
53
54
# File 'lib/mousetrap/resource.rb', line 52

def save
  raise NotImplementedError, NO_BUSINESS_NEED
end