ecommerce-client 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +31 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +29 -0
  7. data/Rakefile +5 -0
  8. data/ecommerce-client.gemspec +29 -0
  9. data/lib/ecommerce.rb +25 -0
  10. data/lib/ecommerce/attribute_handler.rb +51 -0
  11. data/lib/ecommerce/client.rb +45 -0
  12. data/lib/ecommerce/configuration.rb +14 -0
  13. data/lib/ecommerce/exception.rb +11 -0
  14. data/lib/ecommerce/request.rb +49 -0
  15. data/lib/ecommerce/resources/base.rb +28 -0
  16. data/lib/ecommerce/resources/order.rb +91 -0
  17. data/lib/ecommerce/resources/order_collection.rb +62 -0
  18. data/lib/ecommerce/response.rb +34 -0
  19. data/lib/ecommerce/version.rb +3 -0
  20. data/spec/ecommerce/attribute_handler_spec.rb +54 -0
  21. data/spec/ecommerce/client_spec.rb +26 -0
  22. data/spec/ecommerce/configuration_spec.rb +21 -0
  23. data/spec/ecommerce/request_spec.rb +23 -0
  24. data/spec/ecommerce/resources/order_collection_spec.rb +82 -0
  25. data/spec/ecommerce/resources/order_spec.rb +155 -0
  26. data/spec/ecommerce/response_spec.rb +35 -0
  27. data/spec/ecommerce_spec.rb +48 -0
  28. data/spec/spec_helper.rb +24 -0
  29. data/spec/support/vcr.rb +7 -0
  30. data/spec/vcr_cassettes/Ecommerce/Resources_Order_create_when_success_returns_body.yml +64 -0
  31. data/spec/vcr_cassettes/Ecommerce/Resources_Order_create_when_success_when_sending_not_all_required_parameters_raises_.yml +46 -0
  32. data/spec/vcr_cassettes/Ecommerce/Resources_Order_destroy_when_not_found_raises_NotFound.yml +46 -0
  33. data/spec/vcr_cassettes/Ecommerce/Resources_Order_destroy_when_success_returns_empty_body.yml +48 -0
  34. data/spec/vcr_cassettes/Ecommerce/Resources_Order_find_all_when_not_found_raises_NotFound.yml +46 -0
  35. data/spec/vcr_cassettes/Ecommerce/Resources_Order_find_all_when_success_returns_a_find_all_of_orders.yml +99 -0
  36. data/spec/vcr_cassettes/Ecommerce/Resources_Order_find_when_not_found_raises_NotFound.yml +46 -0
  37. data/spec/vcr_cassettes/Ecommerce/Resources_Order_find_when_success_returns_order_object.yml +58 -0
  38. data/spec/vcr_cassettes/client/authenticated/false.yml +47 -0
  39. data/spec/vcr_cassettes/client/authenticated/true.yml +56 -0
  40. data/tasks/rspec.rake +2 -0
  41. metadata +206 -0
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/2609/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: NOT FOUND
22
+ headers:
23
+ Allow:
24
+ - GET, PUT, DELETE, HEAD, OPTIONS
25
+ Content-Language:
26
+ - pt-br
27
+ Content-Type:
28
+ - application/json
29
+ Date:
30
+ - Thu, 26 Mar 2015 17:26:01 GMT
31
+ Server:
32
+ - nginx/1.6.2
33
+ Vary:
34
+ - Authenticate, Accept, Accept-Language, Cookie
35
+ Content-Length:
36
+ - '0'
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: ''
42
+ http_version: '1.1'
43
+ adapter_metadata:
44
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/wrong-slug/2609/
45
+ recorded_at: Thu, 26 Mar 2015 17:26:01 GMT
46
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,58 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Allow:
24
+ - GET, PUT, DELETE, HEAD, OPTIONS
25
+ Content-Language:
26
+ - pt-br
27
+ Content-Type:
28
+ - application/json
29
+ Date:
30
+ - Thu, 26 Mar 2015 17:23:09 GMT
31
+ ETag:
32
+ - '"-1805244963468732435"'
33
+ Server:
34
+ - nginx/1.6.2
35
+ Vary:
36
+ - Authenticate, Accept, Accept-Language, Cookie
37
+ transfer-encoding:
38
+ - chunked
39
+ Connection:
40
+ - keep-alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"is_paid": false, "address_number": null, "plan_change_urls": {},
44
+ "activation_expired": false, "number": 2609, "address_state": null, "global_account":
45
+ "e5732007-7989-4372-8e72-9ec8cf6ee046", "api_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/",
46
+ "is_trial": false, "document_number": null, "checkout_url": "http://sandbox.ecommerce.myfreecomm.com.br/rexpense-custom-monthly-brl-5250/2609/checkout/",
47
+ "active_until": null, "charge_day": 25, "address_quarter": null, "activated_at":
48
+ null, "is_active": false, "user_code": "", "address": null, "is_recurring":
49
+ true, "address_city": null, "plan_slug": "rexpense-custom-monthly-brl-5250",
50
+ "address_complement": null, "discounts_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/discounts/",
51
+ "created_at": "2015-03-25 17:55:32", "adjustments_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/adjustments/",
52
+ "next_payment_at": null, "amount": "52.50", "client_email": "jaime.lannister@mailinator.com",
53
+ "zip_code": null, "client_name": "", "invoices_url": "http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/invoices/"}'
54
+ http_version: '1.1'
55
+ adapter_metadata:
56
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/2609/
57
+ recorded_at: Thu, 26 Mar 2015 17:23:09 GMT
58
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic RkFLRS1UT0tFTjpGQUtFLVNFQ1JFVA==
18
+ response:
19
+ status:
20
+ code: 403
21
+ message: FORBIDDEN
22
+ headers:
23
+ Allow:
24
+ - GET, POST, HEAD, OPTIONS
25
+ Content-Language:
26
+ - pt-br
27
+ Content-Type:
28
+ - application/json
29
+ Date:
30
+ - Wed, 25 Mar 2015 19:03:42 GMT
31
+ Server:
32
+ - nginx/1.6.2
33
+ Vary:
34
+ - Authenticate, Accept, Accept-Language, Cookie
35
+ Content-Length:
36
+ - '126'
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"detail": "You do not have permission to access this resource. You
42
+ may need to login or otherwise authenticate the request."}'
43
+ http_version: '1.1'
44
+ adapter_metadata:
45
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
46
+ recorded_at: Wed, 25 Mar 2015 19:03:42 GMT
47
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Ecommerce Ruby Client v0.0.1
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Authorization:
17
+ - Basic cDlhWXNSU0l2TTo0MWUxMzc2OGI0N2Q1NTM0MTdiNDQxYjg2M2Jh
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Allow:
24
+ - GET, POST, HEAD, OPTIONS
25
+ Cache-Control:
26
+ - no-cache
27
+ Cache-Timeout:
28
+ - "-1"
29
+ Content-Language:
30
+ - pt-br
31
+ Content-Type:
32
+ - application/json
33
+ Date:
34
+ - Wed, 25 Mar 2015 19:03:42 GMT
35
+ Expires:
36
+ - Wed, 25 Mar 2015 16:03:42
37
+ Link:
38
+ - "<http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/?page=1>;
39
+ rel=last, <http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/?page=1>;
40
+ rel=first"
41
+ Server:
42
+ - nginx/1.6.2
43
+ Vary:
44
+ - Authenticate, Accept, Accept-Language, Cookie
45
+ Content-Length:
46
+ - '2'
47
+ Connection:
48
+ - keep-alive
49
+ body:
50
+ encoding: UTF-8
51
+ string: "[]"
52
+ http_version: '1.1'
53
+ adapter_metadata:
54
+ effective_url: http://sandbox.ecommerce.myfreecomm.com.br/api/orders/rexpense-custom-monthly-brl-5250/
55
+ recorded_at: Wed, 25 Mar 2015 19:03:42 GMT
56
+ recorded_with: VCR 2.9.3
data/tasks/rspec.rake ADDED
@@ -0,0 +1,2 @@
1
+ require 'rspec/core/rake_task'
2
+ RSpec::Core::RakeTask.new(:spec)
metadata ADDED
@@ -0,0 +1,206 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecommerce-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Rafael B. Tauil
8
+ - Eduardo Hertz
9
+ - Rodrigo Tassinari
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2015-03-27 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: typhoeus
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: 0.7.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: 0.7.1
29
+ - !ruby/object:Gem::Dependency
30
+ name: multi_json
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '1.11'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.11'
43
+ - !ruby/object:Gem::Dependency
44
+ name: bundler
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.7'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.7'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rake
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '10.0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '10.0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: rspec
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '3.2'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '3.2'
85
+ - !ruby/object:Gem::Dependency
86
+ name: pry
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '0.10'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: '0.10'
99
+ - !ruby/object:Gem::Dependency
100
+ name: vcr
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '2.9'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: '2.9'
113
+ description: Official Ruby client for Myfreecomm's Ecommerce API. Ecommerce is a solution
114
+ to control payments for your products.
115
+ email:
116
+ - rafael@tauil.com.br
117
+ - eduardohertz@gmail.com
118
+ - rodrigo@pittlandia.net
119
+ executables: []
120
+ extensions: []
121
+ extra_rdoc_files: []
122
+ files:
123
+ - ".gitignore"
124
+ - ".rspec"
125
+ - Gemfile
126
+ - LICENSE.txt
127
+ - README.md
128
+ - Rakefile
129
+ - ecommerce-client.gemspec
130
+ - lib/ecommerce.rb
131
+ - lib/ecommerce/attribute_handler.rb
132
+ - lib/ecommerce/client.rb
133
+ - lib/ecommerce/configuration.rb
134
+ - lib/ecommerce/exception.rb
135
+ - lib/ecommerce/request.rb
136
+ - lib/ecommerce/resources/base.rb
137
+ - lib/ecommerce/resources/order.rb
138
+ - lib/ecommerce/resources/order_collection.rb
139
+ - lib/ecommerce/response.rb
140
+ - lib/ecommerce/version.rb
141
+ - spec/ecommerce/attribute_handler_spec.rb
142
+ - spec/ecommerce/client_spec.rb
143
+ - spec/ecommerce/configuration_spec.rb
144
+ - spec/ecommerce/request_spec.rb
145
+ - spec/ecommerce/resources/order_collection_spec.rb
146
+ - spec/ecommerce/resources/order_spec.rb
147
+ - spec/ecommerce/response_spec.rb
148
+ - spec/ecommerce_spec.rb
149
+ - spec/spec_helper.rb
150
+ - spec/support/vcr.rb
151
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_create_when_success_returns_body.yml
152
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_create_when_success_when_sending_not_all_required_parameters_raises_.yml
153
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_destroy_when_not_found_raises_NotFound.yml
154
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_destroy_when_success_returns_empty_body.yml
155
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_find_all_when_not_found_raises_NotFound.yml
156
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_find_all_when_success_returns_a_find_all_of_orders.yml
157
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_find_when_not_found_raises_NotFound.yml
158
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_find_when_success_returns_order_object.yml
159
+ - spec/vcr_cassettes/client/authenticated/false.yml
160
+ - spec/vcr_cassettes/client/authenticated/true.yml
161
+ - tasks/rspec.rake
162
+ homepage: https://github.com/myfreecomm/ecommerce-client-ruby
163
+ licenses:
164
+ - MIT
165
+ metadata: {}
166
+ post_install_message:
167
+ rdoc_options: []
168
+ require_paths:
169
+ - lib
170
+ required_ruby_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ required_rubygems_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ requirements: []
181
+ rubyforge_project:
182
+ rubygems_version: 2.4.5
183
+ signing_key:
184
+ specification_version: 4
185
+ summary: Official Ruby client for Myfreecomm's Ecommerce API.
186
+ test_files:
187
+ - spec/ecommerce/attribute_handler_spec.rb
188
+ - spec/ecommerce/client_spec.rb
189
+ - spec/ecommerce/configuration_spec.rb
190
+ - spec/ecommerce/request_spec.rb
191
+ - spec/ecommerce/resources/order_collection_spec.rb
192
+ - spec/ecommerce/resources/order_spec.rb
193
+ - spec/ecommerce/response_spec.rb
194
+ - spec/ecommerce_spec.rb
195
+ - spec/spec_helper.rb
196
+ - spec/support/vcr.rb
197
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_create_when_success_returns_body.yml
198
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_create_when_success_when_sending_not_all_required_parameters_raises_.yml
199
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_destroy_when_not_found_raises_NotFound.yml
200
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_destroy_when_success_returns_empty_body.yml
201
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_find_all_when_not_found_raises_NotFound.yml
202
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_find_all_when_success_returns_a_find_all_of_orders.yml
203
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_find_when_not_found_raises_NotFound.yml
204
+ - spec/vcr_cassettes/Ecommerce/Resources_Order_find_when_success_returns_order_object.yml
205
+ - spec/vcr_cassettes/client/authenticated/false.yml
206
+ - spec/vcr_cassettes/client/authenticated/true.yml