rails-cloud-tasks 0.0.6 → 0.0.9

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: 04d8c81b125d6c5a31fc5058b0a363615a39a5c96ae091df89a383055938b294
4
- data.tar.gz: 40d5e7c7dea249786c94a3933e8d77e4baf29364bdceb3a2f4c30e652544e05e
3
+ metadata.gz: cf8686a1d37e225e18480144e17a4d31b2f266d59797bf8cf58b167234ec0ee8
4
+ data.tar.gz: 7f1c4d33eb8262432fab9890fc673d1edaa8909f958eca547fb5f7da1119b30f
5
5
  SHA512:
6
- metadata.gz: a851899a7195a2280ab19b5b9276c993c143782b7756362b48f04731dcca769db99c765f889c5c255f33c87e15255e4263de285a6c45ec4fafb02759b6037db0
7
- data.tar.gz: fba16fe2a21f0466216fd1eabb901ef657e53356f33ec8e1fc005533a875ac45e1280926fa2090d2f69e03c1ab71bebbf0bd90739fa324dc70f9a257c8f705e7
6
+ metadata.gz: fa8eb367eee9f5c6f93ed3820c7595e39af878f22d5a0eedfbc43f0a54eb63ff639f60e04146a4e12abbc1db08b8e4c9804fcdbf829240f4ed7bb0114df932bc
7
+ data.tar.gz: 3e4d0fbf5cbbaa78766060b46163c765802468f7e1d27c2d543bb33ac240ab3994fd7ef3f7029cabd97f8a227bef2118c91d0e713a514c628ac86c11b7fbcab3
@@ -2,14 +2,8 @@ require 'google-cloud-tasks'
2
2
 
3
3
  module RailsCloudTasks
4
4
  class Adapter
5
- attr_reader :client
6
-
7
5
  delegate :project_id, :location_id, :host, :tasks_path, :auth, to: 'RailsCloudTasks.config'
8
6
 
9
- def initialize(client = Google::Cloud::Tasks.cloud_tasks)
10
- @client = client
11
- end
12
-
13
7
  def enqueue(job, timestamp = nil)
14
8
  path = client.queue_path(project: project_id, location: location_id, queue: job.queue_name)
15
9
  task = build_task(job, timestamp)
@@ -28,6 +22,10 @@ module RailsCloudTasks
28
22
  enqueue(job, timestamp.to_i)
29
23
  end
30
24
 
25
+ def client
26
+ @client ||= Google::Cloud::Tasks.cloud_tasks
27
+ end
28
+
31
29
  private
32
30
 
33
31
  def url
@@ -39,7 +37,8 @@ module RailsCloudTasks
39
37
  http_request: {
40
38
  http_method: :POST,
41
39
  url: url,
42
- body: { job: job.serialize }.to_json.force_encoding('ASCII-8BIT')
40
+ body: { job: job.serialize }.to_json.force_encoding('ASCII-8BIT'),
41
+ headers: { 'Content-Type': 'application/json' }
43
42
  }.merge(auth),
44
43
  schedule_time: timestamp && Google::Protobuf::Timestamp.new.tap do |ts|
45
44
  ts.seconds = timestamp
@@ -1,7 +1,6 @@
1
1
  module RailsCloudTasks
2
2
  class Credentials
3
3
  require 'googleauth'
4
- require 'google/apis/cloudscheduler_v1'
5
4
  require 'google/apis/iamcredentials_v1'
6
5
 
7
6
  DEFAULT_SCOPES = ['https://www.googleapis.com/auth/cloud-platform'].freeze
@@ -4,17 +4,13 @@ module RailsCloudTasks
4
4
  :scheduler_file_path, :scheduler_prefix_name,
5
5
  :service_account_email, to: 'RailsCloudTasks.config'
6
6
 
7
- attr_reader :client, :credentials, :logger
7
+ attr_reader :credentials, :logger
8
8
 
9
9
  def initialize(
10
- client: Google::Cloud::Scheduler.cloud_scheduler,
11
10
  credentials: RailsCloudTasks::Credentials.new,
12
11
  logger: RailsCloudTasks.logger
13
12
  )
14
- client.configure do |config|
15
- config.credentials = credentials.generate(service_account_email)
16
- end
17
- @client = client
13
+ @credentials = credentials
18
14
  @logger = logger
19
15
  end
20
16
 
@@ -28,6 +24,13 @@ module RailsCloudTasks
28
24
  log_output(result)
29
25
  end
30
26
 
27
+ def client
28
+ configure = lambda { |client|
29
+ client.configure.credentials = credentials.generate(service_account_email)
30
+ }
31
+ @client ||= Google::Cloud::Scheduler.cloud_scheduler.tap(&configure)
32
+ end
33
+
31
34
  protected
32
35
 
33
36
  def location_path
@@ -1,3 +1,3 @@
1
1
  module RailsCloudTasks
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = '0.0.9'.freeze
3
3
  end
@@ -23,7 +23,6 @@ Gem::Specification.new do |spec|
23
23
  end
24
24
 
25
25
  spec.add_dependency 'activesupport', '>= 4'
26
- spec.add_dependency 'google-apis-cloudscheduler_v1'
27
26
  spec.add_dependency 'google-apis-iamcredentials_v1'
28
27
  spec.add_dependency 'google-cloud-scheduler', '>= 2'
29
28
  spec.add_dependency 'google-cloud-tasks', '>= 2'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-cloud-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilherme Araújo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-22 00:00:00.000000000 Z
11
+ date: 2021-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4'
27
- - !ruby/object:Gem::Dependency
28
- name: google-apis-cloudscheduler_v1
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: google-apis-iamcredentials_v1
43
29
  requirement: !ruby/object:Gem::Requirement