chalk_ruby 0.1.1 → 0.1.2

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: 475cbc00a9b6c9a048e287fdca499ffd257a768c63471598c1db61d8a4757baf
4
- data.tar.gz: bee580988929bc2219c4f6e6778e17eb8c2055ed80799be251d5af21295e32c8
3
+ metadata.gz: be35291268749664bfdee468de9a997bd421f3b16683ffb847e12f3089f22e46
4
+ data.tar.gz: 3670d6543e87f11cee499ed8477729364e57a2072437ed798f1a721d7823e93d
5
5
  SHA512:
6
- metadata.gz: 64ea24c0bc3d3ea81f2d32c72a7220c70a5e1c7e88a0dcef1c5907dbccbc40d4f9a9d6d91e1917359ec516c7a864b9ba3a57c2848c98f5dba83a2cf61c8f1d7e
7
- data.tar.gz: f8821a753ba007213b63977d6a0b465944320e20d96728db4edd7e57a4a2aeb9b5f79ef2dc18ce5cfa29e648151a354d90061f19f7dd43a77c85c7bf0e28dfa5
6
+ metadata.gz: 87b9e3a20075fda23a00ba5e38dc91827afcc18922b6b664e1fb31676623ce2d67627cd0d1a56831740fa03eeeaf99439841151073bfd1413b33e9811aa45281
7
+ data.tar.gz: 908b81be15e3c99571a7195f9464496b0f52bb5447f96728d82e2ed57365b5828dfef48c911a42d850ed9262a1bfb4c26b496cd7649e8a1512605c28a10a4c4f
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Ruby client for ChalkRuby
4
4
 
5
+ https://rubygems.org/gems/chalk_ruby
6
+
5
7
  ## Getting Started
6
8
 
7
9
  First, install ChalkRuby Ruby API Client via the [RubyGems](https://rubygems.org/) package manager:
@@ -22,4 +24,4 @@ results = client.query(
22
24
 
23
25
  ## License
24
26
 
25
- The ChalkRuby Ruby API Client is an open-sourced software licensed under the [Apache 2 License](LICENSE.md).
27
+ The Chalk Ruby API Client is an open-sourced software licensed under the [Apache 2 License](LICENSE.md).
@@ -26,6 +26,9 @@ module ChalkRuby
26
26
  # @param api_server [String]
27
27
  # ChalkRuby API server
28
28
  #
29
+ # @param additional_headers [Hash[String, String]]
30
+ # Additional headers to be sent with every request. Typically not required.
31
+ #
29
32
  # @return self
30
33
  #
31
34
  def self.create(
@@ -33,14 +36,16 @@ module ChalkRuby
33
36
  client_secret = nil,
34
37
  environment = nil,
35
38
  query_server = nil,
36
- api_server = nil
39
+ api_server = nil,
40
+ additional_headers = {}
37
41
  )
38
42
  config = Config.new(
39
43
  client_id: client_id,
40
44
  client_secret: client_secret,
41
45
  environment: environment,
42
46
  query_server: query_server,
43
- api_server: api_server
47
+ api_server: api_server,
48
+ additional_headers: additional_headers
44
49
  )
45
50
  create_with_config(config)
46
51
  end
@@ -153,7 +158,7 @@ module ChalkRuby
153
158
  include_meta: include_meta || false,
154
159
  store_plan_stages: store_plan_stages || false
155
160
  },
156
- headers: get_authenticated_headers(branch: branch)
161
+ headers: get_authenticated_engine_headers(branch: branch)
157
162
  )
158
163
  end
159
164
 
@@ -221,15 +226,17 @@ module ChalkRuby
221
226
  )
222
227
  end
223
228
 
224
- def get_authenticated_headers(branch:)
225
- t = valid_token
226
- {
229
+ def get_authenticated_engine_headers(branch:)
230
+ t = valid_token
231
+ tokens = {
227
232
  'Content-Type': 'application/json',
228
233
  'Accept': 'application/json',
229
234
  'Authorization': 'Bearer ' + t.token,
230
235
  'X-Chalk-Env-Id': @config.environment || t.environment,
231
- 'X-Chalk-Branch-Id': branch
236
+ 'X-Chalk-Branch-Id': branch,
237
+ 'X-Chalk-Deployment-Type': branch.nil? ? 'engine' : 'branch'
232
238
  }
239
+ tokens.merge(@config.additional_headers)
233
240
  end
234
241
 
235
242
  def get_unauthenticated_headers
@@ -237,7 +244,7 @@ module ChalkRuby
237
244
  'Content-Type': 'application/json',
238
245
  'Accept': 'application/json',
239
246
  'X-Chalk-Env-Id': @config.environment
240
- }
247
+ }.merge(@config.additional_headers)
241
248
  end
242
249
 
243
250
  def query_server_host
@@ -10,7 +10,8 @@ module ChalkRuby
10
10
  :environment,
11
11
  :query_timeout,
12
12
  :api_timeout,
13
- :connect_timeout
13
+ :connect_timeout,
14
+ :additional_headers
14
15
 
15
16
  # Creates a new ChalkRuby::Config object for use with ChalkRuby::Client.
16
17
  #
@@ -39,15 +40,19 @@ module ChalkRuby
39
40
  # @option options [Integer?] :connect_timeout
40
41
  # The timeout for connect operations (in seconds).
41
42
  #
43
+ # @option options [Hash<String, String>?] :additional_headers
44
+ # Additional headers to be sent with every request. Typically not required.
45
+ #
42
46
  def initialize(opts = {})
43
- @client_id = opts[:client_id] || ENV['CHALK_CLIENT_ID']
44
- @client_secret = opts[:client_secret] || ENV['CHALK_CLIENT_SECRET']
45
- @environment = opts[:environment] || ENV['CHALK_ACTIVE_ENVIRONMENT']
46
- @query_server = opts[:query_server] || ENV['CHALK_QUERY_SERVER'] || Defaults::QUERY_SERVER
47
- @api_server = opts[:api_server] || ENV['CHALK_API_SERVER'] || Defaults::API_SERVER
48
- @query_timeout = opts[:query_timeout] || Defaults::API_TIMEOUT
49
- @api_timeout = opts[:api_timeout] || Defaults::QUERY_TIMEOUT
50
- @connect_timeout = opts[:connect_timeout] || Defaults::CONNECT_TIMEOUT
47
+ @client_id = opts[:client_id] || ENV['CHALK_CLIENT_ID']
48
+ @client_secret = opts[:client_secret] || ENV['CHALK_CLIENT_SECRET']
49
+ @environment = opts[:environment] || ENV['CHALK_ACTIVE_ENVIRONMENT']
50
+ @query_server = opts[:query_server] || ENV['CHALK_QUERY_SERVER'] || Defaults::QUERY_SERVER
51
+ @api_server = opts[:api_server] || ENV['CHALK_API_SERVER'] || Defaults::API_SERVER
52
+ @query_timeout = opts[:query_timeout] || Defaults::API_TIMEOUT
53
+ @api_timeout = opts[:api_timeout] || Defaults::QUERY_TIMEOUT
54
+ @connect_timeout = opts[:connect_timeout] || Defaults::CONNECT_TIMEOUT
55
+ @additional_headers = opts[:additional_headers] || {}
51
56
 
52
57
  raise ChalkError, 'No Client ID provided, please set :client_id' if @client_id.nil?
53
58
  raise ChalkError, 'No Client Secret provided, please set :client_secret' if @client_secret.nil?
@@ -1,3 +1,3 @@
1
1
  module ChalkRuby
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.2'.freeze
3
3
  end
@@ -4,7 +4,14 @@ module ChalkRuby
4
4
  @token: Token?
5
5
  @transporter: Http::HttpRequesterChalk
6
6
 
7
- def self.create: -> Client
7
+ def self.create: (
8
+ String? client_id,
9
+ String? client_secret,
10
+ String? environment,
11
+ String? query_server,
12
+ String? api_server,
13
+ Hash[String, String]? additional_headers
14
+ ) -> Client
8
15
 
9
16
  def self.create_with_config: -> Client
10
17
 
@@ -27,7 +34,7 @@ module ChalkRuby
27
34
 
28
35
  private
29
36
 
30
- def get_authenticated_headers: -> Hash[Symbol, String | nil]
37
+ def get_authenticated_engine_headers: (String? branch) -> Hash[Symbol, String | nil]
31
38
 
32
39
  def get_unauthenticated_headers: -> Hash[Symbol, String | nil]
33
40
 
@@ -1,5 +1,6 @@
1
1
  module ChalkRuby
2
2
  class Config
3
+ attr_accessor additional_headers: Hash[String, String]?
3
4
  attr_accessor client_id: String
4
5
  attr_accessor client_secret: String
5
6
 
@@ -22,7 +23,8 @@ module ChalkRuby
22
23
  query_timeout: Integer?,
23
24
  api_timeout: Integer?,
24
25
  connect_timeout: Integer?,
25
- compression_type: String?
26
+ compression_type: String?,
27
+ additional_headers: Hash[String, String]?
26
28
  }
27
29
 
28
30
  def initialize: (options opts) -> void
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chalk_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chalk AI, Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-08 00:00:00.000000000 Z
11
+ date: 2024-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler