chartmogul-ruby 1.0.0 → 1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce412c434fa9c0e2c8aadaa965a0aba174ee6a01
4
- data.tar.gz: 4bede47b2164a1e84612c28c00448c722c62e52d
3
+ metadata.gz: 328c6007bb38235b2ba6105d29f2955bb937307b
4
+ data.tar.gz: cb707fb9b221b5fe83ebfb75ab4c7f86172f1666
5
5
  SHA512:
6
- metadata.gz: da97bdb7c0ede39393b571d47fb8247eee9cec893d9039bf9ac86aafb4a452f9f16bf450af99d1f123b6d7a34c2c2b7a9d72dafd64de48635a0f33373b15a45e
7
- data.tar.gz: 38169294565b34419ad7d513d5805098b7e89fdd5e6b393edde5a6b733af6c9c4eb4aba85af76ebd4e33b0604a2d195741575238d87682334442de8b95dd2754
6
+ metadata.gz: cb65cca1c49f24694f0afc6bf352dd3d9576b6d8828c3ae0ccdc8204de43bb9b287cbbe660f765ca11cdcbb820213bd14fa841417e9902e3ecb8981c8ccc4be9
7
+ data.tar.gz: 93deaa8c4a6a3eef1aadb18f6beff031d596ad6d81485f5a1eddfe7009927ad7c495e2b351c6d04d255b326f94af1fa156ca85b5104d9c686a60944ff5727e43
data/changelog.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # chartmogul-ruby Change Log
2
2
 
3
- ## Version 1.0.0 - 10 January 2017
3
+ ## Version 1.0.1 - 21 February 2017
4
+ - Fixed all() in Customer, now returns Customers with paging
5
+
6
+ ## Version 1.0.0 - 14 February 2017
4
7
  - Add support for new plan and data source endpoints
5
8
  - Remove deprecated Import namespace
6
9
 
@@ -147,8 +147,8 @@ http_interactions:
147
147
  - max-age=15768000
148
148
  body:
149
149
  encoding: UTF-8
150
- string: '{"customers":[{"uuid":"cus_709bf73d-dc7c-4fb3-825d-a32c7fe5be16","external_id":"X1234","name":"Test
151
- Customer","company":"","email":"test@example.com","city":"Berlin","state":"","country":"DE","zip":"","lead_created_at":"2016-10-01T23:55:00.000Z","free_trial_started_at":"2016-10-12T11:12:00.000Z","data_source_uuid":"ds_632433ee-a591-11e6-aa29-ff9ccc9a74aa"}],"current_page":1,"total_pages":1}'
150
+ string: '{"entries":[{"uuid":"cus_709bf73d-dc7c-4fb3-825d-a32c7fe5be16","external_id":"X1234","name":"Test
151
+ Customer","company":"","email":"test@example.com","city":"Berlin","state":"","country":"DE","zip":"","lead_created_at":"2016-10-01T23:55:00.000Z","free_trial_started_at":"2016-10-12T11:12:00.000Z","data_source_uuid":"ds_632433ee-a591-11e6-aa29-ff9ccc9a74aa"}],"current_page":1,"total_pages":1,"has_more":false,"per_page":50,"page":1}'
152
152
  http_version:
153
153
  recorded_at: Tue, 08 Nov 2016 08:57:34 GMT
154
154
  - request:
@@ -238,7 +238,7 @@ http_interactions:
238
238
  - max-age=15768000
239
239
  body:
240
240
  encoding: UTF-8
241
- string: '{"customers":[],"current_page":1,"total_pages":0}'
241
+ string: '{"customers":[],"current_page":1,"total_pages":0,"has_more":false,"per_page":50,"page":1}'
242
242
  http_version:
243
243
  recorded_at: Tue, 08 Nov 2016 08:57:34 GMT
244
244
  recorded_with: VCR 3.0.3
@@ -95,7 +95,7 @@ http_interactions:
95
95
  - max-age=15768000
96
96
  body:
97
97
  encoding: UTF-8
98
- string: '{"customers":[{"uuid":"cus_c4babf63-3eb9-4125-8687-2a0d781b0af2","external_id":"X1234","name":"Test
98
+ string: '{"entries":[{"uuid":"cus_c4babf63-3eb9-4125-8687-2a0d781b0af2","external_id":"X1234","name":"Test
99
99
  Customer","company":"","email":"test@example.com","city":"Berlin","state":"","country":"DE","zip":"","data_source_uuid":"ds_154b9620-a22a-478a-8b44-198d11cc9a85"}],"current_page":1,"total_pages":1}'
100
100
  http_version:
101
101
  recorded_at: Mon, 06 Jun 2016 15:26:40 GMT
@@ -95,7 +95,7 @@ http_interactions:
95
95
  - max-age=15768000
96
96
  body:
97
97
  encoding: UTF-8
98
- string: '{"customers":[]}'
98
+ string: '{"entries":[]}'
99
99
  http_version:
100
100
  recorded_at: Mon, 06 Jun 2016 15:26:40 GMT
101
101
  recorded_with: VCR 3.0.3
data/lib/chartmogul.rb CHANGED
@@ -34,6 +34,11 @@ require "chartmogul/line_items/subscription"
34
34
  require "chartmogul/transactions/payment"
35
35
  require "chartmogul/transactions/refund"
36
36
 
37
+ require "chartmogul/concerns/entries"
38
+ require "chartmogul/concerns/summary"
39
+ require "chartmogul/concerns/pageable"
40
+ require "chartmogul/concerns/pageable2"
41
+
37
42
  require "chartmogul/subscription"
38
43
  require "chartmogul/invoice"
39
44
  require "chartmogul/customer_invoices"
@@ -42,10 +47,6 @@ require "chartmogul/data_source"
42
47
  require "chartmogul/ping"
43
48
  require "chartmogul/plan"
44
49
 
45
- require "chartmogul/concerns/entries"
46
- require "chartmogul/concerns/summary"
47
- require "chartmogul/concerns/pageable"
48
-
49
50
  require "chartmogul/metrics/arpa"
50
51
  require "chartmogul/metrics/arr"
51
52
  require "chartmogul/metrics/asp"
@@ -11,4 +11,3 @@ module ChartMogul
11
11
  end
12
12
  end
13
13
  end
14
-
@@ -0,0 +1,12 @@
1
+ module ChartMogul
2
+ module Concerns
3
+ module Pageable2
4
+ def self.included(base)
5
+ base.instance_eval do
6
+ readonly_attr :current_page
7
+ readonly_attr :total_pages
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -2,7 +2,6 @@ module ChartMogul
2
2
  class Customer < APIResource
3
3
  set_resource_name 'Customer'
4
4
  set_resource_path '/v1/customers'
5
- set_resource_root_key :customers
6
5
 
7
6
  readonly_attr :uuid
8
7
 
@@ -18,10 +17,17 @@ module ChartMogul
18
17
  writeable_attr :lead_created_at, type: :time
19
18
  writeable_attr :free_trial_started_at, type: :time
20
19
 
21
- include API::Actions::All
22
20
  include API::Actions::Create
23
21
  include API::Actions::Destroy
24
22
 
23
+ def self.all(options = {})
24
+ Customers.all(options)
25
+ end
26
+
27
+ def self.search(email)
28
+ Customers.search(email)
29
+ end
30
+
25
31
  def self.find_by_external_id(external_id)
26
32
  all(external_id: external_id).first
27
33
  end
@@ -37,5 +43,23 @@ module ChartMogul
37
43
  def invoices=(invoices_array)
38
44
  @invoices = ChartMogul::CustomerInvoices.new(customer_uuid: uuid, invoices: invoices_array)
39
45
  end
46
+
47
+
48
+ class Customers < APIResource
49
+ set_resource_name 'Customers'
50
+ set_resource_path '/v1/customers'
51
+
52
+ include Concerns::Entries
53
+ include API::Actions::Custom
54
+ include Concerns::Pageable
55
+ include Concerns::Pageable2
56
+
57
+ set_entry_class Customer
58
+
59
+ def self.search(email)
60
+ path = ChartMogul::ResourcePath.new('/v1/customers/search')
61
+ custom!(:get, path.apply_with_get_params(email: email))
62
+ end
63
+ end
40
64
  end
41
65
  end
@@ -1,3 +1,3 @@
1
1
  module ChartMogul
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chartmogul-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Langenauer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-14 00:00:00.000000000 Z
11
+ date: 2017-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -173,6 +173,7 @@ files:
173
173
  - lib/chartmogul/api_resource.rb
174
174
  - lib/chartmogul/concerns/entries.rb
175
175
  - lib/chartmogul/concerns/pageable.rb
176
+ - lib/chartmogul/concerns/pageable2.rb
176
177
  - lib/chartmogul/concerns/summary.rb
177
178
  - lib/chartmogul/config_attributes.rb
178
179
  - lib/chartmogul/configuration.rb