pagarme 1.8 → 1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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