Class: PagarMe::Model
Class Method Summary
collapse
Instance Method Summary
collapse
#[], #[]=, build, #each, #initialize, #to_hash, #unsaved_values, #update
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class PagarMe::PagarMeObject
Class Method Details
.all(page = 1, count = 10) ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/pagarme/model.rb', line 51
def self.all(page = 1, count = 10)
raise RequestError.new("Invalid page count") if page < 1 or count < 1
request = PagarMe::Request.new(url, 'GET')
request.parameters = {
:page => page,
:count => count
}
response = request.run
response.map { |obj_response| self.new(obj_response) }
end
|
.class_name ⇒ Object
4
5
6
|
# File 'lib/pagarme/model.rb', line 4
def self.class_name
self.name.split('::')[-1]
end
|
.find_by(hash, page = 1, count = 10) ⇒ Object
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/pagarme/model.rb', line 40
def self.find_by(hash, page = 1, count = 10)
raise RequestError.new("Invalid page count") if page < 1 or count < 1
request = PagarMe::Request.new(self.url, 'GET')
request.parameters = hash
request.parameters.merge!({:page => page, :count => count})
response = request.run
PagarMe::Util.convert_to_pagarme_object(response)
end
|
.url ⇒ Object
8
9
10
11
12
13
|
# File 'lib/pagarme/model.rb', line 8
def self.url()
if self == Model
raise PagarMeError.new('Cant request for model')
end
"/#{CGI.escape(class_name.downcase)}s"
end
|
Instance Method Details
#create ⇒ Object
20
21
22
23
24
25
|
# File 'lib/pagarme/model.rb', line 20
def create
request = PagarMe::Request.new(self.class.url, 'POST')
request.parameters = self.to_hash
response = request.run
update(response)
end
|
#save ⇒ Object
27
28
29
30
31
32
|
# File 'lib/pagarme/model.rb', line 27
def save
request = PagarMe::Request.new(self.url, 'PUT')
request.parameters = self.unsaved_values
response = request.run
update(response)
end
|
#url ⇒ Object
15
16
17
18
|
# File 'lib/pagarme/model.rb', line 15
def url
raise PagarMeError.new("ID invalido", 'id') if !self.id
"#{self.class.url}/#{CGI.escape(id.to_s)}"
end
|