frederick_api 0.7 → 0.9

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
  SHA256:
3
- metadata.gz: f39d405adb2db91e4cb552498c7188779cba58f587c7d2a35824f0cc18ee4587
4
- data.tar.gz: 53b2858d0355ac8bba535e75d7950c0407cbfe61317b52f38d4623e002f044e4
3
+ metadata.gz: af582661b851880a278f82844f06ec98910f639cf0292ec1249f1ed1127b0a27
4
+ data.tar.gz: 5740b928ced7a2d9f4964388dbd5e543cbb0827c571f562899ab3a651a030f43
5
5
  SHA512:
6
- metadata.gz: 65a77c37baa3e8d3f170438d206a3095d21ca3b4548a6f009dd3cb450dcba43453c8f99f8704df0898a631b67dd3595002a7e7723d0c21124b1349869beba5ee
7
- data.tar.gz: eabcd9f083df57b8b7350a405daa27cdaa8eebe82a00ea65694dbbf03bcbc0e94e0ec7bc2f5fd345106cd4ee30ddd327c31a4c24ca21317ac272b10dc2e4fa98
6
+ metadata.gz: dd740314950b62480828dc4878a603582edd4bf00c6bddc7e7a6b694707b90da52fd2e31ccdf226b86afeff09aeccd0a12d94b900f322a1e153a3e5a48ce9515
7
+ data.tar.gz: e535fb7f7655cbf975424497a333292d1dae97c9c8cb3f0621fac118f6e694d360dd355250f1ab91427144038c6a009392c37a0c47a64b4a9536b34a223a6582
data/README.md CHANGED
@@ -88,6 +88,21 @@ FrederickAPI::V2::Location.with_access_token(access_token) do
88
88
  end
89
89
  ```
90
90
 
91
+ ### Using Headers
92
+
93
+ `Resource.with_access_token` is extended to take headers in the method `Resource.with_access_token_and_headers`. This is useful when we need to pass the universal customer to services that accept it.
94
+
95
+ ```ruby
96
+ access_token = '9jsdo320fjfkfdksls30dfdcd919bcaa1b7804dbbebda0'
97
+ headers = { 'X-Universal-Customer': '{"source_platform":"mindbody","source_location_id":"1","source_customer_id":"77"}' }
98
+
99
+ FrederickAPI::V2::CommunicationTemplate.with_access_token_and_headers(access_token, headers) do
100
+ template = FrederickAPI::V2::CommunicationTemplate.create(template_attributes)
101
+
102
+ template.name
103
+ # => 'Name from Attrs'
104
+ end
105
+ ```
91
106
  ### Nested Resources
92
107
 
93
108
  Nested resources must be accessed using `where` to scope the request:
@@ -111,4 +126,4 @@ Polling until the job is complete, fetching and returning the completed resource
111
126
  * A FrederickAPI::V2::Errors::BackgroundJobFailure exception is raised if the API returns
112
127
  an error on an asyncronous job.
113
128
  * A BackgroundJob Resource will be returned from the client in the case that a successful
114
- job does not return a resources.
129
+ job does not return a resource.
data/lib/frederick_api.rb CHANGED
@@ -25,6 +25,7 @@ require 'frederick_api/v2/business_category'
25
25
 
26
26
  # Core resources
27
27
  require 'frederick_api/v2/automation'
28
+ require 'frederick_api/v2/automation_step'
28
29
  require 'frederick_api/v2/communication_content'
29
30
  require 'frederick_api/v2/contact'
30
31
  require 'frederick_api/v2/contact_property'
@@ -34,6 +35,7 @@ require 'frederick_api/v2/interaction'
34
35
  require 'frederick_api/v2/role'
35
36
  require 'frederick_api/v2/campaign'
36
37
  require 'frederick_api/v2/email_document'
38
+ require 'frederick_api/v2/communication_template'
37
39
 
38
40
  # Namespace for all Frederick API client methods/classes
39
41
  module FrederickAPI
@@ -5,6 +5,8 @@ module FrederickAPI
5
5
  # /v2/locations/:location_id/automations
6
6
  class Automation < Resource
7
7
  belongs_to :location
8
+ has_many :automation_steps
9
+
8
10
  self.read_only_attributes += [:location_id]
9
11
  end
10
12
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FrederickAPI
4
+ module V2
5
+ # Resource for automation step
6
+ class AutomationStep < Resource
7
+ belongs_to :location
8
+ has_one :automation
9
+ has_one :previous_automation_step, class_name: 'FrederickAPI::V2::AutomationStep'
10
+
11
+ self.read_only_attributes += %i[location_id]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FrederickAPI
4
+ module V2
5
+ # V2 CommunicationTemplate Resource
6
+ class CommunicationTemplate < Resource; end
7
+ end
8
+ end
@@ -56,7 +56,7 @@ module FrederickAPI
56
56
 
57
57
  path_without_params = "#{uri.scheme}://#{uri.host}#{uri.path}"
58
58
  params = uri.query ? CGI.parse(uri.query).each_with_object({}) { |(k, v), h| h[k] = v[0] } : {}
59
- request(:post, path_without_params, params: params, additional_headers: { 'X-Request-Method' => 'GET' })
59
+ request(:post, path_without_params, body: params.to_json, additional_headers: { 'X-Request-Method' => 'GET' })
60
60
  end
61
61
 
62
62
  # Retry once on unhandled server errors
@@ -36,7 +36,16 @@ module FrederickAPI
36
36
  end
37
37
 
38
38
  def self.with_access_token(token)
39
- with_headers(authorization: "Bearer #{token}") do
39
+ with_access_token_and_headers(token) do
40
+ yield
41
+ end
42
+ end
43
+
44
+ def self.with_access_token_and_headers(token, headers = {})
45
+ with_headers(
46
+ authorization: "Bearer #{token}",
47
+ **headers
48
+ ) do
40
49
  yield
41
50
  end
42
51
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module FrederickAPI
4
4
  # Current gem version
5
- VERSION = '0.7'
5
+ VERSION = '0.9'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frederick_api
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.7'
4
+ version: '0.9'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frederick Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-14 00:00:00.000000000 Z
11
+ date: 2021-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_api_client
@@ -36,10 +36,12 @@ files:
36
36
  - lib/frederick_api.rb
37
37
  - lib/frederick_api/configuration.rb
38
38
  - lib/frederick_api/v2/automation.rb
39
+ - lib/frederick_api/v2/automation_step.rb
39
40
  - lib/frederick_api/v2/background_job.rb
40
41
  - lib/frederick_api/v2/business_category.rb
41
42
  - lib/frederick_api/v2/campaign.rb
42
43
  - lib/frederick_api/v2/communication_content.rb
44
+ - lib/frederick_api/v2/communication_template.rb
43
45
  - lib/frederick_api/v2/contact.rb
44
46
  - lib/frederick_api/v2/contact_list.rb
45
47
  - lib/frederick_api/v2/contact_property.rb