embulk-output-bigquery 0.6.9 → 0.7.1

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: c07225701eda6aae9b1785a0204f22a7c19dcc6af5df3bb9186ff32029ca4a89
4
- data.tar.gz: d611f3d7b023f49c9d35febe3bdb2caaab73feeeb7903cb22d432f9c0799b6fc
3
+ metadata.gz: 4fba97c5f4a2935df80c4c4efb7f389c9818f221773c856b5f490f8e3e65c172
4
+ data.tar.gz: e6949d104a822c586dc65180aff030af3da963a535a9e2ca3a9ac5b93f706527
5
5
  SHA512:
6
- metadata.gz: 99f64826852010f0f3473f70016d38fb0640d70e5ee713861e633834cb41d4b8f606214272a8a11c0612b6fadaa8905f581e226b952fac3eb06908a050dfa090
7
- data.tar.gz: d6d3e7a11b7406710afa6fccca129809011465597d664be4d2b5cb55886711fa7751e43be1c91bee2d013a042402d6aa5f451096fc166e3f0cecb392ab4d13d3
6
+ metadata.gz: 695c2c596d172eed178ddf34e12b985c7179cff73924d316641e77e4ee52465bb79d94d7e7c1141a7831859fe44d15cfd28b6f7aa0b409ce0d57626ac83abea9
7
+ data.tar.gz: c48f7b6ce8df9141f2c716ffec0d0786fc5aa87cad034fffeb6df5055236cb5dff651f41f17580a6041b769cfd9198be36656909b87e1c844a694faef42616fa
@@ -0,0 +1,42 @@
1
+ name: Check
2
+ on: [ pull_request, push ]
3
+ jobs:
4
+ check:
5
+ runs-on: ubuntu-latest
6
+ # push: always run.
7
+ # pull_request: run only when the PR is submitted from a forked repository, not within this repository.
8
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
9
+ strategy:
10
+ matrix:
11
+ jruby_version:
12
+ - 9.3.10.0
13
+ - 9.4.2.0
14
+ fail-fast: false
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - name: Set up OpenJDK 8
18
+ uses: actions/setup-java@v4
19
+ with:
20
+ java-version: 8
21
+ distribution: "temurin"
22
+ - uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: 'jruby-${{ matrix.jruby_version }}'
25
+ bundler-cache: true
26
+ - name: show ruby version
27
+ run: ruby -v
28
+ - name: bundle install
29
+ run: bundle install
30
+ #
31
+ # This step avoids the following error in the JRuby 9.4 test.
32
+ #
33
+ # Gem::LoadError: You have already activated rake 13.0.6,
34
+ # but your Gemfile requires rake 13.1.0. Prepending
35
+ # `bundle exec` to your command may solve this.
36
+ #
37
+ - name: install rake 13.1.0
38
+ run: gem install rake -v 13.1.0
39
+ - name: install embulk.jar
40
+ run: "curl -L -o embulk.jar https://github.com/embulk/embulk/releases/download/v0.10.49/embulk-0.10.49.jar"
41
+ - name: rake test
42
+ run: bundle exec env RUBYOPT="-r ./embulk.jar" rake test
@@ -0,0 +1,41 @@
1
+ name: Publish
2
+ on:
3
+ push:
4
+ tags:
5
+ - "v0.*"
6
+ jobs:
7
+ publish:
8
+ runs-on: ubuntu-latest
9
+ environment: maven-central-and-ruby-gems
10
+ strategy:
11
+ fail-fast: true
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: 3.3.0
18
+ # get tag variable using {{ github.ref_name }}
19
+ #
20
+ # References:
21
+ # * https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
22
+ # * https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
23
+ - name: extract gem version from tag
24
+ id: vars
25
+ run: echo version=${{ github.ref_name }} | sed -e 's/v0/0/' >> $GITHUB_OUTPUT
26
+ #
27
+ # From gem push documents.
28
+ #
29
+ # The push command will use ~/.gem/credentials to authenticate to a server,
30
+ # but you can use the RubyGems environment variable GEM_HOST_API_KEY
31
+ # to set the api key to authenticate.
32
+ #
33
+ # https://guides.rubygems.org/command-reference/#gem-push
34
+ #
35
+ - name: Publish
36
+ run: |
37
+ rake build
38
+ gem push pkg/${EMBULK_PLUGIN_NAME}-${{ steps.vars.outputs.version }}.gem
39
+ env:
40
+ EMBULK_PLUGIN_NAME: embulk-output-bigquery
41
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}"
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.7.1 - 2024-03-4
2
+ * [enhancement] Support description of columns and tables (Thanks to @kyoshidajp and @fagai ) #142
3
+ * [maintenance] Add missing GitHub Actions environment setting. #160
4
+ * [maintenance] Replace google-api-client with specific Google APIs (Thanks to @Nozomuts) #161
5
+ * [maintenance] Update GitHub Actions use checkout@v4 and setup-java@v4 #162
6
+
7
+ ## 0.7.0 - 2024-02-1
8
+ * [enhancement] Add support Embulk 0.11.x
9
+
1
10
  ## 0.6.9 - 2023-03-16
2
11
  * [enhancement] Add SSLException to retry job (thanks to @mzumi)
3
12
 
data/Gemfile CHANGED
@@ -1,8 +1,7 @@
1
1
  source 'https://rubygems.org/'
2
2
 
3
3
  gemspec
4
- gem 'embulk', '< 0.10'
5
- gem 'liquid', '= 4.0.0' # the version included in embulk.jar
4
+ gem 'embulk', '= 0.10.49'
6
5
  gem 'embulk-parser-none'
7
6
  gem 'embulk-parser-jsonl'
8
7
  gem 'pry-nav'
data/README.md CHANGED
@@ -1,7 +1,5 @@
1
1
  # embulk-output-bigquery
2
2
 
3
- [![Build Status](https://secure.travis-ci.org/embulk/embulk-output-bigquery.png?branch=master)](http://travis-ci.org/embulk/embulk-output-bigquery)
4
-
5
3
  [Embulk](https://github.com/embulk/embulk/) output plugin to load/insert data into [Google BigQuery](https://cloud.google.com/bigquery/) using [direct insert](https://cloud.google.com/bigquery/loading-data-into-bigquery#loaddatapostrequest)
6
4
 
7
5
  ## Overview
@@ -14,6 +12,13 @@ https://developers.google.com/bigquery/loading-data-into-bigquery
14
12
  * **Cleanup supported**: no
15
13
  * **Dynamic table creating**: yes
16
14
 
15
+ ### Supported Embulk
16
+
17
+ | gem version | Embulk version |
18
+ |------------------|--------------------|
19
+ | 0.7.0 and higher | v0.11.0 and higher |
20
+ | 0.6.9 and lower | v0.9.X and lower |
21
+
17
22
  ### NOT IMPLEMENTED
18
23
  * insert data over streaming inserts
19
24
  * for continuous real-time insertions
@@ -55,6 +60,7 @@ OAuth flow for installed applications.
55
60
  | gcs_bucket | string | optional | nil | See [GCS Bucket](#gcs-bucket) |
56
61
  | auto_create_gcs_bucket | boolean | optional | false | See [GCS Bucket](#gcs-bucket) |
57
62
  | progress_log_interval | float | optional | nil (Disabled) | Progress log interval. The progress log is disabled by nil (default). NOTE: This option may be removed in a future because a filter plugin can achieve the same goal |
63
+ | description | string | optional | nil | description of table |
58
64
 
59
65
  Client or request options
60
66
 
@@ -324,6 +330,7 @@ Column options are used to aid guessing BigQuery schema, or to define conversion
324
330
  - json: `STRING`, `RECORD` (default: `STRING`)
325
331
  - **mode**: BigQuery mode such as `NULLABLE`, `REQUIRED`, and `REPEATED` (string, default: `NULLABLE`)
326
332
  - **fields**: Describes the nested schema fields if the type property is set to RECORD. Please note that this is **required** for `RECORD` column.
333
+ - **description**: description (string, default is `None`).
327
334
  - **timestamp_format**: timestamp format to convert into/from `timestamp` (string, default is `default_timestamp_format`)
328
335
  - **timezone**: timezone to convert into/from `timestamp`, `date` (string, default is `default_timezone`).
329
336
  - **default_timestamp_format**: default timestamp format for column_options (string, default is "%Y-%m-%d %H:%M:%S.%6N")
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "embulk-output-bigquery"
3
- spec.version = "0.6.9"
3
+ spec.version = "0.7.1"
4
4
  spec.authors = ["Satoshi Akama", "Naotoshi Seo"]
5
5
  spec.summary = "Google BigQuery output plugin for Embulk"
6
6
  spec.description = "Embulk plugin that insert records to Google BigQuery."
@@ -14,18 +14,14 @@ Gem::Specification.new do |spec|
14
14
  spec.test_files = spec.files.grep(%r{^(test|spec)/})
15
15
  spec.require_paths = ["lib"]
16
16
 
17
- # TODO
18
- # signet 0.12.0 and google-api-client 0.33.0 require >= Ruby 2.4.
19
- # Embulk 0.9 use JRuby 9.1.X.Y and it's compatible with Ruby 2.3.
20
- # So, force install signet < 0.12 and google-api-client < 0.33.0
21
- # Also, representable version >= 3.1.0 requires Ruby version >= 2.4
22
- spec.add_dependency 'signet', '~> 0.7', '< 0.12.0'
23
- spec.add_dependency 'google-api-client','< 0.33.0'
17
+ # the latest version
18
+ spec.add_dependency 'google-apis-storage_v1'
19
+ spec.add_dependency 'google-apis-bigquery_v2'
24
20
  spec.add_dependency 'time_with_zone'
25
- spec.add_dependency "representable", ['~> 3.0.0', '< 3.1']
26
- # faraday 1.1.0 require >= Ruby 2.4.
27
- # googleauth 0.9.0 requires faraday ~> 0.12
28
- spec.add_dependency "faraday", '~> 0.12'
21
+ spec.add_dependency 'thwait'
22
+ # activesupport require Ruby >= 2.7.0
23
+ # jruby-9.3.0.0 is MRI 2.6 compatible
24
+ spec.add_dependency 'activesupport', "< 7.0"
29
25
 
30
26
  spec.add_development_dependency 'bundler', ['>= 1.10.6']
31
27
  spec.add_development_dependency 'rake', ['>= 10.0']
@@ -121,7 +121,7 @@ module Embulk
121
121
  opts = {}
122
122
 
123
123
  Embulk.logger.debug { "embulk-output-bigquery: insert_job(#{@project}, #{body}, #{opts})" }
124
- response = with_network_retry { client.insert_job(@project, body, opts) }
124
+ response = with_network_retry { client.insert_job(@project, body, **opts) }
125
125
  unless @task['is_skip_job_result_check']
126
126
  response = wait_load('Load', response)
127
127
  end
@@ -222,7 +222,7 @@ module Embulk
222
222
  # },
223
223
  }
224
224
  Embulk.logger.debug { "embulk-output-bigquery: insert_job(#{@project}, #{body}, #{opts})" }
225
- response = with_network_retry { client.insert_job(@project, body, opts) }
225
+ response = with_network_retry { client.insert_job(@project, body, **opts) }
226
226
  if @task['is_skip_job_result_check']
227
227
  response
228
228
  else
@@ -278,7 +278,7 @@ module Embulk
278
278
 
279
279
  opts = {}
280
280
  Embulk.logger.debug { "embulk-output-bigquery: insert_job(#{@project}, #{body}, #{opts})" }
281
- response = with_network_retry { client.insert_job(@project, body, opts) }
281
+ response = with_network_retry { client.insert_job(@project, body, **opts) }
282
282
  wait_load('Copy', response)
283
283
  rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e
284
284
  response = {status_code: e.status_code, message: e.message, error_class: e.class}
@@ -372,7 +372,7 @@ module Embulk
372
372
  end
373
373
  opts = {}
374
374
  Embulk.logger.debug { "embulk-output-bigquery: insert_dataset(#{@project}, #{dataset}, #{@location_for_log}, #{body}, #{opts})" }
375
- with_network_retry { client.insert_dataset(@project, body, opts) }
375
+ with_network_retry { client.insert_dataset(@project, body, **opts) }
376
376
  rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e
377
377
  if e.status_code == 409 && /Already Exists:/ =~ e.message
378
378
  # ignore 'Already Exists' error
@@ -420,6 +420,7 @@ module Embulk
420
420
  table_reference: {
421
421
  table_id: table,
422
422
  },
423
+ description: @task['description'],
423
424
  schema: {
424
425
  fields: fields,
425
426
  }
@@ -447,7 +448,7 @@ module Embulk
447
448
 
448
449
  opts = {}
449
450
  Embulk.logger.debug { "embulk-output-bigquery: insert_table(#{@project}, #{dataset}, #{@location_for_log}, #{body}, #{opts})" }
450
- with_network_retry { client.insert_table(@project, dataset, body, opts) }
451
+ with_network_retry { client.insert_table(@project, dataset, body, **opts) }
451
452
  rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e
452
453
  if e.status_code == 409 && /Already Exists:/ =~ e.message
453
454
  # ignore 'Already Exists' error
@@ -46,10 +46,11 @@ module Embulk
46
46
  embulk_type = column[:type]
47
47
  column_option = column_options_map[column_name] || {}
48
48
  {}.tap do |field|
49
- field[:name] = column_name
50
- field[:type] = (column_option['type'] || bq_type_from_embulk_type(embulk_type)).upcase
51
- field[:mode] = column_option['mode'] if column_option['mode']
52
- field[:fields] = deep_symbolize_keys(column_option['fields']) if column_option['fields']
49
+ field[:name] = column_name
50
+ field[:type] = (column_option['type'] || bq_type_from_embulk_type(embulk_type)).upcase
51
+ field[:mode] = column_option['mode'] if column_option['mode']
52
+ field[:fields] = deep_symbolize_keys(column_option['fields']) if column_option['fields']
53
+ field[:description] = column_option['description'] if column_option['description']
53
54
  end
54
55
  end
55
56
  end
@@ -63,6 +63,8 @@ module Embulk
63
63
  'payload_column' => config.param('payload_column', :string, :default => nil),
64
64
  'payload_column_index' => config.param('payload_column_index', :integer, :default => nil),
65
65
 
66
+ 'description' => config.param('description', :string, :default => nil),
67
+
66
68
  'open_timeout_sec' => config.param('open_timeout_sec', :integer, :default => nil),
67
69
  'timeout_sec' => config.param('timeout_sec', :integer, :default => nil), # google-api-ruby-client < v0.11.0
68
70
  'send_timeout_sec' => config.param('send_timeout_sec', :integer, :default => nil), # google-api-ruby-client >= v0.11.0
data/test/helper.rb CHANGED
@@ -4,14 +4,14 @@ require 'bundler/setup'
4
4
  require 'test/unit'
5
5
  require 'test/unit/rr'
6
6
 
7
+ # Embulk 0.10.x introduced new bootstrap mechanism.
8
+ # https://github.com/embulk/embulk/blob/641f35fec064cca7b1a7314d634a4b64ef8637f1/embulk-ruby/test/vanilla/run-test.rb#L8-L13
9
+ static_initializer = Java::org.embulk.EmbulkDependencyClassLoader.staticInitializer().useSelfContainedJarFiles()
10
+ static_initializer.java_send :initialize
11
+
12
+ require 'embulk/java/bootstrap'
7
13
  require 'embulk'
8
- begin
9
- # Embulk ~> 0.8.x
10
- Embulk.setup
11
- rescue NotImplementedError, NoMethodError, NameError
12
- # Embulk ~> 0.9.x
13
- require 'embulk/java/bootstrap'
14
- end
14
+
15
15
  Embulk.logger = Embulk::Logger.new('/dev/null')
16
16
 
17
17
  APP_ROOT = File.expand_path('../', __dir__)
data/test/test_helper.rb CHANGED
@@ -68,7 +68,7 @@ module Embulk
68
68
  ])
69
69
  task = {
70
70
  'column_options' => [
71
- {'name' => 'boolean', 'type' => 'STRING', 'mode' => 'REQUIRED'},
71
+ {'name' => 'boolean', 'type' => 'STRING', 'mode' => 'REQUIRED', 'description' => 'hoge'},
72
72
  {'name' => 'long', 'type' => 'STRING'},
73
73
  {'name' => 'double', 'type' => 'STRING'},
74
74
  {'name' => 'string', 'type' => 'INTEGER'},
@@ -81,7 +81,7 @@ module Embulk
81
81
  ],
82
82
  }
83
83
  expected = [
84
- {name: 'boolean', type: 'STRING', mode: 'REQUIRED'},
84
+ {name: 'boolean', type: 'STRING', mode: 'REQUIRED', description: 'hoge'},
85
85
  {name: 'long', type: 'STRING'},
86
86
  {name: 'double', type: 'STRING'},
87
87
  {name: 'string', type: 'INTEGER'},
@@ -109,7 +109,7 @@ module Embulk
109
109
  task = Bigquery.configure(config, schema, processor_count)
110
110
  any_instance_of(BigqueryClient) do |obj|
111
111
  mock(obj).get_dataset(config['dataset'])
112
- mock(obj).create_table_if_not_exists(config['temp_table'])
112
+ mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
113
113
  mock(obj).create_table_if_not_exists(config['table'])
114
114
  mock(obj).copy(config['temp_table'], config['table'], write_disposition: 'WRITE_TRUNCATE')
115
115
  mock(obj).delete_table(config['temp_table'])
@@ -122,7 +122,7 @@ module Embulk
122
122
  task = Bigquery.configure(config, schema, processor_count)
123
123
  any_instance_of(BigqueryClient) do |obj|
124
124
  mock(obj).get_dataset(config['dataset'])
125
- mock(obj).create_table_if_not_exists(config['temp_table'])
125
+ mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
126
126
  mock(obj).create_table_if_not_exists(config['table'])
127
127
  mock(obj).copy(config['temp_table'], config['table'], write_disposition: 'WRITE_TRUNCATE')
128
128
  mock(obj).delete_table(config['temp_table'])
@@ -138,7 +138,7 @@ module Embulk
138
138
  any_instance_of(BigqueryClient) do |obj|
139
139
  mock(obj).get_dataset(config['dataset'])
140
140
  mock(obj).get_dataset(config['dataset_old'])
141
- mock(obj).create_table_if_not_exists(config['temp_table'])
141
+ mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
142
142
  mock(obj).create_table_if_not_exists(config['table'])
143
143
  mock(obj).create_table_if_not_exists(config['table_old'], dataset: config['dataset_old'])
144
144
 
@@ -158,7 +158,7 @@ module Embulk
158
158
  mock(obj).create_dataset(config['dataset'])
159
159
  mock(obj).create_dataset(config['dataset_old'], reference: config['dataset'])
160
160
  mock(obj).create_table_if_not_exists(config['table'])
161
- mock(obj).create_table_if_not_exists(config['temp_table'])
161
+ mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
162
162
  mock(obj).create_table_if_not_exists(config['table_old'], dataset: config['dataset_old'])
163
163
 
164
164
  mock(obj).get_table_or_partition(config['table'])
@@ -176,7 +176,7 @@ module Embulk
176
176
  any_instance_of(BigqueryClient) do |obj|
177
177
  mock(obj).get_dataset(config['dataset'])
178
178
  mock(obj).get_dataset(config['dataset_old'])
179
- mock(obj).create_table_if_not_exists(config['temp_table'])
179
+ mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
180
180
  mock(obj).create_table_if_not_exists(config['table'])
181
181
  mock(obj).create_table_if_not_exists(config['table_old'], dataset: config['dataset_old'])
182
182
 
@@ -196,7 +196,7 @@ module Embulk
196
196
  task = Bigquery.configure(config, schema, processor_count)
197
197
  any_instance_of(BigqueryClient) do |obj|
198
198
  mock(obj).get_dataset(config['dataset'])
199
- mock(obj).create_table_if_not_exists(config['temp_table'])
199
+ mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
200
200
  mock(obj).create_table_if_not_exists(config['table'])
201
201
  mock(obj).copy(config['temp_table'], config['table'], write_disposition: 'WRITE_APPEND')
202
202
  mock(obj).delete_table(config['temp_table'])
@@ -209,7 +209,7 @@ module Embulk
209
209
  task = Bigquery.configure(config, schema, processor_count)
210
210
  any_instance_of(BigqueryClient) do |obj|
211
211
  mock(obj).get_dataset(config['dataset'])
212
- mock(obj).create_table_if_not_exists(config['temp_table'])
212
+ mock(obj).create_table_if_not_exists(config['temp_table'], options: {"expiration_time"=>nil})
213
213
  mock(obj).create_table_if_not_exists(config['table'])
214
214
  mock(obj).copy(config['temp_table'], config['table'], write_disposition: 'WRITE_APPEND')
215
215
  mock(obj).delete_table(config['temp_table'])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-output-bigquery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.9
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Satoshi Akama
@@ -9,42 +9,36 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-03-17 00:00:00.000000000 Z
12
+ date: 2024-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: signet
15
+ name: google-apis-storage_v1
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '0.7'
21
- - - "<"
18
+ - - ">="
22
19
  - !ruby/object:Gem::Version
23
- version: 0.12.0
20
+ version: '0'
24
21
  type: :runtime
25
22
  prerelease: false
26
23
  version_requirements: !ruby/object:Gem::Requirement
27
24
  requirements:
28
- - - "~>"
29
- - !ruby/object:Gem::Version
30
- version: '0.7'
31
- - - "<"
25
+ - - ">="
32
26
  - !ruby/object:Gem::Version
33
- version: 0.12.0
27
+ version: '0'
34
28
  - !ruby/object:Gem::Dependency
35
- name: google-api-client
29
+ name: google-apis-bigquery_v2
36
30
  requirement: !ruby/object:Gem::Requirement
37
31
  requirements:
38
- - - "<"
32
+ - - ">="
39
33
  - !ruby/object:Gem::Version
40
- version: 0.33.0
34
+ version: '0'
41
35
  type: :runtime
42
36
  prerelease: false
43
37
  version_requirements: !ruby/object:Gem::Requirement
44
38
  requirements:
45
- - - "<"
39
+ - - ">="
46
40
  - !ruby/object:Gem::Version
47
- version: 0.33.0
41
+ version: '0'
48
42
  - !ruby/object:Gem::Dependency
49
43
  name: time_with_zone
50
44
  requirement: !ruby/object:Gem::Requirement
@@ -60,39 +54,33 @@ dependencies:
60
54
  - !ruby/object:Gem::Version
61
55
  version: '0'
62
56
  - !ruby/object:Gem::Dependency
63
- name: representable
57
+ name: thwait
64
58
  requirement: !ruby/object:Gem::Requirement
65
59
  requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 3.0.0
69
- - - "<"
60
+ - - ">="
70
61
  - !ruby/object:Gem::Version
71
- version: '3.1'
62
+ version: '0'
72
63
  type: :runtime
73
64
  prerelease: false
74
65
  version_requirements: !ruby/object:Gem::Requirement
75
66
  requirements:
76
- - - "~>"
77
- - !ruby/object:Gem::Version
78
- version: 3.0.0
79
- - - "<"
67
+ - - ">="
80
68
  - !ruby/object:Gem::Version
81
- version: '3.1'
69
+ version: '0'
82
70
  - !ruby/object:Gem::Dependency
83
- name: faraday
71
+ name: activesupport
84
72
  requirement: !ruby/object:Gem::Requirement
85
73
  requirements:
86
- - - "~>"
74
+ - - "<"
87
75
  - !ruby/object:Gem::Version
88
- version: '0.12'
76
+ version: '7.0'
89
77
  type: :runtime
90
78
  prerelease: false
91
79
  version_requirements: !ruby/object:Gem::Requirement
92
80
  requirements:
93
- - - "~>"
81
+ - - "<"
94
82
  - !ruby/object:Gem::Version
95
- version: '0.12'
83
+ version: '7.0'
96
84
  - !ruby/object:Gem::Dependency
97
85
  name: bundler
98
86
  requirement: !ruby/object:Gem::Requirement
@@ -129,6 +117,8 @@ executables: []
129
117
  extensions: []
130
118
  extra_rdoc_files: []
131
119
  files:
120
+ - ".github/workflows/check.yml"
121
+ - ".github/workflows/publish.yml"
132
122
  - ".gitignore"
133
123
  - ".travis.yml"
134
124
  - CHANGELOG.md
@@ -172,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
162
  - !ruby/object:Gem::Version
173
163
  version: '0'
174
164
  requirements: []
175
- rubygems_version: 3.3.7
165
+ rubygems_version: 3.5.3
176
166
  signing_key:
177
167
  specification_version: 4
178
168
  summary: Google BigQuery output plugin for Embulk