tremendous_ruby 2.2.2 → 4.3.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 +5 -5
- data/lib/tremendous.rb +8 -5
- data/lib/tremendous/base.rb +0 -16
- data/lib/tremendous/campaign.rb +25 -7
- data/lib/tremendous/embed.rb +2 -2
- data/lib/tremendous/error.rb +14 -3
- data/lib/tremendous/funding_source.rb +25 -8
- data/lib/tremendous/invoice.rb +34 -32
- data/lib/tremendous/member.rb +37 -0
- data/lib/tremendous/order.rb +27 -20
- data/lib/tremendous/organization.rb +30 -14
- data/lib/tremendous/product.rb +28 -0
- data/lib/tremendous/request.rb +43 -13
- data/lib/tremendous/rest.rb +20 -0
- data/lib/tremendous/reward.rb +29 -0
- data/lib/tremendous/version.rb +1 -1
- data/lib/tremendous/webhook.rb +50 -0
- metadata +36 -60
- data/lib/tremendous/catalog.rb +0 -11
- data/lib/tremendous/gift.rb +0 -19
- data/lib/tremendous/organization_member.rb +0 -26
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 3d0d3f6e5e57238936d5bd9f8989c2e7c18c22d3ca2d2674f007109722a7fbfb
|
|
4
|
+
data.tar.gz: a2696610409bd1d37fa55683dca52c5d14a778ec91fdb761139d6ff1cb169e5c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6f325145e17b15e79b548bcfa2990f7fe2850ae98f1e6b5e3d877e9ad62fde660fc306b4ee7b8cf7c08977e160b3289a87c332ca0484b8893f43b3e79ed95bc8
|
|
7
|
+
data.tar.gz: 64d1f83fd6778e9f607a0e4944e0453a03ca8f73cd8dffe187e9170a58595dd61ccd2db14ed74e15aff83971b15cff668b621e0347ded678699392b569b7aaef
|
data/lib/tremendous.rb
CHANGED
|
@@ -1,15 +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
|
-
require 'tremendous/catalog'
|
|
6
7
|
require 'tremendous/campaign'
|
|
7
8
|
require 'tremendous/funding_source'
|
|
8
|
-
require 'tremendous/gift'
|
|
9
9
|
require 'tremendous/invoice'
|
|
10
|
+
require 'tremendous/member'
|
|
10
11
|
require 'tremendous/order'
|
|
11
12
|
require 'tremendous/organization'
|
|
12
|
-
require 'tremendous/
|
|
13
|
+
require 'tremendous/product'
|
|
14
|
+
require 'tremendous/reward'
|
|
15
|
+
require 'tremendous/webhook'
|
|
16
|
+
|
|
17
|
+
require 'tremendous/rest'
|
|
13
18
|
require 'tremendous/embed'
|
|
14
|
-
require 'tremendous/error'
|
|
15
|
-
require 'tremendous/version'
|
data/lib/tremendous/base.rb
CHANGED
|
@@ -1,18 +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
|
-
{access_token: @@config[:access_token]}
|
|
17
|
-
end
|
|
18
2
|
end
|
data/lib/tremendous/campaign.rb
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
module Tremendous
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
module Campaign
|
|
3
|
+
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.include InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
def campaigns
|
|
10
|
+
CampaignResource.new(access_token, uri)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
class CampaignResource
|
|
15
|
+
include Request
|
|
16
|
+
|
|
17
|
+
def list(filters={})
|
|
18
|
+
get(
|
|
19
|
+
'campaigns',
|
|
20
|
+
query: filters,
|
|
21
|
+
)[:campaigns]
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def show(id)
|
|
25
|
+
get("campaigns/#{id}")[:campaign]
|
|
26
|
+
end
|
|
9
27
|
end
|
|
10
28
|
end
|
|
11
29
|
end
|
data/lib/tremendous/embed.rb
CHANGED
data/lib/tremendous/error.rb
CHANGED
|
@@ -6,10 +6,21 @@ module Tremendous
|
|
|
6
6
|
super
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
+
def server_response
|
|
10
|
+
@server_response ||= @response.parsed_response.with_indifferent_access
|
|
11
|
+
end
|
|
12
|
+
|
|
9
13
|
def message
|
|
10
|
-
|
|
11
|
-
errors = response_json[:errors]
|
|
12
|
-
"Code: #{@response.code}; Data: #{errors}"
|
|
14
|
+
"Code: #{@response.code}; Data: #{server_response[:errors]}"
|
|
13
15
|
end
|
|
14
16
|
end
|
|
17
|
+
|
|
18
|
+
class BadDataError < Error
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
class PaymentError < Error
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
class AccessError < Error
|
|
25
|
+
end
|
|
15
26
|
end
|
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
module Tremendous
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def self.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
module FundingSource
|
|
3
|
+
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.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(
|
|
19
|
+
'funding_sources',
|
|
20
|
+
query: filters,
|
|
21
|
+
)[:funding_sources]
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def show(id)
|
|
25
|
+
get("funding_sources/#{id}")[:funding_source]
|
|
26
|
+
end
|
|
10
27
|
end
|
|
11
28
|
end
|
|
12
29
|
end
|
data/lib/tremendous/invoice.rb
CHANGED
|
@@ -1,42 +1,44 @@
|
|
|
1
1
|
module Tremendous
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def self.create!(data={})
|
|
5
|
-
data_to_post = data.merge(Tremendous.default_options)
|
|
6
|
-
|
|
7
|
-
response = Tremendous::Request.post(
|
|
8
|
-
'invoices',
|
|
9
|
-
{
|
|
10
|
-
body: data_to_post.to_json,
|
|
11
|
-
headers: { 'Content-Type' => 'application/json' }
|
|
12
|
-
}
|
|
13
|
-
)[:invoice]
|
|
2
|
+
module Invoice
|
|
14
3
|
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.include InstanceMethods
|
|
15
6
|
end
|
|
16
7
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
format: 'json'
|
|
22
|
-
)[:invoices]
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
def invoices
|
|
10
|
+
InvoiceResource.new(access_token, uri)
|
|
11
|
+
end
|
|
23
12
|
end
|
|
24
13
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"invoices/#{id}",
|
|
28
|
-
query: Tremendous.default_options,
|
|
29
|
-
format: 'json'
|
|
30
|
-
)[:invoice]
|
|
31
|
-
end
|
|
14
|
+
class InvoiceResource
|
|
15
|
+
include Request
|
|
32
16
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
|
40
26
|
|
|
27
|
+
def list(filters={})
|
|
28
|
+
get(
|
|
29
|
+
'invoices',
|
|
30
|
+
query: filters,
|
|
31
|
+
)[:invoices]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def show(id)
|
|
35
|
+
get("invoices/#{id}")[:invoice]
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def delete!(id)
|
|
39
|
+
delete("invoices/#{id}")[:invoice]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
41
43
|
end
|
|
42
44
|
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module Tremendous
|
|
2
|
+
module Member
|
|
3
|
+
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.include InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
def members
|
|
10
|
+
MemberResource.new(access_token, uri)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
class MemberResource
|
|
15
|
+
include Request
|
|
16
|
+
|
|
17
|
+
def create!(data)
|
|
18
|
+
post(
|
|
19
|
+
"members",
|
|
20
|
+
body: data.to_json,
|
|
21
|
+
headers: { 'Content-Type' => 'application/json' }
|
|
22
|
+
)[:member]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def list(filters={})
|
|
26
|
+
get(
|
|
27
|
+
"members",
|
|
28
|
+
query: filters,
|
|
29
|
+
)[:members]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def show(id)
|
|
33
|
+
get("members/#{id}")[:member]
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
data/lib/tremendous/order.rb
CHANGED
|
@@ -1,30 +1,37 @@
|
|
|
1
1
|
module Tremendous
|
|
2
|
-
|
|
2
|
+
module Order
|
|
3
3
|
|
|
4
|
-
def self.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
response = Tremendous::Request.post 'orders',
|
|
8
|
-
body: data_to_post.to_json,
|
|
9
|
-
headers: { 'Content-Type' => 'application/json' }
|
|
10
|
-
|
|
11
|
-
response[:order]
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.include InstanceMethods
|
|
12
6
|
end
|
|
13
7
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
format: 'json'
|
|
19
|
-
)[:orders]
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
def orders
|
|
10
|
+
OrderResource.new(access_token, uri)
|
|
11
|
+
end
|
|
20
12
|
end
|
|
21
13
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
class OrderResource
|
|
15
|
+
include Request
|
|
16
|
+
|
|
17
|
+
def create!(data={})
|
|
18
|
+
post(
|
|
19
|
+
'orders',
|
|
20
|
+
body: data.to_json,
|
|
21
|
+
headers: { 'Content-Type' => 'application/json' }
|
|
22
|
+
)[:order]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def list(filters={})
|
|
26
|
+
get(
|
|
27
|
+
'orders',
|
|
28
|
+
query: filters,
|
|
29
|
+
)[:orders]
|
|
30
|
+
end
|
|
26
31
|
|
|
27
|
-
|
|
32
|
+
def show(id)
|
|
33
|
+
get("orders/#{id}")[:order]
|
|
34
|
+
end
|
|
28
35
|
end
|
|
29
36
|
end
|
|
30
37
|
end
|
|
@@ -1,22 +1,38 @@
|
|
|
1
1
|
module Tremendous
|
|
2
|
-
|
|
2
|
+
module Organization
|
|
3
3
|
|
|
4
|
-
def self.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
body: data.merge(Tremendous.default_options).to_json,
|
|
8
|
-
headers: { 'Content-Type' => 'application/json' }
|
|
9
|
-
)
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.include InstanceMethods
|
|
6
|
+
end
|
|
10
7
|
|
|
11
|
-
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
def organizations
|
|
10
|
+
OrganizationResource.new(access_token, uri)
|
|
11
|
+
end
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
class OrganizationResource
|
|
15
|
+
include Request
|
|
16
|
+
|
|
17
|
+
def create!(data)
|
|
18
|
+
post(
|
|
19
|
+
'organizations',
|
|
20
|
+
body: data.to_json,
|
|
21
|
+
headers: { 'Content-Type' => 'application/json' }
|
|
22
|
+
)[:organization]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def list(filters={})
|
|
26
|
+
get('organizations', query: filters)[:organizations]
|
|
27
|
+
end
|
|
28
|
+
|
|
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
|
|
20
36
|
end
|
|
21
37
|
end
|
|
22
38
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Tremendous
|
|
2
|
+
module Product
|
|
3
|
+
def self.included(base)
|
|
4
|
+
base.include InstanceMethods
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module InstanceMethods
|
|
8
|
+
def products
|
|
9
|
+
ProductResource.new(access_token, uri)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class ProductResource
|
|
14
|
+
include Request
|
|
15
|
+
|
|
16
|
+
def list(filters={})
|
|
17
|
+
get(
|
|
18
|
+
'products',
|
|
19
|
+
query: filters,
|
|
20
|
+
)[:products]
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def show(id)
|
|
24
|
+
get("products/#{id}")[:product]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
data/lib/tremendous/request.rb
CHANGED
|
@@ -1,26 +1,56 @@
|
|
|
1
1
|
module Tremendous
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
module Request
|
|
3
|
+
|
|
4
|
+
def initialize(access_token, uri)
|
|
5
|
+
@access_token = access_token
|
|
6
|
+
@uri = uri
|
|
5
7
|
end
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
|
|
9
|
+
attr_reader :access_token, :uri
|
|
10
|
+
|
|
11
|
+
def get(path, data={}, *opts)
|
|
12
|
+
handle_response(_execute(:get, url(path), data, *opts))
|
|
8
13
|
end
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
|
|
15
|
+
def post(path, data={}, *opts)
|
|
16
|
+
handle_response(_execute(:post, url(path), data, *opts))
|
|
11
17
|
end
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
|
|
19
|
+
def put(path, data={}, *opts)
|
|
20
|
+
handle_response(_execute(:put, url(path), data, *opts))
|
|
14
21
|
end
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
|
|
23
|
+
def delete(path, data={}, *opts)
|
|
24
|
+
handle_response(_execute(:delete, url(path), data, *opts))
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def _execute(method, url, data={}, *opts)
|
|
28
|
+
data[:format] = :json
|
|
29
|
+
data[:headers] = {
|
|
30
|
+
'authorization' => "Bearer #{@access_token}"
|
|
31
|
+
}.merge(data.class == Hash ? data[:headers] || {} : {})
|
|
32
|
+
|
|
33
|
+
HTTParty.send(method, url, data, *opts)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def url(path, params={})
|
|
37
|
+
URI.join(uri, path)
|
|
17
38
|
end
|
|
18
39
|
|
|
19
|
-
def
|
|
40
|
+
def handle_response(response)
|
|
20
41
|
if response.success?
|
|
21
42
|
response_json = JSON.parse(response.body).with_indifferent_access
|
|
22
43
|
else
|
|
23
|
-
|
|
44
|
+
case response.code
|
|
45
|
+
when 400
|
|
46
|
+
raise Tremendous::BadDataError.new(response)
|
|
47
|
+
when 401
|
|
48
|
+
raise Tremendous::AccessError.new(response)
|
|
49
|
+
when 402
|
|
50
|
+
raise Tremendous::PaymentError.new(response)
|
|
51
|
+
else
|
|
52
|
+
raise Tremendous::Error.new(response)
|
|
53
|
+
end
|
|
24
54
|
end
|
|
25
55
|
end
|
|
26
56
|
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Tremendous
|
|
2
|
+
class Rest
|
|
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
|
|
12
|
+
|
|
13
|
+
attr_accessor :access_token, :uri
|
|
14
|
+
|
|
15
|
+
def initialize(access_token, uri)
|
|
16
|
+
@access_token = access_token
|
|
17
|
+
@uri = uri
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Tremendous
|
|
2
|
+
module Reward
|
|
3
|
+
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.include InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
def rewards
|
|
10
|
+
RewardResource.new(access_token, uri)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
class RewardResource
|
|
15
|
+
include Request
|
|
16
|
+
|
|
17
|
+
def list(filters={})
|
|
18
|
+
get(
|
|
19
|
+
'rewards',
|
|
20
|
+
query: filters,
|
|
21
|
+
)[:rewards]
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def show(id)
|
|
25
|
+
get("rewards/#{id}")[:reward]
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
data/lib/tremendous/version.rb
CHANGED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Tremendous
|
|
2
|
+
module Webhook
|
|
3
|
+
|
|
4
|
+
def self.included(base)
|
|
5
|
+
base.include InstanceMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module InstanceMethods
|
|
9
|
+
def webhooks
|
|
10
|
+
WebhookResource.new(access_token, uri)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
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
|
|
48
|
+
end
|
|
49
|
+
end
|
|
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
|
+
version: 4.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tremendous Developers
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-05-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -17,9 +17,9 @@ dependencies:
|
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '3.2'
|
|
20
|
-
- - "
|
|
20
|
+
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version:
|
|
22
|
+
version: '6.2'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -27,23 +27,23 @@ dependencies:
|
|
|
27
27
|
- - ">="
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
29
|
version: '3.2'
|
|
30
|
-
- - "
|
|
30
|
+
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: '6.2'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: httparty
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.
|
|
39
|
+
version: 0.18.0
|
|
40
40
|
type: :runtime
|
|
41
41
|
prerelease: false
|
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 0.
|
|
46
|
+
version: 0.18.0
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: jwt
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -58,77 +58,49 @@ dependencies:
|
|
|
58
58
|
- - ">="
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
60
|
version: 1.5.0
|
|
61
|
-
- !ruby/object:Gem::Dependency
|
|
62
|
-
name: minitest
|
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - "~>"
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: '5.0'
|
|
68
|
-
type: :development
|
|
69
|
-
prerelease: false
|
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
-
requirements:
|
|
72
|
-
- - "~>"
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: '5.0'
|
|
75
|
-
- !ruby/object:Gem::Dependency
|
|
76
|
-
name: mocha
|
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
|
78
|
-
requirements:
|
|
79
|
-
- - "~>"
|
|
80
|
-
- !ruby/object:Gem::Version
|
|
81
|
-
version: '1.1'
|
|
82
|
-
type: :development
|
|
83
|
-
prerelease: false
|
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
-
requirements:
|
|
86
|
-
- - "~>"
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: '1.1'
|
|
89
61
|
- !ruby/object:Gem::Dependency
|
|
90
62
|
name: rake
|
|
91
63
|
requirement: !ruby/object:Gem::Requirement
|
|
92
64
|
requirements:
|
|
93
|
-
- - "
|
|
65
|
+
- - ">="
|
|
94
66
|
- !ruby/object:Gem::Version
|
|
95
|
-
version:
|
|
67
|
+
version: 12.3.3
|
|
96
68
|
type: :development
|
|
97
69
|
prerelease: false
|
|
98
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
71
|
requirements:
|
|
100
|
-
- - "
|
|
72
|
+
- - ">="
|
|
101
73
|
- !ruby/object:Gem::Version
|
|
102
|
-
version:
|
|
74
|
+
version: 12.3.3
|
|
103
75
|
- !ruby/object:Gem::Dependency
|
|
104
|
-
name:
|
|
76
|
+
name: rspec
|
|
105
77
|
requirement: !ruby/object:Gem::Requirement
|
|
106
78
|
requirements:
|
|
107
|
-
- - "
|
|
79
|
+
- - ">="
|
|
108
80
|
- !ruby/object:Gem::Version
|
|
109
|
-
version:
|
|
81
|
+
version: 3.5.0
|
|
110
82
|
type: :development
|
|
111
83
|
prerelease: false
|
|
112
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
85
|
requirements:
|
|
114
|
-
- - "
|
|
86
|
+
- - ">="
|
|
115
87
|
- !ruby/object:Gem::Version
|
|
116
|
-
version:
|
|
88
|
+
version: 3.5.0
|
|
117
89
|
- !ruby/object:Gem::Dependency
|
|
118
90
|
name: webmock
|
|
119
91
|
requirement: !ruby/object:Gem::Requirement
|
|
120
92
|
requirements:
|
|
121
|
-
- - "
|
|
93
|
+
- - ">="
|
|
122
94
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: '
|
|
95
|
+
version: '3'
|
|
124
96
|
type: :development
|
|
125
97
|
prerelease: false
|
|
126
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
127
99
|
requirements:
|
|
128
|
-
- - "
|
|
100
|
+
- - ">="
|
|
129
101
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: '
|
|
131
|
-
description:
|
|
102
|
+
version: '3'
|
|
103
|
+
description:
|
|
132
104
|
email:
|
|
133
105
|
- developers@tremendous.com
|
|
134
106
|
executables: []
|
|
@@ -138,22 +110,26 @@ files:
|
|
|
138
110
|
- lib/tremendous.rb
|
|
139
111
|
- lib/tremendous/base.rb
|
|
140
112
|
- lib/tremendous/campaign.rb
|
|
141
|
-
- lib/tremendous/catalog.rb
|
|
142
113
|
- lib/tremendous/embed.rb
|
|
143
114
|
- lib/tremendous/error.rb
|
|
144
115
|
- lib/tremendous/funding_source.rb
|
|
145
|
-
- lib/tremendous/gift.rb
|
|
146
116
|
- lib/tremendous/invoice.rb
|
|
117
|
+
- lib/tremendous/member.rb
|
|
147
118
|
- lib/tremendous/order.rb
|
|
148
119
|
- lib/tremendous/organization.rb
|
|
149
|
-
- lib/tremendous/
|
|
120
|
+
- lib/tremendous/product.rb
|
|
150
121
|
- lib/tremendous/request.rb
|
|
122
|
+
- lib/tremendous/rest.rb
|
|
123
|
+
- lib/tremendous/reward.rb
|
|
151
124
|
- lib/tremendous/version.rb
|
|
152
|
-
|
|
125
|
+
- lib/tremendous/webhook.rb
|
|
126
|
+
homepage: https://github.com/tremendous-rewards/tremendous-ruby
|
|
153
127
|
licenses:
|
|
154
128
|
- MIT
|
|
155
|
-
metadata:
|
|
156
|
-
|
|
129
|
+
metadata:
|
|
130
|
+
documentation_uri: https://www.tremendous.com/docs
|
|
131
|
+
source_code_uri: https://github.com/tremendous-rewards/tremendous-ruby
|
|
132
|
+
post_install_message:
|
|
157
133
|
rdoc_options: []
|
|
158
134
|
require_paths:
|
|
159
135
|
- lib
|
|
@@ -168,9 +144,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
168
144
|
- !ruby/object:Gem::Version
|
|
169
145
|
version: '0'
|
|
170
146
|
requirements: []
|
|
171
|
-
rubyforge_project:
|
|
172
|
-
rubygems_version: 2.
|
|
173
|
-
signing_key:
|
|
147
|
+
rubyforge_project:
|
|
148
|
+
rubygems_version: 2.7.6.3
|
|
149
|
+
signing_key:
|
|
174
150
|
specification_version: 4
|
|
175
151
|
summary: Tremendous Ruby API SDK
|
|
176
152
|
test_files: []
|
data/lib/tremendous/catalog.rb
DELETED
data/lib/tremendous/gift.rb
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
module Tremendous
|
|
2
|
-
class Gift
|
|
3
|
-
|
|
4
|
-
def self.list(filters={})
|
|
5
|
-
response = Tremendous::Request.get(
|
|
6
|
-
'gifts',
|
|
7
|
-
query: filters.merge(Tremendous.default_options),
|
|
8
|
-
format: 'json'
|
|
9
|
-
)[:gifts]
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.retrieve(id)
|
|
13
|
-
response = Tremendous::Request.get "gifts/#{id}",
|
|
14
|
-
query: Tremendous.default_options,
|
|
15
|
-
format: 'json'
|
|
16
|
-
response[:gift]
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Tremendous
|
|
2
|
-
class OrganizationMember
|
|
3
|
-
|
|
4
|
-
def self.to_path(organization_id)
|
|
5
|
-
"organizations/#{organization_id}/members"
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def self.create!(organization_id, data)
|
|
9
|
-
response = Tremendous::Request.post(
|
|
10
|
-
to_path(organization_id),
|
|
11
|
-
body: data.merge(Tremendous.default_options).to_json,
|
|
12
|
-
headers: { 'Content-Type' => 'application/json' }
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
response[:member]
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def self.list(organization_id)
|
|
19
|
-
Tremendous::Request.get(
|
|
20
|
-
to_path(organization_id),
|
|
21
|
-
query: Tremendous.default_options,
|
|
22
|
-
format: 'json'
|
|
23
|
-
)[:members]
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|