access 2.0.5 → 2.0.7
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/access.rb +1 -0
- data/lib/access/aggregations.rb +18 -0
- data/lib/access/api.rb +13 -2
- data/lib/access/member.rb +7 -0
- data/lib/access/request.rb +13 -0
- data/lib/access/response.rb +20 -3
- data/lib/access/version.rb +1 -1
- 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: e2143c3448ab92d8d2c6e6ef732addd98d2eadb5
|
4
|
+
data.tar.gz: 85abd3b0b5551dfcddc30f0a62c0a72215405648
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 225f6b7dc3cfca5d6f58bd76ac64e07cd9d0d719ab8ffa4409da36ca7ca2696a638a6a365b0902ddf4ce64b2b837239bbcfccc4b54200cc72c8afe9f1cb81fae
|
7
|
+
data.tar.gz: 4a7c899f1eca0b78dbe64eae7ce68fc6432b2a07eff04817a9ab0420e7e5721f83819f7b6404c4172e67139fdb9c1a409a909797b6f15b0d358a1211f477de06
|
data/lib/access.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
module Access
|
2
|
+
class Aggregations
|
3
|
+
|
4
|
+
def self.process_batch(chunk)
|
5
|
+
chunk.map { |aggs| new(aggs) }
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(values)
|
9
|
+
self.class.class_eval {attr_reader *values.keys }
|
10
|
+
values.each do |attribute_name, attribute_value|
|
11
|
+
self.instance_variable_set("@#{attribute_name}", attribute_value)
|
12
|
+
end
|
13
|
+
@subcategories = Access::Category.process_batch(@subcategories) if @subcategories
|
14
|
+
@facets = Access::Aggregations.process_batch(@facets) if @facets
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
data/lib/access/api.rb
CHANGED
@@ -97,13 +97,13 @@ module Access
|
|
97
97
|
# Campaign
|
98
98
|
def search_campaigns(options = {})
|
99
99
|
request.get("/campaigns", "campaign", options) do |response|
|
100
|
-
|
100
|
+
CampaignResponse.new(response)
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
104
|
def find_campaign(campaign_key, options = {})
|
105
105
|
request.get("/campaigns/#{store_key}", "campaign", options) do |response|
|
106
|
-
|
106
|
+
CampaignResponse.new(response)
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
@@ -127,6 +127,17 @@ module Access
|
|
127
127
|
end
|
128
128
|
|
129
129
|
# Member
|
130
|
+
def member_registration(options = {})
|
131
|
+
request.post("/register", "mms", options) do |response|
|
132
|
+
MemberRegistrationResponse.new(response)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
def member_authentication(options = {})
|
137
|
+
request.get("/auth", "mms", options) do |response|
|
138
|
+
MemberResponse.new(response)
|
139
|
+
end
|
140
|
+
end
|
130
141
|
|
131
142
|
# Internal Admin only Call Below
|
132
143
|
|
data/lib/access/member.rb
CHANGED
data/lib/access/request.rb
CHANGED
@@ -15,6 +15,19 @@ module Access
|
|
15
15
|
raise Access::Error::Timeout
|
16
16
|
end
|
17
17
|
|
18
|
+
def post(path, api_type, options={}, &block)
|
19
|
+
url = set_base(api_type, path)
|
20
|
+
results = self.class.post(url, headers: headers(options[:access_token]), body: options.to_json, timeout: (options[:access_timeout] || 10))
|
21
|
+
if should_return_json?(options[:return_json])
|
22
|
+
hashify_results?(options[:hashify]) ? results.hashify : results
|
23
|
+
else
|
24
|
+
block.call results
|
25
|
+
end
|
26
|
+
rescue Net::ReadTimeout, Net::OpenTimeout
|
27
|
+
# block.call({"message"=>"Request Timeout Error", "status"=>408})
|
28
|
+
raise Access::Error::Timeout
|
29
|
+
end
|
30
|
+
|
18
31
|
def get_for_filter(path, api_type, filter, options={}, &block)
|
19
32
|
url = set_base(api_type, path)
|
20
33
|
results = self.class.get(url, headers: headers(options[:access_token]), body: filter, timeout: (options[:access_timeout] || 3))
|
data/lib/access/response.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
module Access
|
2
2
|
class Response
|
3
3
|
|
4
|
-
attr_accessor :info, :offers, :stores, :locations, :categories, :suggestions, :oauth_applications, :access_tokens, :oauth_tokens, :oauth_token, :verify, :reports, :members, :filters, :links, :dev_node, :message, :status, :success, :error, :response_status, :content_type, :redemption_method, :details, :oauth_access_token, :api_calls_over_time, :member_query_terms, :member_postal_codes, :
|
4
|
+
attr_accessor :info, :offers, :stores, :locations, :categories, :suggestions, :oauth_applications, :access_tokens, :oauth_tokens, :oauth_token, :verify, :reports, :members, :filters, :links, :dev_node, :message, :status, :success, :error, :response_status, :content_type, :redemption_method, :details, :oauth_access_token, :api_calls_over_time, :member_query_terms, :member_postal_codes, :offer_count_in_categories, :offer_count_by_redemption_method, :offer_count_by_facet, :custom_aggregation, :internal_details, :users, :response
|
5
5
|
|
6
6
|
def initialize(response)
|
7
|
+
@response = response # Setting this temporarily so i can have a working member reg call, since it doesn't follow the resource [] best practices
|
7
8
|
response.each { |key, value| instance_variable_set("@#{key}", value) if self.class.instance_methods.include? key.to_sym }
|
8
9
|
@response_status = response.message
|
9
10
|
@status ||= response.code
|
@@ -37,6 +38,10 @@ module Access
|
|
37
38
|
# for when you search and it returns 0
|
38
39
|
(@offers = []; create_error) if @message
|
39
40
|
@offers = Access::Offer.process_batch(@offers)
|
41
|
+
@offer_count_in_categories = Access::Aggregations.process_batch(@offer_count_in_categories) if @offer_count_in_categories
|
42
|
+
@offer_count_by_redemption_method = Access::Aggregations.process_batch(@offer_count_by_redemption_method) if @offer_count_by_redemption_method
|
43
|
+
@offer_count_by_facet = Access::Aggregations.process_batch(@offer_count_by_facet) if @offer_count_by_facet
|
44
|
+
@custom_aggregation = Access::Aggregations.process_batch(@custom_aggregation) if @custom_aggregation
|
40
45
|
end
|
41
46
|
end
|
42
47
|
|
@@ -44,6 +49,8 @@ module Access
|
|
44
49
|
def process_data
|
45
50
|
(@stores = []; create_error) if @message
|
46
51
|
@stores = Access::Store.process_batch(@stores)
|
52
|
+
@offer_count_in_categories = Access::Aggregations.process_batch(@offer_count_in_categories) if @offer_count_in_categories
|
53
|
+
@custom_aggregation = Access::Aggregations.process_batch(@custom_aggregation) if @custom_aggregation
|
47
54
|
end
|
48
55
|
end
|
49
56
|
|
@@ -51,6 +58,7 @@ module Access
|
|
51
58
|
def process_data
|
52
59
|
(@locations = []; create_error) if @message
|
53
60
|
@locations = Access::Location.process_batch(@locations)
|
61
|
+
@custom_aggregation = Access::Aggregations.process_batch(@custom_aggregation) if @custom_aggregation
|
54
62
|
end
|
55
63
|
end
|
56
64
|
|
@@ -108,9 +116,16 @@ module Access
|
|
108
116
|
end
|
109
117
|
end
|
110
118
|
|
119
|
+
class MemberRegistrationResponse < Response
|
120
|
+
def process_data
|
121
|
+
@users = Access::Member.process_batch([@response])
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
|
111
126
|
class MemberResponse < Response
|
112
127
|
def process_data
|
113
|
-
@
|
128
|
+
@users = Access::Member.process_batch(@users)
|
114
129
|
end
|
115
130
|
end
|
116
131
|
|
@@ -132,7 +147,7 @@ module Access
|
|
132
147
|
end
|
133
148
|
end
|
134
149
|
|
135
|
-
class
|
150
|
+
class CampaignResponse < Response
|
136
151
|
def process_data
|
137
152
|
@campaigns = Access::Campaign.process_batch(@campaigns)
|
138
153
|
end
|
@@ -144,4 +159,6 @@ module Access
|
|
144
159
|
end
|
145
160
|
end
|
146
161
|
|
162
|
+
|
163
|
+
|
147
164
|
end
|
data/lib/access/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: access
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Eggett
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-09-
|
13
|
+
date: 2015-09-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -217,6 +217,7 @@ files:
|
|
217
217
|
- bin/console
|
218
218
|
- bin/setup
|
219
219
|
- lib/access.rb
|
220
|
+
- lib/access/aggregations.rb
|
220
221
|
- lib/access/api.rb
|
221
222
|
- lib/access/autocomplete.rb
|
222
223
|
- lib/access/campaign.rb
|