tremendous_ruby 4.0.0 → 4.1.0

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: 2f570bd5d472fe847469c7c4857f2cddb4a34370
4
- data.tar.gz: 8c972e74d632cc003707974c9481320ef4d8165e
3
+ metadata.gz: 9498f3da241cb62b51f5fadcdda9f29c2a2ebea3
4
+ data.tar.gz: 543ed8f6afb68f4381479b41beeb62dbb8b9aff1
5
5
  SHA512:
6
- metadata.gz: d37d310f9d06e70495d2992e914701ec9d37600f3e3307a2fa8b8346736b1a761697ea395c5159fb38fd5317a087f5f074f11b6352e84df0b5029c1f683ebe41
7
- data.tar.gz: 4a6eec24713dd60b17067efc21862adb05937ba4b984bfc8e022c3a76e18f94744a1cb484c91672faf0329331f763416a459c715d5ff2527fa2d36bc66266a41
6
+ metadata.gz: 42ad71428022c45e38fdead2a86fd63a860f96df77f892b30f41a5cad9cbc05821eeacd791ab4b2bde2cfca48c7f32b72ae9c0bf52405253632c747e3c50dd94
7
+ data.tar.gz: 2ae7fde7ff8334dc860a13258aa7832761607ff802f905882dd0091cc03053c593423e7f2144c2d667daa5ebfb1e16f33411ab31a93b1f37ea6aeed3c2aa1f4e
@@ -1,28 +1,30 @@
1
- module Campaign
1
+ module Tremendous
2
+ module Campaign
2
3
 
3
- def self.included(base)
4
- base.send :include, InstanceMethods
5
- end
4
+ def self.included(base)
5
+ base.send :include, InstanceMethods
6
+ end
6
7
 
7
- module InstanceMethods
8
- def campaigns
9
- CampaignResource.new(access_token, uri)
8
+ module InstanceMethods
9
+ def campaigns
10
+ CampaignResource.new(access_token, uri)
11
+ end
10
12
  end
11
- end
12
13
 
13
- class CampaignResource
14
- include Request
14
+ class CampaignResource
15
+ include Request
15
16
 
16
- def list(filters={})
17
- get(
18
- 'campaigns',
19
- query: filters,
20
- format: 'json'
21
- )[:campaigns]
22
- end
17
+ def list(filters={})
18
+ get(
19
+ 'campaigns',
20
+ query: filters,
21
+ format: 'json'
22
+ )[:campaigns]
23
+ end
23
24
 
24
- def show(id)
25
- get("campaigns/#{id}")[:campaign]
25
+ def show(id)
26
+ get("campaigns/#{id}")[:campaign]
27
+ end
26
28
  end
27
29
  end
28
30
  end
@@ -1,29 +1,31 @@
1
- module FundingSource
2
- include Request
1
+ module Tremendous
2
+ module FundingSource
3
+ include Request
3
4
 
4
- def self.included(base)
5
- base.send :include, InstanceMethods
6
- end
5
+ def self.included(base)
6
+ base.send :include, InstanceMethods
7
+ end
7
8
 
8
- module InstanceMethods
9
- def funding_sources
10
- FundingSourceResource.new(access_token, uri)
9
+ module InstanceMethods
10
+ def funding_sources
11
+ FundingSourceResource.new(access_token, uri)
12
+ end
11
13
  end
12
- end
13
14
 
14
- class FundingSourceResource
15
- include Request
15
+ class FundingSourceResource
16
+ include Request
16
17
 
17
- def list(filters={})
18
- get(
19
- 'funding_sources',
20
- query: filters,
21
- format: 'json'
22
- )[:funding_sources]
23
- end
18
+ def list(filters={})
19
+ get(
20
+ 'funding_sources',
21
+ query: filters,
22
+ format: 'json'
23
+ )[:funding_sources]
24
+ end
24
25
 
25
- def show(id)
26
- get("funding_sources/#{id}")[:funding_source]
26
+ def show(id)
27
+ get("funding_sources/#{id}")[:funding_source]
28
+ end
27
29
  end
28
30
  end
29
31
  end
@@ -1,43 +1,45 @@
1
- module Invoice
1
+ module Tremendous
2
+ module Invoice
2
3
 
3
- def self.included(base)
4
- base.send :include, InstanceMethods
5
- end
6
-
7
- module InstanceMethods
8
- def invoices
9
- InvoiceResource.new(access_token, uri)
4
+ def self.included(base)
5
+ base.send :include, InstanceMethods
10
6
  end
11
- end
12
7
 
13
- class InvoiceResource
14
- include Request
15
-
16
- def create!(data={})
17
- post(
18
- 'invoices',
19
- {
20
- body: data.to_json,
21
- headers: { 'Content-Type' => 'application/json' }
22
- }
23
- )[:invoice]
8
+ module InstanceMethods
9
+ def invoices
10
+ InvoiceResource.new(access_token, uri)
11
+ end
24
12
  end
25
13
 
26
- def list(filters={})
27
- get(
28
- 'invoices',
29
- query: filters,
30
- format: 'json'
31
- )[:invoices]
32
- end
14
+ class InvoiceResource
15
+ include Request
16
+
17
+ def create!(data={})
18
+ post(
19
+ 'invoices',
20
+ {
21
+ body: data.to_json,
22
+ headers: { 'Content-Type' => 'application/json' }
23
+ }
24
+ )[:invoice]
25
+ end
26
+
27
+ def list(filters={})
28
+ get(
29
+ 'invoices',
30
+ query: filters,
31
+ format: 'json'
32
+ )[:invoices]
33
+ end
34
+
35
+ def show(id)
36
+ get("invoices/#{id}")[:invoice]
37
+ end
38
+
39
+ def delete!(id)
40
+ delete("invoices/#{id}")[:invoice]
41
+ end
33
42
 
34
- def show(id)
35
- get("invoices/#{id}")[:invoice]
36
43
  end
37
-
38
- def delete!(id)
39
- delete("invoices/#{id}")[:invoice]
40
- end
41
-
42
44
  end
43
45
  end
@@ -1,36 +1,38 @@
1
- module Member
1
+ module Tremendous
2
+ module Member
2
3
 
3
- def self.included(base)
4
- base.send :include, InstanceMethods
5
- end
4
+ def self.included(base)
5
+ base.send :include, InstanceMethods
6
+ end
6
7
 
7
- module InstanceMethods
8
- def members
9
- MemberResource.new(access_token, uri)
8
+ module InstanceMethods
9
+ def members
10
+ MemberResource.new(access_token, uri)
11
+ end
10
12
  end
11
- end
12
13
 
13
- class MemberResource
14
- include Request
14
+ class MemberResource
15
+ include Request
15
16
 
16
- def create!(data)
17
- post(
18
- "members",
19
- body: data.to_json,
20
- headers: { 'Content-Type' => 'application/json' }
21
- )[:member]
22
- end
17
+ def create!(data)
18
+ post(
19
+ "members",
20
+ body: data.to_json,
21
+ headers: { 'Content-Type' => 'application/json' }
22
+ )[:member]
23
+ end
23
24
 
24
- def list(filters={})
25
- get(
26
- "members",
27
- query: filters,
28
- format: 'json'
29
- )[:members]
30
- end
25
+ def list(filters={})
26
+ get(
27
+ "members",
28
+ query: filters,
29
+ format: 'json'
30
+ )[:members]
31
+ end
31
32
 
32
- def show(id)
33
- get("members/#{id}")[:member]
33
+ def show(id)
34
+ get("members/#{id}")[:member]
35
+ end
34
36
  end
35
37
  end
36
38
  end
@@ -1,36 +1,38 @@
1
- module Order
1
+ module Tremendous
2
+ module Order
2
3
 
3
- def self.included(base)
4
- base.send :include, InstanceMethods
5
- end
4
+ def self.included(base)
5
+ base.send :include, InstanceMethods
6
+ end
6
7
 
7
- module InstanceMethods
8
- def orders
9
- OrderResource.new(access_token, uri)
8
+ module InstanceMethods
9
+ def orders
10
+ OrderResource.new(access_token, uri)
11
+ end
10
12
  end
11
- end
12
13
 
13
- class OrderResource
14
- include Request
14
+ class OrderResource
15
+ include Request
15
16
 
16
- def create!(data={})
17
- post(
18
- 'orders',
19
- body: data.to_json,
20
- headers: { 'Content-Type' => 'application/json' }
21
- )[:order]
22
- end
17
+ def create!(data={})
18
+ post(
19
+ 'orders',
20
+ body: data.to_json,
21
+ headers: { 'Content-Type' => 'application/json' }
22
+ )[:order]
23
+ end
23
24
 
24
- def list(filters={})
25
- get(
26
- 'orders',
27
- query: filters,
28
- format: 'json'
29
- )[:orders]
30
- end
25
+ def list(filters={})
26
+ get(
27
+ 'orders',
28
+ query: filters,
29
+ format: 'json'
30
+ )[:orders]
31
+ end
31
32
 
32
- def self.show(id)
33
- get("orders/#{id}")[:order]
33
+ def self.show(id)
34
+ get("orders/#{id}")[:order]
35
+ end
34
36
  end
35
37
  end
36
38
  end
@@ -1,36 +1,38 @@
1
- module Organization
1
+ module Tremendous
2
+ module Organization
2
3
 
3
- def self.included(base)
4
- base.send :include, InstanceMethods
5
- end
4
+ def self.included(base)
5
+ base.send :include, InstanceMethods
6
+ end
6
7
 
7
- module InstanceMethods
8
- def organizations
9
- OrganizationResource.new(access_token, uri)
8
+ module InstanceMethods
9
+ def organizations
10
+ OrganizationResource.new(access_token, uri)
11
+ end
10
12
  end
11
- end
12
13
 
13
- class OrganizationResource
14
- include Request
14
+ class OrganizationResource
15
+ include Request
15
16
 
16
- def create!(data)
17
- post(
18
- 'organizations',
19
- body: data.to_json,
20
- headers: { 'Content-Type' => 'application/json' }
21
- )[:organization]
22
- end
17
+ def create!(data)
18
+ post(
19
+ 'organizations',
20
+ body: data.to_json,
21
+ headers: { 'Content-Type' => 'application/json' }
22
+ )[:organization]
23
+ end
23
24
 
24
- def list(filters={})
25
- get('organizations', query: filters)[:organizations]
26
- end
25
+ def list(filters={})
26
+ get('organizations', query: filters)[:organizations]
27
+ end
27
28
 
28
- def create_access_token!(id, data={})
29
- post(
30
- "organizations/#{id}/access_token",
31
- body: data.to_json,
32
- headers: { 'Content-Type' => 'application/json' }
33
- )[:access_token]
29
+ def create_access_token!(id, data={})
30
+ post(
31
+ "organizations/#{id}/access_token",
32
+ body: data.to_json,
33
+ headers: { 'Content-Type' => 'application/json' }
34
+ )[:access_token]
35
+ end
34
36
  end
35
37
  end
36
38
  end
@@ -1,27 +1,29 @@
1
- module Product
2
- def self.included(base)
3
- base.send :include, InstanceMethods
4
- end
1
+ module Tremendous
2
+ module Product
3
+ def self.included(base)
4
+ base.send :include, InstanceMethods
5
+ end
5
6
 
6
- module InstanceMethods
7
- def products
8
- ProductResource.new(access_token, uri)
7
+ module InstanceMethods
8
+ def products
9
+ ProductResource.new(access_token, uri)
10
+ end
9
11
  end
10
- end
11
12
 
12
- class ProductResource
13
- include Request
13
+ class ProductResource
14
+ include Request
14
15
 
15
- def list(filters={})
16
- get(
17
- 'products',
18
- query: filters,
19
- format: 'json'
20
- )[:products]
21
- end
16
+ def list(filters={})
17
+ get(
18
+ 'products',
19
+ query: filters,
20
+ format: 'json'
21
+ )[:products]
22
+ end
22
23
 
23
- def show(id)
24
- get("products/#{id}")[:product]
24
+ def show(id)
25
+ get("products/#{id}")[:product]
26
+ end
25
27
  end
26
28
  end
27
29
  end
@@ -1,59 +1,61 @@
1
- module Request
1
+ module Tremendous
2
+ module Request
2
3
 
3
- def initialize(access_token, uri)
4
- @access_token = access_token
5
- @uri = uri
6
- end
4
+ def initialize(access_token, uri)
5
+ @access_token = access_token
6
+ @uri = uri
7
+ end
7
8
 
8
- def access_token
9
- @access_token
10
- end
9
+ def access_token
10
+ @access_token
11
+ end
11
12
 
12
- def uri
13
- @uri
14
- end
13
+ def uri
14
+ @uri
15
+ end
15
16
 
16
- def get(path, data={}, *opts)
17
- handle_response(_execute(:get, url(path), data, *opts))
18
- end
17
+ def get(path, data={}, *opts)
18
+ handle_response(_execute(:get, url(path), data, *opts))
19
+ end
19
20
 
20
- def post(path, data={}, *opts)
21
- handle_response(_execute(:post, url(path), data, *opts))
22
- end
21
+ def post(path, data={}, *opts)
22
+ handle_response(_execute(:post, url(path), data, *opts))
23
+ end
23
24
 
24
- def put(path, data={}, *opts)
25
- handle_response(_execute(:put, url(path), data, *opts))
26
- end
25
+ def put(path, data={}, *opts)
26
+ handle_response(_execute(:put, url(path), data, *opts))
27
+ end
27
28
 
28
- def delete(path, data={}, *opts)
29
- handle_response(_execute(:delete, url(path), data, *opts))
30
- end
29
+ def delete(path, data={}, *opts)
30
+ handle_response(_execute(:delete, url(path), data, *opts))
31
+ end
31
32
 
32
- def _execute(method, url, data={}, *opts)
33
- data[:headers] = {
34
- 'authorization' => "Bearer #{@access_token}"
35
- }.merge(data.class == Hash ? data[:headers] || {} : {})
33
+ def _execute(method, url, data={}, *opts)
34
+ data[:headers] = {
35
+ 'authorization' => "Bearer #{@access_token}"
36
+ }.merge(data.class == Hash ? data[:headers] || {} : {})
36
37
 
37
- HTTParty.send(method, url, data, *opts)
38
- end
38
+ HTTParty.send(method, url, data, *opts)
39
+ end
39
40
 
40
- def url(path, params={})
41
- URI.join(uri, path)
42
- end
41
+ def url(path, params={})
42
+ URI.join(uri, path)
43
+ end
43
44
 
44
- def handle_response(response)
45
- if response.success?
46
- response_json = JSON.parse(response.body).with_indifferent_access
47
- else
48
- case response.code
49
- when 400
50
- raise Tremendous::BadDataError.new(response)
51
- when 401
52
- raise Tremendous::AccessError.new(response)
53
- when 402
54
- raise Tremendous::PaymentError.new(response)
45
+ def handle_response(response)
46
+ if response.success?
47
+ response_json = JSON.parse(response.body).with_indifferent_access
55
48
  else
56
- raise Tremendous::Error.new(response)
49
+ case response.code
50
+ when 400
51
+ raise Tremendous::BadDataError.new(response)
52
+ when 401
53
+ raise Tremendous::AccessError.new(response)
54
+ when 402
55
+ raise Tremendous::PaymentError.new(response)
56
+ else
57
+ raise Tremendous::Error.new(response)
58
+ end
57
59
  end
58
60
  end
59
61
  end
@@ -1,16 +1,14 @@
1
1
  module Tremendous
2
-
3
2
  class Rest
4
-
5
- include Campaign
6
- include FundingSource
7
- include Invoice
8
- include Member
9
- include Order
10
- include Organization
11
- include Product
12
- include Reward
13
- include Webhook
3
+ include Tremendous::Campaign
4
+ include Tremendous::FundingSource
5
+ include Tremendous::Invoice
6
+ include Tremendous::Member
7
+ include Tremendous::Order
8
+ include Tremendous::Organization
9
+ include Tremendous::Product
10
+ include Tremendous::Reward
11
+ include Tremendous::Webhook
14
12
 
15
13
  attr_accessor :access_token, :uri
16
14
 
@@ -1,28 +1,30 @@
1
- module Reward
1
+ module Tremendous
2
+ module Reward
2
3
 
3
- def self.included(base)
4
- base.send :include, InstanceMethods
5
- end
4
+ def self.included(base)
5
+ base.send :include, InstanceMethods
6
+ end
6
7
 
7
- module InstanceMethods
8
- def rewards
9
- RewardResource.new(access_token, uri)
8
+ module InstanceMethods
9
+ def rewards
10
+ RewardResource.new(access_token, uri)
11
+ end
10
12
  end
11
- end
12
13
 
13
- class RewardResource
14
- include Request
14
+ class RewardResource
15
+ include Request
15
16
 
16
- def list(filters={})
17
- get(
18
- 'rewards',
19
- query: filters,
20
- format: 'json'
21
- )[:rewards]
22
- end
17
+ def list(filters={})
18
+ get(
19
+ 'rewards',
20
+ query: filters,
21
+ format: 'json'
22
+ )[:rewards]
23
+ end
23
24
 
24
- def show(id)
25
- get("rewards/#{id}")[:reward]
25
+ def show(id)
26
+ get("rewards/#{id}")[:reward]
27
+ end
26
28
  end
27
29
  end
28
30
  end
@@ -1,3 +1,3 @@
1
1
  module Tremendous
2
- VERSION = '4.0.0'
2
+ VERSION = '4.1.0'
3
3
  end
@@ -1,48 +1,50 @@
1
- module Webhook
1
+ module Tremendous
2
+ module Webhook
2
3
 
3
- def self.included(base)
4
- base.send :include, InstanceMethods
5
- end
6
-
7
- module InstanceMethods
8
- def webhooks
9
- WebhookResource.new(access_token, uri)
10
- end
11
- end
12
-
13
- class WebhookResource
14
- include Request
15
-
16
- def create!(url, data={})
17
- post(
18
- 'webhooks',
19
- body: {url: url}.merge(data).to_json,
20
- headers: { 'Content-Type' => 'application/json' }
21
- )[:webhook]
22
- end
23
-
24
- def list
25
- get("webhooks")[:webhooks]
26
- end
27
-
28
- def show(id)
29
- get("webhooks/#{id}")[:webhook]
30
- end
31
-
32
- def delete!(id)
33
- delete("webhooks/#{id}")[:webhook]
4
+ def self.included(base)
5
+ base.send :include, InstanceMethods
34
6
  end
35
7
 
36
- def events(id)
37
- get("webhooks/#{id}/events")[:events]
8
+ module InstanceMethods
9
+ def webhooks
10
+ WebhookResource.new(access_token, uri)
11
+ end
38
12
  end
39
13
 
40
- def simulate!(id, event, data={})
41
- post(
42
- "webhooks/#{id}/simulate",
43
- body: {event: event}.merge(data).to_json,
44
- headers: { 'Content-Type' => 'application/json' }
45
- )
14
+ class WebhookResource
15
+ include Request
16
+
17
+ def create!(url, data={})
18
+ post(
19
+ 'webhooks',
20
+ body: {url: url}.merge(data).to_json,
21
+ headers: { 'Content-Type' => 'application/json' }
22
+ )[:webhook]
23
+ end
24
+
25
+ def list
26
+ get("webhooks")[:webhooks]
27
+ end
28
+
29
+ def show(id)
30
+ get("webhooks/#{id}")[:webhook]
31
+ end
32
+
33
+ def delete!(id)
34
+ delete("webhooks/#{id}")[:webhook]
35
+ end
36
+
37
+ def events(id)
38
+ get("webhooks/#{id}/events")[:events]
39
+ end
40
+
41
+ def simulate!(id, event, data={})
42
+ post(
43
+ "webhooks/#{id}/simulate",
44
+ body: {event: event}.merge(data).to_json,
45
+ headers: { 'Content-Type' => 'application/json' }
46
+ )
47
+ end
46
48
  end
47
49
  end
48
50
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tremendous_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tremendous Developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-13 00:00:00.000000000 Z
11
+ date: 2019-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3.2'
20
20
  - - "<="
21
21
  - !ruby/object:Gem::Version
22
- version: 5.1.1
22
+ version: 5.2.3
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3.2'
30
30
  - - "<="
31
31
  - !ruby/object:Gem::Version
32
- version: 5.1.1
32
+ version: 5.2.3
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: httparty
35
35
  requirement: !ruby/object:Gem::Requirement