ecommerce-client 0.0.1

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.
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