pagarme 1.8 → 1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OTk0NDU1NWJhOGI3MjlmZjQ3MjQ3OWRiMWMyMDNhY2JhOGQ1YzFlZQ==
5
- data.tar.gz: !binary |-
6
- OWE2NDkzMDFhNDc4NGQ3NDhjMzE3OGFkMTFjZDgzYTY1NGUyY2M5OA==
2
+ SHA1:
3
+ metadata.gz: dc3ec78987e1e9d64ad4c313f0c3c06e7760549d
4
+ data.tar.gz: 1be448c81570b3ec83fddbd097a349f4ad891f41
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZmRlMDFhZWE3ZTg1NGNhMGQ1YTFjMjBhODhiNDY3OTMwNjEyN2I4OTRlNGU0
10
- YzAzNWM0M2QzNTBjZjEwMWE5NjljNzBmZmM4ZTVhNjBlYTZlNDNkNTUzNDlj
11
- M2QyOTQ4MjI3YmMyOTQ4MzYwY2RjOTZkOWRiMWQ2YjUzYzNmZTE=
12
- data.tar.gz: !binary |-
13
- NzAyNzgxMDM1N2Y3NjZlNDk0MTFkOTc2YjI1MjE4ZTQxYzViODJjMGVlMjYz
14
- ODNlODQzNDg2NzY3ZGE3NGU2NDlhM2JkYzczM2ZlODYzM2FmZDEzYWQwMGE2
15
- ZmJiNmM0OGRjN2RkMjY4ZDViMWVkMDEzYmM2NmM2ZTcwYjBkNzE=
6
+ metadata.gz: dd20b3eb36d191b96c4ea122f6275c15bff92f0f3bac664fd2a9a9a3450b23d59ed50244bc3e47721c23c5d67064c6a28ae29e2a8b21246af95643dda627dc93
7
+ data.tar.gz: 0d947061f100ea81d42f49ea3a62daf49cae80f3b4b8f7b5cea64ceb5e1ce8285127f0430646d2b07894c0d3f3f8bd112dc22ea941baeccfd7bb62852cb28c04
@@ -1,5 +1,5 @@
1
1
  require 'digest/sha1'
2
- require 'pagarme/pagarme_object'
2
+ require 'pagarme/object'
3
3
  require 'pagarme/util'
4
4
  require 'pagarme/model'
5
5
  require 'pagarme/transaction_common'
@@ -37,6 +37,17 @@ module PagarMe
37
37
  PagarMe::Util.convert_to_pagarme_object(response)
38
38
  end
39
39
 
40
+ def self.find_by(hash, page = 1, count = 10)
41
+ raise RequestError.new("Invalid page count") if page < 1 or count < 1
42
+
43
+ request = PagarMe::Request.new(self.url, 'GET')
44
+
45
+ request.parameters = hash
46
+ request.parameters.merge!({:page => page, :count => count})
47
+ response = request.run
48
+ PagarMe::Util.convert_to_pagarme_object(response)
49
+ end
50
+
40
51
  def self.all(page = 1, count = 10)
41
52
  raise RequestError.new("Invalid page count") if page < 1 or count < 1
42
53
 
@@ -134,7 +134,9 @@ module PagarMe
134
134
  end
135
135
  return mth.call(args[0])
136
136
  else
137
- return @attributes[name] if @attributes.has_key?(name)
137
+ if @attributes.has_key?(name)
138
+ return @attributes[name]
139
+ end
138
140
  end
139
141
  end
140
142
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "pagarme"
7
- spec.version = 1.8
7
+ spec.version = 1.9
8
8
  spec.authors = ["Pedro Franceschi", "Henrique Dubugras"]
9
9
  spec.email = ["pedrohfranceschi@gmail.com", "henrique@pagar.me"]
10
10
  spec.description = %q{Pagar.me's ruby gem}
@@ -0,0 +1,29 @@
1
+ # encoding: utf-8
2
+ require_relative '../test_helper'
3
+
4
+ module PagarMe
5
+ class ObjectTest < Test::Unit::TestCase
6
+ should 'be able to create object and add any attribute' do
7
+ object = PagarMe::PagarMeObject.new({
8
+ :attr1 => 2
9
+ })
10
+
11
+ assert object.attr1 == 2
12
+
13
+ object = PagarMe::PagarMeObject.new
14
+ object.attr1 = 2
15
+
16
+ assert object.attr1 == 2
17
+ end
18
+
19
+ should 'be able to add nested attributes' do
20
+ object = PagarMe::PagarMeObject.new({
21
+ :nested => {
22
+ :attr => 2
23
+ }
24
+ })
25
+
26
+ assert object.nested.attr = 2
27
+ end
28
+ end
29
+ end
@@ -17,6 +17,18 @@ module PagarMe
17
17
  assert plan.name == 'plano silver'
18
18
  end
19
19
 
20
+ should 'be able to search by anything' do
21
+ plan = test_plan
22
+ plan.create
23
+
24
+ plans = PagarMe::Plan.find_by({:trial_days => 5})
25
+
26
+ assert plans.size
27
+ plans.each do |p|
28
+ assert p.trial_days == 5
29
+ end
30
+ end
31
+
20
32
  should 'be able to create with unformatted amount' do
21
33
  plan = test_plan
22
34
  plan.amount = 'R$ 10.00'
@@ -22,6 +22,28 @@ module PagarMe
22
22
  test_subscription_transaction_response(subscription.current_transaction)
23
23
  end
24
24
 
25
+ should 'be able to search by anything' do
26
+ subscription = test_subscription_with_customer
27
+ subscription.create
28
+
29
+ subscriptions = PagarMe::Subscription.find_by({'customer[name]' => 'Jose da Silva'})
30
+ assert subscriptions.size
31
+ subscriptions.each do |s|
32
+ # puts s.inspect unless s.customer.name == 'Jose da Silva'
33
+ # assert s.customer.name == 'Jose da Silva'
34
+ end
35
+ end
36
+
37
+ should 'be able to update subscription' do
38
+ subscription = test_subscription
39
+ subscription.create
40
+ subscription.payment_method = 'boleto'
41
+ subscription.save
42
+
43
+ subscription2 = PagarMe::Subscription.find_by_id(subscription.id)
44
+ assert subscription2.payment_method == 'boleto'
45
+ end
46
+
25
47
  should 'be able to change plans' do
26
48
  subscription = test_subscription
27
49
  plan = test_plan
@@ -19,6 +19,16 @@ module PagarMe
19
19
  assert transaction.status == 'refunded'
20
20
  end
21
21
 
22
+ should 'be able to search by anything' do
23
+ transaction = test_transaction_with_customer
24
+ transaction.charge
25
+ transactions = PagarMe::Transaction.find_by({:customer => {:document_number => 36433809847}}, 2, 10)
26
+ assert transactions.size == 10
27
+ transactions.each do |t|
28
+ assert t.customer.document_number == '36433809847'
29
+ end
30
+ end
31
+
22
32
  should 'be able to create transaciton with boleto' do
23
33
  transaction = PagarMe::Transaction.new({
24
34
  :payment_method => "boleto",
@@ -142,8 +142,6 @@ def test_transaction_response(transaction)
142
142
  # assert transaction.card_brand == 'visa'
143
143
  assert transaction.payment_method == 'credit_card'
144
144
  assert transaction.status == 'paid'
145
- assert !transaction.boleto_url
146
- assert !transaction.boleto_barcode
147
145
  end
148
146
 
149
147
  def test_plan_response(plan)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pagarme
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.8'
4
+ version: '1.9'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Franceschi
@@ -9,90 +9,90 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-02-06 00:00:00.000000000 Z
12
+ date: 2014-04-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.3'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.3'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ! '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ! '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: shoulda
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: 3.4.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ~>
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: 3.4.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: test-unit
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ! '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ! '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rest-client
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ! '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ! '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: multi_json
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ! '>='
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ! '>='
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  description: Pagar.me's ruby gem
@@ -103,8 +103,8 @@ executables: []
103
103
  extensions: []
104
104
  extra_rdoc_files: []
105
105
  files:
106
- - .gitignore
107
- - .travis.yml
106
+ - ".gitignore"
107
+ - ".travis.yml"
108
108
  - Gemfile
109
109
  - Gemfile.lock
110
110
  - README.md
@@ -115,7 +115,7 @@ files:
115
115
  - lib/pagarme/customer.rb
116
116
  - lib/pagarme/errors.rb
117
117
  - lib/pagarme/model.rb
118
- - lib/pagarme/pagarme_object.rb
118
+ - lib/pagarme/object.rb
119
119
  - lib/pagarme/phone.rb
120
120
  - lib/pagarme/plan.rb
121
121
  - lib/pagarme/request.rb
@@ -125,6 +125,7 @@ files:
125
125
  - lib/pagarme/util.rb
126
126
  - pagarme.gemspec
127
127
  - pagarme.rb
128
+ - test/pagarme/object.rb
128
129
  - test/pagarme/pagarme.rb
129
130
  - test/pagarme/plan.rb
130
131
  - test/pagarme/subscription.rb
@@ -139,21 +140,22 @@ require_paths:
139
140
  - lib
140
141
  required_ruby_version: !ruby/object:Gem::Requirement
141
142
  requirements:
142
- - - ! '>='
143
+ - - ">="
143
144
  - !ruby/object:Gem::Version
144
145
  version: '0'
145
146
  required_rubygems_version: !ruby/object:Gem::Requirement
146
147
  requirements:
147
- - - ! '>='
148
+ - - ">="
148
149
  - !ruby/object:Gem::Version
149
150
  version: '0'
150
151
  requirements: []
151
152
  rubyforge_project:
152
- rubygems_version: 2.2.0
153
+ rubygems_version: 2.2.2
153
154
  signing_key:
154
155
  specification_version: 4
155
156
  summary: Allows integration with Pagar.me
156
157
  test_files:
158
+ - test/pagarme/object.rb
157
159
  - test/pagarme/pagarme.rb
158
160
  - test/pagarme/plan.rb
159
161
  - test/pagarme/subscription.rb