rdstation-ruby-client 2.5.1 → 2.5.3

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
  SHA256:
3
- metadata.gz: 97ef40283572e980be5fee4c7d98d02d267a48e2eca8c948b8d51be95f5e807b
4
- data.tar.gz: ebba8f50fef8eaa254c1187f6f2e5e0e9bbf393ad94e185870f250cb2f9bd14d
3
+ metadata.gz: a86741ab9503d0df23891a8c5f5624ecfa1aa16239bdcceff547b38600490ce3
4
+ data.tar.gz: ee42acbda82c510a976cc6219eba9ac84761cdcbc74923f3c6ba59047ac25102
5
5
  SHA512:
6
- metadata.gz: 467b42ba1b17c256dba0ed6ab2ed632e83c437ae1067d043ccb97c4274244376cc26dd770ef112c8b81eb31c40fd37486bfb4b28f83b16f9dc0a47730a3d6e07
7
- data.tar.gz: 6bdcada4a7418e8fd4cab9d4b121d3192667ebccac2869f9fdae759966e291e0698cc914dd1681c6c8493f78717599d063ac868a5ea5e9e23e13da003215563e
6
+ metadata.gz: d8bfed006377c6561dfc35e5951a303d8efa17b049d20523abcf6a580b467280b30a8072d320756fbaa7420af142e7c2c99f9d5f7b93732bc0dcbcb2a41fbdde
7
+ data.tar.gz: 182cda1194b7fad1a853663c0eed931615acaf9c13dc60f60ff378f63765175a3a622e9e349801cda369d06aff84b2b0ca2541f7fe3fa755c8122e31f81b9220
@@ -0,0 +1,11 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ time: "06:00"
8
+ timezone: Etc/UCT
9
+ pull-request-branch-name:
10
+ separator: "-"
11
+ open-pull-requests-limit: 10
@@ -3,9 +3,7 @@ module RDStation
3
3
  class Authentication
4
4
  include HTTParty
5
5
 
6
- AUTH_TOKEN_URL = 'https://api.rd.services/auth/token'.freeze
7
6
  DEFAULT_HEADERS = { 'Content-Type' => 'application/json' }.freeze
8
- REVOKE_URL = 'https://api.rd.services/auth/revoke'.freeze
9
7
 
10
8
  def initialize(client_id = nil, client_secret = nil)
11
9
  warn_deprecation if client_id || client_secret
@@ -19,7 +17,7 @@ module RDStation
19
17
  # after confirming application authorization
20
18
  #
21
19
  def auth_url(redirect_url)
22
- "https://api.rd.services/auth/dialog?client_id=#{@client_id}&redirect_url=#{redirect_url}"
20
+ "#{RDStation.host}/auth/dialog?client_id=#{@client_id}&redirect_url=#{redirect_url}"
23
21
  end
24
22
 
25
23
  # Public: Get the credentials from RD Station API
@@ -51,7 +49,7 @@ module RDStation
51
49
 
52
50
  def self.revoke(access_token:)
53
51
  response = self.post(
54
- REVOKE_URL,
52
+ "#{RDStation.host}/auth/revoke",
55
53
  body: revoke_body(access_token),
56
54
  headers: revoke_headers(access_token)
57
55
  )
@@ -79,7 +77,7 @@ module RDStation
79
77
  body = default_body.merge(params)
80
78
 
81
79
  self.class.post(
82
- AUTH_TOKEN_URL,
80
+ "#{RDStation.host}/auth/token",
83
81
  body: body.to_json,
84
82
  headers: DEFAULT_HEADERS
85
83
  )
@@ -64,7 +64,7 @@ module RDStation
64
64
  private
65
65
 
66
66
  def base_url(path = '')
67
- "https://api.rd.services/platform/contacts/#{path}"
67
+ "#{RDStation.host}/platform/contacts/#{path}"
68
68
  end
69
69
  end
70
70
  end
@@ -1,19 +1,25 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RDStation
2
4
  class Events
3
5
  include HTTParty
4
6
  include ::RDStation::RetryableRequest
5
7
 
6
- EVENTS_ENDPOINT = 'https://api.rd.services/platform/events'.freeze
7
-
8
8
  def initialize(authorization:)
9
9
  @authorization = authorization
10
10
  end
11
11
 
12
12
  def create(payload)
13
13
  retryable_request(@authorization) do |authorization|
14
- response = self.class.post(EVENTS_ENDPOINT, headers: authorization.headers, body: payload.to_json)
14
+ response = self.class.post(base_url, headers: authorization.headers, body: payload.to_json)
15
15
  ApiResponse.build(response)
16
16
  end
17
17
  end
18
+
19
+ private
20
+
21
+ def base_url
22
+ "#{RDStation.host}/platform/events"
23
+ end
18
24
  end
19
25
  end
@@ -1,26 +1,25 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  module RDStation
3
4
  # More info: https://developers.rdstation.com/pt-BR/reference/fields
4
5
  class Fields
5
6
  include HTTParty
6
7
  include ::RDStation::RetryableRequest
7
8
 
8
- BASE_URL = 'https://api.rd.services/platform/contacts/fields'.freeze
9
-
10
9
  def initialize(authorization:)
11
10
  @authorization = authorization
12
11
  end
13
12
 
14
13
  def all
15
14
  retryable_request(@authorization) do |authorization|
16
- response = self.class.get(BASE_URL, headers: authorization.headers)
15
+ response = self.class.get(base_url, headers: authorization.headers)
17
16
  ApiResponse.build(response)
18
17
  end
19
18
  end
20
19
 
21
20
  def create(payload)
22
21
  retryable_request(@authorization) do |authorization|
23
- response = self.class.post(BASE_URL, headers: authorization.headers, body: payload.to_json)
22
+ response = self.class.post(base_url, headers: authorization.headers, body: payload.to_json)
24
23
  ApiResponse.build(response)
25
24
  end
26
25
  end
@@ -42,7 +41,7 @@ module RDStation
42
41
  private
43
42
 
44
43
  def base_url(path = '')
45
- "#{BASE_URL}/#{path}"
44
+ "#{RDStation.host}/platform/contacts/fields/#{path}"
46
45
  end
47
46
  end
48
47
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RDStation
2
- VERSION = '2.5.1'.freeze
4
+ VERSION = '2.5.3'
3
5
  end
@@ -51,7 +51,7 @@ module RDStation
51
51
  end
52
52
 
53
53
  def base_url(path = '')
54
- "https://api.rd.services/integrations/webhooks/#{path}"
54
+ "#{RDStation.host}/integrations/webhooks/#{path}"
55
55
  end
56
56
  end
57
57
  end
data/lib/rdstation.rb CHANGED
@@ -2,14 +2,21 @@ module RDStation
2
2
  class << self
3
3
  attr_accessor :configuration
4
4
 
5
+ HOST = 'https://api.rd.services'.freeze
6
+
5
7
  def configure
6
8
  self.configuration ||= Configuration.new
9
+ self.configuration.base_host = HOST
7
10
  yield(configuration)
8
11
  end
12
+
13
+ def host
14
+ self.configuration&.base_host || HOST
15
+ end
9
16
  end
10
-
17
+
11
18
  class Configuration
12
- attr_accessor :client_id, :client_secret
19
+ attr_accessor :client_id, :client_secret, :base_host
13
20
  attr_reader :access_token_refresh_callback
14
21
 
15
22
  def on_access_token_refresh(&block)
@@ -1,6 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  RSpec.describe RDStation::Fields do
6
+ before do
7
+ RDStation.configure do |config|
8
+ config.base_host = 'https://sample.rd.services'
9
+ end
10
+ end
11
+
4
12
  let(:valid_access_token) { 'valid_access_token' }
5
13
  let(:rdstation_fields_with_valid_token) do
6
14
  described_class.new(authorization: RDStation::Authorization.new(access_token: valid_access_token))
@@ -14,7 +22,7 @@ RSpec.describe RDStation::Fields do
14
22
  end
15
23
 
16
24
  describe '#all' do
17
- let(:fields_endpoint) { 'https://api.rd.services/platform/contacts/fields' }
25
+ let(:fields_endpoint) { 'https://sample.rd.services/platform/contacts/fields/' }
18
26
  let(:all_account_fields) do
19
27
  {
20
28
  'fields' => [
@@ -1,18 +1,41 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe RDStation do
4
- describe '.configure' do
5
- let(:client_id) { 'client_id' }
6
- let(:client_secret) { 'client_secret' }
4
+ let(:client_id) { 'client_id' }
5
+ let(:client_secret) { 'client_secret' }
6
+ let(:base_host) { 'https://test-api.rd.services' }
7
+
8
+ before do
9
+ RDStation.configure do |config|
10
+ config.client_id = client_id
11
+ config.client_secret = client_secret
12
+ config.base_host = base_host
13
+ end
14
+ end
15
+
16
+ after { RDStation.configure {} }
7
17
 
18
+ describe '.configure' do
8
19
  it 'sets the configuration' do
9
- RDStation.configure do |config|
10
- config.client_id = client_id
11
- config.client_secret = client_secret
20
+ expect(RDStation.configuration.client_id).to eq(client_id)
21
+ expect(RDStation.configuration.client_secret).to eq(client_secret)
22
+ expect(RDStation.configuration.base_host).to eq(base_host)
23
+ end
24
+ end
25
+
26
+ describe '.host' do
27
+ context 'when base_host is defined in configuration' do
28
+ it 'returns specified host' do
29
+ expect(RDStation.host).to eq(base_host)
12
30
  end
31
+ end
32
+
33
+ context 'when base_host is not defined in configuration' do
34
+ it 'returns default host' do
35
+ RDStation.configure {}
13
36
 
14
- expect(RDStation.configuration.client_id).to eq client_id
15
- expect(RDStation.configuration.client_secret).to eq client_secret
37
+ expect(RDStation.host).to eq('https://api.rd.services')
38
+ end
16
39
  end
17
40
  end
18
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdstation-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.1
4
+ version: 2.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paulo L F Casaretto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-07 00:00:00.000000000 Z
11
+ date: 2022-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -131,6 +131,7 @@ extra_rdoc_files: []
131
131
  files:
132
132
  - ".circleci/config.yml"
133
133
  - ".github/ISSUE_TEMPLATE/rdsm-ruby-client-issue-template.md"
134
+ - ".github/dependabot.yml"
134
135
  - ".gitignore"
135
136
  - ".rspec"
136
137
  - CHANGELOG.md
@@ -207,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
208
  - !ruby/object:Gem::Version
208
209
  version: '0'
209
210
  requirements: []
210
- rubygems_version: 3.0.8
211
+ rubygems_version: 3.2.32
211
212
  signing_key:
212
213
  specification_version: 4
213
214
  summary: Ruby API wrapper for RD Station