access 2.0.5 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 100a3e65380dfc48bc1ad1fe2cf07c40431bee46
4
- data.tar.gz: e4cebc0077d742bc3598b863d82069f4d9c3746c
3
+ metadata.gz: e2143c3448ab92d8d2c6e6ef732addd98d2eadb5
4
+ data.tar.gz: 85abd3b0b5551dfcddc30f0a62c0a72215405648
5
5
  SHA512:
6
- metadata.gz: 87cb79639c4d777219e05da43ba74a3a412609b7565985496a06ea9350036cc1a6e7e036286a165a3b684fa961fc21cfefb38239965002293ff405264e7e9872
7
- data.tar.gz: 50101457f225678230a3bcb1e76ebba5f755db5961a0af6c9a3eee7fb4b7088cc6d9ce3b478f049f023f9fc096c275d240423a40a632ec2e89185dd9789327c0
6
+ metadata.gz: 225f6b7dc3cfca5d6f58bd76ac64e07cd9d0d719ab8ffa4409da36ca7ca2696a638a6a365b0902ddf4ce64b2b837239bbcfccc4b54200cc72c8afe9f1cb81fae
7
+ data.tar.gz: 4a7c899f1eca0b78dbe64eae7ce68fc6432b2a07eff04817a9ab0420e7e5721f83819f7b6404c4172e67139fdb9c1a409a909797b6f15b0d358a1211f477de06
@@ -3,6 +3,7 @@ require "hashie"
3
3
  require "httparty"
4
4
 
5
5
  require "access/config"
6
+ require "access/aggregations"
6
7
  require "access/api"
7
8
  require "access/autocomplete"
8
9
  require "access/campaign"
@@ -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
@@ -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
- ChampaignResponse.new(response)
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
- ChampaignResponse.new(response)
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
 
@@ -12,5 +12,12 @@ module Access
12
12
  end
13
13
  end
14
14
 
15
+ def self.register(options = {})
16
+ Access::Api.new.member_registration options
17
+ end
18
+
19
+ def self.authenticate(options = {})
20
+ Access::Api.new.member_authentication options
21
+ end
15
22
  end
16
23
  end
@@ -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))
@@ -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, :total_api_calls, :time_period, :interval, :report_env
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
- @members = Access::Member.process_batch(@members)
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 ChampaignResponse < Response
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
@@ -1,4 +1,4 @@
1
1
  module Access
2
- VERSION = "2.0.5"
2
+ VERSION = "2.0.7"
3
3
  end
4
4
 
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.5
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-15 00:00:00.000000000 Z
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