tremendous_ruby 3.0.0 → 4.0.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 +4 -4
- data/lib/tremendous.rb +7 -5
- data/lib/tremendous/base.rb +0 -18
- data/lib/tremendous/campaign.rb +21 -4
- data/lib/tremendous/embed.rb +2 -2
- data/lib/tremendous/funding_source.rb +20 -11
- data/lib/tremendous/invoice.rb +25 -18
- data/lib/tremendous/member.rb +20 -8
- data/lib/tremendous/order.rb +20 -8
- data/lib/tremendous/organization.rb +21 -11
- data/lib/tremendous/product.rb +18 -6
- data/lib/tremendous/request.rb +48 -36
- data/lib/tremendous/rest.rb +22 -0
- data/lib/tremendous/reward.rb +19 -6
- data/lib/tremendous/version.rb +1 -1
- data/lib/tremendous/webhook.rb +31 -10
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2f570bd5d472fe847469c7c4857f2cddb4a34370
|
|
4
|
+
data.tar.gz: 8c972e74d632cc003707974c9481320ef4d8165e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d37d310f9d06e70495d2992e914701ec9d37600f3e3307a2fa8b8346736b1a761697ea395c5159fb38fd5317a087f5f074f11b6352e84df0b5029c1f683ebe41
|
|
7
|
+
data.tar.gz: 4a6eec24713dd60b17067efc21862adb05937ba4b984bfc8e022c3a76e18f94744a1cb484c91672faf0329331f763416a459c715d5ff2527fa2d36bc66266a41
|
data/lib/tremendous.rb
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
require 'httparty'
|
|
2
2
|
require 'active_support/core_ext/hash/indifferent_access'
|
|
3
3
|
require 'tremendous/base'
|
|
4
|
+
require 'tremendous/version'
|
|
5
|
+
require 'tremendous/error'
|
|
4
6
|
require 'tremendous/request'
|
|
5
7
|
require 'tremendous/campaign'
|
|
6
8
|
require 'tremendous/funding_source'
|
|
7
|
-
require 'tremendous/reward'
|
|
8
9
|
require 'tremendous/invoice'
|
|
10
|
+
require 'tremendous/member'
|
|
9
11
|
require 'tremendous/order'
|
|
10
12
|
require 'tremendous/organization'
|
|
11
|
-
require 'tremendous/member'
|
|
12
13
|
require 'tremendous/product'
|
|
13
|
-
require 'tremendous/
|
|
14
|
-
require 'tremendous/error'
|
|
14
|
+
require 'tremendous/reward'
|
|
15
15
|
require 'tremendous/webhook'
|
|
16
|
-
|
|
16
|
+
|
|
17
|
+
require 'tremendous/rest'
|
|
18
|
+
require 'tremendous/embed'
|
data/lib/tremendous/base.rb
CHANGED
|
@@ -1,20 +1,2 @@
|
|
|
1
1
|
module Tremendous
|
|
2
|
-
@@config = {
|
|
3
|
-
base_api_uri: 'https://www.tremendous.com/api/v1/'
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
def self.config
|
|
7
|
-
@@config
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def self.configure
|
|
11
|
-
yield @@config
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
# Access token
|
|
15
|
-
def self.default_options
|
|
16
|
-
{
|
|
17
|
-
access_token: @@config[:access_token]
|
|
18
|
-
}
|
|
19
|
-
end
|
|
20
2
|
end
|
data/lib/tremendous/campaign.rb
CHANGED
|
@@ -1,11 +1,28 @@
|
|
|
1
|
-
module
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
module Campaign
|
|
2
|
+
|
|
3
|
+
def self.included(base)
|
|
4
|
+
base.send :include, InstanceMethods
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module InstanceMethods
|
|
8
|
+
def campaigns
|
|
9
|
+
CampaignResource.new(access_token, uri)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class CampaignResource
|
|
14
|
+
include Request
|
|
15
|
+
|
|
16
|
+
def list(filters={})
|
|
17
|
+
get(
|
|
5
18
|
'campaigns',
|
|
6
19
|
query: filters,
|
|
7
20
|
format: 'json'
|
|
8
21
|
)[:campaigns]
|
|
9
22
|
end
|
|
23
|
+
|
|
24
|
+
def show(id)
|
|
25
|
+
get("campaigns/#{id}")[:campaign]
|
|
26
|
+
end
|
|
10
27
|
end
|
|
11
28
|
end
|
data/lib/tremendous/embed.rb
CHANGED
|
@@ -1,20 +1,29 @@
|
|
|
1
|
-
module
|
|
2
|
-
|
|
1
|
+
module FundingSource
|
|
2
|
+
include Request
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.send :include, InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
def funding_sources
|
|
10
|
+
FundingSourceResource.new(access_token, uri)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
class FundingSourceResource
|
|
15
|
+
include Request
|
|
16
|
+
|
|
17
|
+
def list(filters={})
|
|
18
|
+
get(
|
|
6
19
|
'funding_sources',
|
|
7
|
-
query: filters
|
|
20
|
+
query: filters,
|
|
8
21
|
format: 'json'
|
|
9
22
|
)[:funding_sources]
|
|
10
23
|
end
|
|
11
24
|
|
|
12
|
-
def
|
|
13
|
-
|
|
14
|
-
"funding_sources/#{id}",
|
|
15
|
-
query: filters.merge(Tremendous.default_options),
|
|
16
|
-
format: 'json'
|
|
17
|
-
)[:funding_source]
|
|
25
|
+
def show(id)
|
|
26
|
+
get("funding_sources/#{id}")[:funding_source]
|
|
18
27
|
end
|
|
19
28
|
end
|
|
20
29
|
end
|
data/lib/tremendous/invoice.rb
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
module
|
|
2
|
-
class Invoice
|
|
1
|
+
module Invoice
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
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)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class InvoiceResource
|
|
14
|
+
include Request
|
|
15
|
+
|
|
16
|
+
def create!(data={})
|
|
17
|
+
post(
|
|
6
18
|
'invoices',
|
|
7
19
|
{
|
|
8
20
|
body: data.to_json,
|
|
@@ -11,26 +23,21 @@ module Tremendous
|
|
|
11
23
|
)[:invoice]
|
|
12
24
|
end
|
|
13
25
|
|
|
14
|
-
def
|
|
15
|
-
|
|
26
|
+
def list(filters={})
|
|
27
|
+
get(
|
|
16
28
|
'invoices',
|
|
17
|
-
|
|
18
|
-
|
|
29
|
+
query: filters,
|
|
30
|
+
format: 'json'
|
|
19
31
|
)[:invoices]
|
|
20
32
|
end
|
|
21
33
|
|
|
22
|
-
def
|
|
23
|
-
|
|
24
|
-
"invoices/#{id}",
|
|
25
|
-
format: 'json'
|
|
26
|
-
)[:invoice]
|
|
34
|
+
def show(id)
|
|
35
|
+
get("invoices/#{id}")[:invoice]
|
|
27
36
|
end
|
|
28
37
|
|
|
29
|
-
def
|
|
30
|
-
|
|
31
|
-
"invoices/#{id}",
|
|
32
|
-
format: 'json'
|
|
33
|
-
)[:invoice]
|
|
38
|
+
def delete!(id)
|
|
39
|
+
delete("invoices/#{id}")[:invoice]
|
|
34
40
|
end
|
|
41
|
+
|
|
35
42
|
end
|
|
36
43
|
end
|
data/lib/tremendous/member.rb
CHANGED
|
@@ -1,24 +1,36 @@
|
|
|
1
|
-
module
|
|
2
|
-
class Member
|
|
1
|
+
module Member
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
def self.included(base)
|
|
4
|
+
base.send :include, InstanceMethods
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module InstanceMethods
|
|
8
|
+
def members
|
|
9
|
+
MemberResource.new(access_token, uri)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class MemberResource
|
|
14
|
+
include Request
|
|
15
|
+
|
|
16
|
+
def create!(data)
|
|
17
|
+
post(
|
|
6
18
|
"members",
|
|
7
19
|
body: data.to_json,
|
|
8
20
|
headers: { 'Content-Type' => 'application/json' }
|
|
9
21
|
)[:member]
|
|
10
22
|
end
|
|
11
23
|
|
|
12
|
-
def
|
|
13
|
-
|
|
24
|
+
def list(filters={})
|
|
25
|
+
get(
|
|
14
26
|
"members",
|
|
15
27
|
query: filters,
|
|
16
28
|
format: 'json'
|
|
17
29
|
)[:members]
|
|
18
30
|
end
|
|
19
31
|
|
|
20
|
-
def
|
|
21
|
-
|
|
32
|
+
def show(id)
|
|
33
|
+
get("members/#{id}")[:member]
|
|
22
34
|
end
|
|
23
35
|
end
|
|
24
36
|
end
|
data/lib/tremendous/order.rb
CHANGED
|
@@ -1,24 +1,36 @@
|
|
|
1
|
-
module
|
|
2
|
-
class Order
|
|
1
|
+
module Order
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
def self.included(base)
|
|
4
|
+
base.send :include, InstanceMethods
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module InstanceMethods
|
|
8
|
+
def orders
|
|
9
|
+
OrderResource.new(access_token, uri)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class OrderResource
|
|
14
|
+
include Request
|
|
15
|
+
|
|
16
|
+
def create!(data={})
|
|
17
|
+
post(
|
|
6
18
|
'orders',
|
|
7
19
|
body: data.to_json,
|
|
8
20
|
headers: { 'Content-Type' => 'application/json' }
|
|
9
21
|
)[:order]
|
|
10
22
|
end
|
|
11
23
|
|
|
12
|
-
def
|
|
13
|
-
|
|
24
|
+
def list(filters={})
|
|
25
|
+
get(
|
|
14
26
|
'orders',
|
|
15
27
|
query: filters,
|
|
16
28
|
format: 'json'
|
|
17
29
|
)[:orders]
|
|
18
30
|
end
|
|
19
31
|
|
|
20
|
-
def self.
|
|
21
|
-
|
|
32
|
+
def self.show(id)
|
|
33
|
+
get("orders/#{id}")[:order]
|
|
22
34
|
end
|
|
23
35
|
end
|
|
24
36
|
end
|
|
@@ -1,22 +1,32 @@
|
|
|
1
|
-
module
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
module Organization
|
|
2
|
+
|
|
3
|
+
def self.included(base)
|
|
4
|
+
base.send :include, InstanceMethods
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module InstanceMethods
|
|
8
|
+
def organizations
|
|
9
|
+
OrganizationResource.new(access_token, uri)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class OrganizationResource
|
|
14
|
+
include Request
|
|
15
|
+
|
|
16
|
+
def create!(data)
|
|
17
|
+
post(
|
|
5
18
|
'organizations',
|
|
6
19
|
body: data.to_json,
|
|
7
20
|
headers: { 'Content-Type' => 'application/json' }
|
|
8
21
|
)[:organization]
|
|
9
22
|
end
|
|
10
23
|
|
|
11
|
-
def
|
|
12
|
-
|
|
13
|
-
'organizations',
|
|
14
|
-
query: filters
|
|
15
|
-
)[:organizations]
|
|
24
|
+
def list(filters={})
|
|
25
|
+
get('organizations', query: filters)[:organizations]
|
|
16
26
|
end
|
|
17
27
|
|
|
18
|
-
def
|
|
19
|
-
|
|
28
|
+
def create_access_token!(id, data={})
|
|
29
|
+
post(
|
|
20
30
|
"organizations/#{id}/access_token",
|
|
21
31
|
body: data.to_json,
|
|
22
32
|
headers: { 'Content-Type' => 'application/json' }
|
data/lib/tremendous/product.rb
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
module
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
module Product
|
|
2
|
+
def self.included(base)
|
|
3
|
+
base.send :include, InstanceMethods
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
module InstanceMethods
|
|
7
|
+
def products
|
|
8
|
+
ProductResource.new(access_token, uri)
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
class ProductResource
|
|
13
|
+
include Request
|
|
14
|
+
|
|
15
|
+
def list(filters={})
|
|
16
|
+
get(
|
|
5
17
|
'products',
|
|
6
18
|
query: filters,
|
|
7
19
|
format: 'json'
|
|
8
20
|
)[:products]
|
|
9
21
|
end
|
|
10
22
|
|
|
11
|
-
def
|
|
12
|
-
|
|
23
|
+
def show(id)
|
|
24
|
+
get("products/#{id}")[:product]
|
|
13
25
|
end
|
|
14
26
|
end
|
|
15
27
|
end
|
data/lib/tremendous/request.rb
CHANGED
|
@@ -1,47 +1,59 @@
|
|
|
1
|
-
module
|
|
2
|
-
class Request
|
|
3
|
-
def self.get(path, data={}, *opts)
|
|
4
|
-
handle_response(_execute(:get, url(path), data, *opts))
|
|
5
|
-
end
|
|
1
|
+
module Request
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
def initialize(access_token, uri)
|
|
4
|
+
@access_token = access_token
|
|
5
|
+
@uri = uri
|
|
6
|
+
end
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
def access_token
|
|
9
|
+
@access_token
|
|
10
|
+
end
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
def uri
|
|
13
|
+
@uri
|
|
14
|
+
end
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}.merge(data.class == Hash ? data[:headers] || {} : {})
|
|
16
|
+
def get(path, data={}, *opts)
|
|
17
|
+
handle_response(_execute(:get, url(path), data, *opts))
|
|
18
|
+
end
|
|
23
19
|
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
def post(path, data={}, *opts)
|
|
21
|
+
handle_response(_execute(:post, url(path), data, *opts))
|
|
22
|
+
end
|
|
26
23
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
def put(path, data={}, *opts)
|
|
25
|
+
handle_response(_execute(:put, url(path), data, *opts))
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def delete(path, data={}, *opts)
|
|
29
|
+
handle_response(_execute(:delete, url(path), data, *opts))
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def _execute(method, url, data={}, *opts)
|
|
33
|
+
data[:headers] = {
|
|
34
|
+
'authorization' => "Bearer #{@access_token}"
|
|
35
|
+
}.merge(data.class == Hash ? data[:headers] || {} : {})
|
|
36
|
+
|
|
37
|
+
HTTParty.send(method, url, data, *opts)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def url(path, params={})
|
|
41
|
+
URI.join(uri, path)
|
|
42
|
+
end
|
|
30
43
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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)
|
|
34
55
|
else
|
|
35
|
-
|
|
36
|
-
when 400
|
|
37
|
-
raise Tremendous::BadDataError.new(response)
|
|
38
|
-
when 401
|
|
39
|
-
raise Tremendous::AccessError.new(response)
|
|
40
|
-
when 402
|
|
41
|
-
raise Tremendous::PaymentError.new(response)
|
|
42
|
-
else
|
|
43
|
-
raise Tremendous::Error.new(response)
|
|
44
|
-
end
|
|
56
|
+
raise Tremendous::Error.new(response)
|
|
45
57
|
end
|
|
46
58
|
end
|
|
47
59
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Tremendous
|
|
2
|
+
|
|
3
|
+
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
|
|
14
|
+
|
|
15
|
+
attr_accessor :access_token, :uri
|
|
16
|
+
|
|
17
|
+
def initialize(access_token, uri)
|
|
18
|
+
@access_token = access_token
|
|
19
|
+
@uri = uri
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
data/lib/tremendous/reward.rb
CHANGED
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
module
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
module Reward
|
|
2
|
+
|
|
3
|
+
def self.included(base)
|
|
4
|
+
base.send :include, InstanceMethods
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module InstanceMethods
|
|
8
|
+
def rewards
|
|
9
|
+
RewardResource.new(access_token, uri)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class RewardResource
|
|
14
|
+
include Request
|
|
15
|
+
|
|
16
|
+
def list(filters={})
|
|
17
|
+
get(
|
|
5
18
|
'rewards',
|
|
6
19
|
query: filters,
|
|
7
20
|
format: 'json'
|
|
8
21
|
)[:rewards]
|
|
9
22
|
end
|
|
10
23
|
|
|
11
|
-
def
|
|
12
|
-
|
|
24
|
+
def show(id)
|
|
25
|
+
get("rewards/#{id}")[:reward]
|
|
13
26
|
end
|
|
14
27
|
end
|
|
15
28
|
end
|
data/lib/tremendous/version.rb
CHANGED
data/lib/tremendous/webhook.rb
CHANGED
|
@@ -1,23 +1,44 @@
|
|
|
1
|
-
module
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
module Webhook
|
|
2
|
+
|
|
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(
|
|
5
18
|
'webhooks',
|
|
6
19
|
body: {url: url}.merge(data).to_json,
|
|
7
20
|
headers: { 'Content-Type' => 'application/json' }
|
|
8
21
|
)[:webhook]
|
|
9
22
|
end
|
|
10
23
|
|
|
11
|
-
def
|
|
12
|
-
|
|
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]
|
|
13
34
|
end
|
|
14
35
|
|
|
15
|
-
def
|
|
16
|
-
|
|
36
|
+
def events(id)
|
|
37
|
+
get("webhooks/#{id}/events")[:events]
|
|
17
38
|
end
|
|
18
39
|
|
|
19
|
-
def
|
|
20
|
-
|
|
40
|
+
def simulate!(id, event, data={})
|
|
41
|
+
post(
|
|
21
42
|
"webhooks/#{id}/simulate",
|
|
22
43
|
body: {event: event}.merge(data).to_json,
|
|
23
44
|
headers: { 'Content-Type' => 'application/json' }
|
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
|
+
version: 4.0.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-
|
|
11
|
+
date: 2019-06-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -147,6 +147,7 @@ files:
|
|
|
147
147
|
- lib/tremendous/organization.rb
|
|
148
148
|
- lib/tremendous/product.rb
|
|
149
149
|
- lib/tremendous/request.rb
|
|
150
|
+
- lib/tremendous/rest.rb
|
|
150
151
|
- lib/tremendous/reward.rb
|
|
151
152
|
- lib/tremendous/version.rb
|
|
152
153
|
- lib/tremendous/webhook.rb
|