kiba-common 1.1.0 → 1.5.0

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: 636c082d2dbe3688c83549cf4f915c0b9463fbeb41aff8694369cd9c663778e0
4
- data.tar.gz: aa732416381545e039c227bc99a4cf49592338157f0094fc2083828d492d630a
3
+ metadata.gz: 7c572e8d0d2cea374d8ee86d54ada3d323dd1087d91c002ef30b565c8dd98199
4
+ data.tar.gz: 1153c67d2bff98455663f4b2859d8af8f723ddab135411e720bc4abdbca3da3b
5
5
  SHA512:
6
- metadata.gz: eac14c3a878f2f4bd70b93dfe33391abaec9cbad3d00917d3dc8d11024a9d7ed5300468145648ba3443d2fe1387ff31a12314d3f1f50debdb2335293a377006d
7
- data.tar.gz: 2da4e3f3f2444bcecad2f1bb13b975f3a3551a3c568da1b27729dd7cd98ac6a880587a0284d204440c3b177082771e4a5a122abc6f361fa38869a1f5a2739643
6
+ metadata.gz: 4cfccbc1d90c83bd202d5bbd996fe02a5599ca0b210921d1d3d7ff1d205ecb2484ebe1a686d3345773dc7298cd86616e8a89ceaa607312cfb495b4b5c41df010
7
+ data.tar.gz: 76fc871cc277824452e94db9545092a8333bf26404151c5a5d5367be6a0d7df0690c834b3a576eedcca79e6299a3947b393f5c502c6ad9041de9f88259ebc12f
@@ -0,0 +1,41 @@
1
+ name: CI build
2
+ on: [push, pull_request]
3
+ jobs:
4
+ build:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
8
+ os: [ubuntu-latest]
9
+ ruby:
10
+ - '2.5'
11
+ - '2.6'
12
+ - '2.7'
13
+ - '3.0'
14
+ - head
15
+ - jruby
16
+ - jruby-head
17
+ - truffleruby
18
+ - truffleruby-head
19
+ runs-on: ${{ matrix.os }}
20
+ steps:
21
+ - uses: actions/checkout@v2
22
+ - uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
26
+ - run: bundle exec rake
27
+ # NOTE: calling "bundle install" because the cache apparently did not update due to the gemspec injection
28
+ - run: bundle install && bundle exec standardrb
29
+ if: matrix.ruby == '3.0' # not using "head" because rubocop won't work there yet
30
+ # What's below helps having a single "status check" for mergeability, without
31
+ # having to add each new version to the list of expected status checks in GitHub.
32
+ # See https://github.community/t/status-check-for-a-matrix-jobs/127354/7
33
+ global:
34
+ if: ${{ always() }}
35
+ runs-on: ubuntu-latest
36
+ name: build (matrix)
37
+ needs: build
38
+ steps:
39
+ - name: Check build matrix status
40
+ if: ${{ needs.build.result != 'success' }}
41
+ run: exit 1
data/Changes.md CHANGED
@@ -1,5 +1,14 @@
1
+ 1.5.0
2
+ -----
3
+
4
+ - Support for Kiba 4
5
+ - Breaking: Drop support for Ruby < 2.5
6
+ - Breaking: Require Kiba 3+
7
+ - [StandardRB](https://github.com/testdouble/standard) has been added for formatting & linting the codebase.
8
+
9
+
1
10
  1.1.0
2
- ----
11
+ -----
3
12
 
4
13
  - Support for Ruby 2.7+ (affects CSV source and destination)
5
14
  - Breaking: `show_me!` is now compatible with both `awesome_print` and its modern replacement `amazing_print`. You will have to `require` the one you want to use in your code from now on.
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  Kiba Common is a companion gem to [Kiba](https://github.com/thbar/kiba) and [Kiba Pro](https://github.com/thbar/kiba/blob/master/Pro-Changes.md) in which I'll share commonly used helpers.
2
2
 
3
- [![Build Status](https://travis-ci.org/thbar/kiba-common.svg?branch=master)](https://travis-ci.org/thbar/kiba-common) [![Gem Version](https://badge.fury.io/rb/kiba-common.svg)](https://badge.fury.io/rb/kiba-common)
3
+ [![Gem Version](https://badge.fury.io/rb/kiba-common.svg)](https://badge.fury.io/rb/kiba-common)
4
+ [![Build Status](https://github.com/thbar/kiba-common/actions/workflows/ci.yml/badge.svg)](https://github.com/thbar/kiba-common/actions)
4
5
 
5
6
  ## Usage
6
7
 
@@ -14,7 +15,8 @@ Then see below for each module usage & require clause.
14
15
 
15
16
  ## Supported Ruby versions
16
17
 
17
- `kiba-common` currently supports Ruby 2.3+ and JRuby (with its default 1.9 syntax). See [test matrix](https://travis-ci.org/thbar/kiba-common).
18
+ `kiba-common` currently supports Ruby 2.5+, JRuby 9.2+ and TruffleRuby. See [test matrix](https://github.com/thbar/kiba-common/actions).
19
+
18
20
 
19
21
  ## Available components
20
22
 
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
- require 'rake/testtask'
1
+ require "rake/testtask"
2
2
 
3
3
  Rake::TestTask.new(:test) do |t|
4
- t.pattern = 'test/test_*.rb'
4
+ t.pattern = "test/test_*.rb"
5
5
  end
6
6
 
7
7
  task default: :test
data/kiba-common.gemspec CHANGED
@@ -1,25 +1,25 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/kiba-common/version', __FILE__)
1
+ require File.expand_path("../lib/kiba-common/version", __FILE__)
3
2
 
4
3
  Gem::Specification.new do |gem|
5
- gem.authors = ['Thibaut Barrère']
6
- gem.email = ['thibaut.barrere@gmail.com']
7
- gem.description = gem.summary = 'Commonly used helpers for Kiba ETL'
8
- gem.homepage = 'https://github.com/thbar/kiba-common'
9
- gem.license = 'LGPL-3.0'
10
- gem.files = `git ls-files | grep -Ev '^(examples)'`.split("\n")
11
- gem.test_files = `git ls-files -- test/*`.split("\n")
12
- gem.name = 'kiba-common'
13
- gem.require_paths = ['lib']
14
- gem.version = Kiba::Common::VERSION
15
- gem.metadata = {
16
- 'source_code_uri' => 'https://github.com/thbar/kiba-common',
17
- 'documentation_uri' => 'https://github.com/thbar/kiba-common/blob/master/README.md',
4
+ gem.authors = ["Thibaut Barrère"]
5
+ gem.email = ["thibaut.barrere@gmail.com"]
6
+ gem.description = gem.summary = "Commonly used helpers for Kiba ETL"
7
+ gem.homepage = "https://github.com/thbar/kiba-common"
8
+ gem.license = "LGPL-3.0"
9
+ gem.files = `git ls-files | grep -Ev '^(examples)'`.split("\n")
10
+ gem.test_files = `git ls-files -- test/*`.split("\n")
11
+ gem.name = "kiba-common"
12
+ gem.require_paths = ["lib"]
13
+ gem.version = Kiba::Common::VERSION
14
+ gem.metadata = {
15
+ "source_code_uri" => "https://github.com/thbar/kiba-common",
16
+ "documentation_uri" => "https://github.com/thbar/kiba-common/blob/master/README.md"
18
17
  }
19
18
 
20
- gem.add_dependency 'kiba', '>= 1.0.0', '< 4'
21
- gem.add_development_dependency 'rake'
22
- gem.add_development_dependency 'minitest'
23
- gem.add_development_dependency 'amazing_print'
24
- gem.add_development_dependency 'minitest-focus'
19
+ gem.add_dependency "kiba", ">= 3.0.0", "< 5"
20
+ gem.add_development_dependency "rake"
21
+ gem.add_development_dependency "minitest"
22
+ gem.add_development_dependency "amazing_print"
23
+ gem.add_development_dependency "minitest-focus"
24
+ gem.add_development_dependency "standard"
25
25
  end
@@ -1,28 +1,31 @@
1
- require 'csv'
1
+ require "csv"
2
2
 
3
3
  module Kiba
4
4
  module Common
5
5
  module Destinations
6
6
  class CSV
7
7
  attr_reader :filename, :csv_options, :csv, :headers
8
-
8
+
9
9
  def initialize(filename:, csv_options: nil, headers: nil)
10
10
  @filename = filename
11
11
  @csv_options = csv_options || {}
12
12
  @headers = headers
13
13
  end
14
-
14
+
15
15
  def write(row)
16
- @csv ||= ::CSV.open(filename, 'wb', **csv_options)
16
+ @csv ||= ::CSV.open(filename, "wb", **csv_options)
17
17
  @headers ||= row.keys
18
- @headers_written ||= (csv << headers ; true)
18
+ @headers_written ||= begin
19
+ csv << headers
20
+ true
21
+ end
19
22
  csv << row.fetch_values(*@headers)
20
23
  end
21
-
24
+
22
25
  def close
23
26
  csv&.close
24
27
  end
25
28
  end
26
29
  end
27
30
  end
28
- end
31
+ end
@@ -3,7 +3,7 @@ module Kiba
3
3
  module Destinations
4
4
  class Lambda
5
5
  attr_reader :on_write, :on_close
6
-
6
+
7
7
  def initialize(on_init: nil, on_write: nil, on_close: nil)
8
8
  @on_write = on_write
9
9
  @on_close = on_close
@@ -1,4 +1,4 @@
1
- require 'logger'
1
+ require "logger"
2
2
 
3
3
  module Kiba
4
4
  module Common
@@ -10,7 +10,7 @@ module Kiba
10
10
  end
11
11
 
12
12
  def logger
13
- @logger ||= self.logger = ::Logger.new(STDOUT)
13
+ @logger ||= self.logger = ::Logger.new($stdout)
14
14
  end
15
15
  end
16
16
  end
@@ -1,4 +1,4 @@
1
- require 'csv'
1
+ require "csv"
2
2
 
3
3
  module Kiba
4
4
  module Common
@@ -7,7 +7,7 @@ module Kiba
7
7
  def initialize(enumerable)
8
8
  @enumerable = enumerable
9
9
  end
10
-
10
+
11
11
  def unwrap_enumerable
12
12
  enumerable.respond_to?(:call) ? enumerable.call : enumerable
13
13
  end
@@ -9,4 +9,4 @@ module Kiba
9
9
  end
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -1,5 +1,5 @@
1
1
  module Kiba
2
2
  module Common
3
- VERSION = '1.1.0'
3
+ VERSION = "1.5.0"
4
4
  end
5
5
  end
data/test/helper.rb CHANGED
@@ -1,6 +1,6 @@
1
- require 'minitest/autorun'
2
- require 'minitest/pride'
3
- require 'minitest/focus'
1
+ require "minitest/autorun"
2
+ require "minitest/pride"
3
+ require "minitest/focus"
4
4
 
5
- require 'kiba-common/sources/enumerable'
6
- require_relative 'support/assert_called'
5
+ require "kiba-common/sources/enumerable"
6
+ require_relative "support/assert_called"
@@ -7,4 +7,4 @@ module AssertCalled
7
7
  end
8
8
  mock.verify
9
9
  end
10
- end
10
+ end
@@ -2,8 +2,8 @@ class TestArrayDestination
2
2
  def initialize(array)
3
3
  @array = array
4
4
  end
5
-
5
+
6
6
  def write(row)
7
7
  @array << row
8
8
  end
9
- end
9
+ end
@@ -2,7 +2,7 @@ class TestHashConfiguredObject
2
2
  def initialize(config)
3
3
  @config = config
4
4
  end
5
-
5
+
6
6
  def each
7
7
  yield(@config)
8
8
  end
@@ -3,7 +3,7 @@ class TestKeywordProxySource
3
3
  @mandatory = mandatory
4
4
  @optional = optional
5
5
  end
6
-
6
+
7
7
  def each
8
8
  yield({
9
9
  mandatory: @mandatory,
@@ -1,10 +1,10 @@
1
- require_relative 'helper'
2
- require 'kiba'
3
- require 'kiba-common/destinations/csv'
1
+ require_relative "helper"
2
+ require "kiba"
3
+ require "kiba-common/destinations/csv"
4
4
 
5
5
  class TestCSVDestination < Minitest::Test
6
- TEST_FILENAME = 'output.csv'
7
-
6
+ TEST_FILENAME = "output.csv"
7
+
8
8
  def teardown
9
9
  File.delete(TEST_FILENAME) if File.exist?(TEST_FILENAME)
10
10
  end
@@ -21,24 +21,24 @@ class TestCSVDestination < Minitest::Test
21
21
  end
22
22
 
23
23
  Kiba.run(job)
24
-
24
+
25
25
  IO.read(TEST_FILENAME)
26
26
  end
27
-
27
+
28
28
  def test_classic
29
29
  assert_equal <<~CSV, run_etl
30
30
  name,age
31
31
  world,999
32
32
  CSV
33
33
  end
34
-
34
+
35
35
  def test_csv_options
36
- assert_equal <<~CSV, run_etl(csv_options: {col_sep: ';'})
36
+ assert_equal <<~CSV, run_etl(csv_options: {col_sep: ";"})
37
37
  name;age
38
38
  world;999
39
39
  CSV
40
40
  end
41
-
41
+
42
42
  def test_headers_provided
43
43
  assert_equal <<~CSV, run_etl(headers: [:age])
44
44
  age
@@ -1,16 +1,16 @@
1
- require_relative 'helper'
2
- require 'kiba'
3
- require 'kiba-common/sources/csv'
4
- require_relative 'support/test_array_destination'
1
+ require_relative "helper"
2
+ require "kiba"
3
+ require "kiba-common/sources/csv"
4
+ require_relative "support/test_array_destination"
5
5
 
6
6
  class TestCSVSource < MiniTest::Test
7
- TEST_FILENAME = 'input.csv'
7
+ TEST_FILENAME = "input.csv"
8
8
 
9
9
  def setup
10
- CSV.open(TEST_FILENAME, 'wb') do |csv|
11
- csv << %w(first_name last_name)
12
- csv << %w(John Barry)
13
- csv << %w(Kate Bush)
10
+ CSV.open(TEST_FILENAME, "wb") do |csv|
11
+ csv << %w[first_name last_name]
12
+ csv << %w[John Barry]
13
+ csv << %w[Kate Bush]
14
14
  end
15
15
  end
16
16
 
@@ -30,11 +30,11 @@ class TestCSVSource < MiniTest::Test
30
30
 
31
31
  def test_with_csv_options
32
32
  rows = run_job filename: TEST_FILENAME,
33
- csv_options: { headers: true, header_converters: :symbol }
33
+ csv_options: {headers: true, header_converters: :symbol}
34
34
 
35
35
  assert_equal [CSV::Row], rows.map(&:class).uniq
36
36
  assert_equal([
37
- {first_name: "John", last_name: "Barry" },
37
+ {first_name: "John", last_name: "Barry"},
38
38
  {first_name: "Kate", last_name: "Bush"}
39
39
  ], rows.map(&:to_h))
40
40
  end
@@ -43,9 +43,9 @@ class TestCSVSource < MiniTest::Test
43
43
  rows = run_job(filename: TEST_FILENAME)
44
44
 
45
45
  assert_equal [
46
- %w(first_name last_name),
47
- %w(John Barry),
48
- %w(Kate Bush)
46
+ %w[first_name last_name],
47
+ %w[John Barry],
48
+ %w[Kate Bush]
49
49
  ], rows
50
50
  end
51
51
  end
@@ -1,13 +1,13 @@
1
- require_relative 'helper'
2
- require 'kiba'
3
- require_relative 'support/test_array_destination'
4
- require 'kiba-common/transforms/enumerable_exploder'
5
- require 'kiba/dsl_extensions/config'
1
+ require_relative "helper"
2
+ require "kiba"
3
+ require_relative "support/test_array_destination"
4
+ require "kiba-common/transforms/enumerable_exploder"
5
+ require "kiba/dsl_extensions/config"
6
6
 
7
7
  class TestEnumerableExploderTransform < Minitest::Test
8
8
  def test_exploder
9
9
  output = []
10
- input = [[1,2],[3,4,5]]
10
+ input = [[1, 2], [3, 4, 5]]
11
11
 
12
12
  job = Kiba.parse do
13
13
  extend Kiba::DSLExtensions::Config
@@ -18,7 +18,7 @@ class TestEnumerableExploderTransform < Minitest::Test
18
18
  destination TestArrayDestination, output
19
19
  end
20
20
  Kiba.run(job)
21
-
21
+
22
22
  assert_equal input.flatten, output
23
23
  end
24
- end
24
+ end
@@ -1,6 +1,6 @@
1
- require_relative 'helper'
2
- require 'kiba'
3
- require_relative 'support/test_array_destination'
1
+ require_relative "helper"
2
+ require "kiba"
3
+ require_relative "support/test_array_destination"
4
4
 
5
5
  class TestEnumerableSource < Minitest::Test
6
6
  def assert_enumerable_source(input:, expected_output:)
@@ -16,12 +16,12 @@ class TestEnumerableSource < Minitest::Test
16
16
  end
17
17
  Kiba.run(job)
18
18
  end
19
-
19
+
20
20
  def test_source_as_enumerable
21
21
  assert_enumerable_source(input: (1..10), expected_output: (2..20).step(2).to_a)
22
22
  end
23
-
23
+
24
24
  def test_source_as_callable
25
25
  assert_enumerable_source(input: -> { (1..10) }, expected_output: (2..20).step(2).to_a)
26
26
  end
27
- end
27
+ end
@@ -1,8 +1,8 @@
1
- require_relative 'helper'
2
- require 'kiba'
3
- require_relative 'support/test_array_destination'
4
- require 'kiba-common/sources/csv'
5
- require 'kiba-common/destinations/csv'
1
+ require_relative "helper"
2
+ require "kiba"
3
+ require_relative "support/test_array_destination"
4
+ require "kiba-common/sources/csv"
5
+ require "kiba-common/destinations/csv"
6
6
 
7
7
  # a testbed to verify & showcase how you can chain multiple components
8
8
  class TestIntegration < Minitest::Test
@@ -14,8 +14,8 @@ class TestIntegration < Minitest::Test
14
14
 
15
15
  def test_multiple_csv_inputs
16
16
  Dir.mktmpdir do |dir|
17
- write_csv File.join(dir, '001.csv'), [first_name: 'John']
18
- write_csv File.join(dir, '002.csv'), [first_name: 'Kate']
17
+ write_csv File.join(dir, "001.csv"), [first_name: "John"]
18
+ write_csv File.join(dir, "002.csv"), [first_name: "Kate"]
19
19
 
20
20
  rows = []
21
21
  job = Kiba.parse do
@@ -24,14 +24,14 @@ class TestIntegration < Minitest::Test
24
24
  config :kiba, runner: Kiba::StreamingRunner
25
25
 
26
26
  # create one row per input file
27
- source Kiba::Common::Sources::Enumerable, -> { Dir[File.join(dir, '*.csv')].sort }
27
+ source Kiba::Common::Sources::Enumerable, -> { Dir[File.join(dir, "*.csv")].sort }
28
28
 
29
29
  # out of that row, create configuration for a CSV source
30
30
  transform do |r|
31
31
  [
32
32
  Kiba::Common::Sources::CSV,
33
33
  filename: r,
34
- csv_options: { headers: true, header_converters: :symbol }
34
+ csv_options: {headers: true, header_converters: :symbol}
35
35
  ]
36
36
  end
37
37
 
@@ -43,14 +43,14 @@ class TestIntegration < Minitest::Test
43
43
  end
44
44
  end
45
45
  transform Kiba::Common::Transforms::EnumerableExploder
46
-
46
+
47
47
  destination TestArrayDestination, rows
48
48
  end
49
49
  Kiba.run(job)
50
50
 
51
51
  assert_equal([
52
- { first_name: 'John' },
53
- { first_name: 'Kate' }
52
+ {first_name: "John"},
53
+ {first_name: "Kate"}
54
54
  ], rows.map(&:to_h))
55
55
  end
56
56
  end
@@ -1,6 +1,6 @@
1
- require_relative 'helper'
2
- require 'kiba'
3
- require 'kiba-common/destinations/lambda'
1
+ require_relative "helper"
2
+ require "kiba"
3
+ require "kiba-common/destinations/lambda"
4
4
 
5
5
  class TestLambdaDestination < MiniTest::Test
6
6
  def test_lambda
@@ -8,14 +8,14 @@ class TestLambdaDestination < MiniTest::Test
8
8
  on_init_called = false
9
9
  on_close_called = false
10
10
  job = Kiba.parse do
11
- source Kiba::Common::Sources::Enumerable, ['one', 'two']
11
+ source Kiba::Common::Sources::Enumerable, ["one", "two"]
12
12
  destination Kiba::Common::Destinations::Lambda,
13
13
  on_init: -> { on_init_called = true },
14
- on_write: -> (r) { accumulator << r },
14
+ on_write: ->(r) { accumulator << r },
15
15
  on_close: -> { on_close_called = true }
16
16
  end
17
17
  Kiba.run(job)
18
- assert_equal ['one', 'two'], accumulator
18
+ assert_equal ["one", "two"], accumulator
19
19
  assert_equal true, on_init_called
20
20
  assert_equal true, on_close_called
21
21
  end
data/test/test_logger.rb CHANGED
@@ -1,6 +1,6 @@
1
- require_relative 'helper'
2
- require 'kiba'
3
- require 'kiba-common/dsl_extensions/logger'
1
+ require_relative "helper"
2
+ require "kiba"
3
+ require "kiba-common/dsl_extensions/logger"
4
4
 
5
5
  class TestLogger < Minitest::Test
6
6
  def test_default_logger
@@ -20,11 +20,11 @@ class TestLogger < Minitest::Test
20
20
  logger = Logger.new(buffer)
21
21
 
22
22
  pre_process do
23
- logger.info 'Logging from pre_process'
23
+ logger.info "Logging from pre_process"
24
24
  end
25
25
  end
26
26
  Kiba.run(job)
27
27
 
28
- assert_includes buffer.string, 'Logging from pre_process'
28
+ assert_includes buffer.string, "Logging from pre_process"
29
29
  end
30
30
  end
data/test/test_show_me.rb CHANGED
@@ -1,7 +1,7 @@
1
- require_relative 'helper'
2
- require 'kiba'
3
- require 'amazing_print'
4
- require 'kiba-common/dsl_extensions/show_me'
1
+ require_relative "helper"
2
+ require "kiba"
3
+ require "amazing_print"
4
+ require "kiba-common/dsl_extensions/show_me"
5
5
 
6
6
  class TestShowMe < Minitest::Test
7
7
  include AssertCalled
@@ -9,15 +9,15 @@ class TestShowMe < Minitest::Test
9
9
  def test_show_me
10
10
  job = Kiba.parse do
11
11
  extend Kiba::Common::DSLExtensions::ShowMe
12
- source Kiba::Common::Sources::Enumerable, ['row']
12
+ source Kiba::Common::Sources::Enumerable, ["row"]
13
13
  show_me!
14
14
  end
15
-
16
- assert_called(Kernel, :ap, ['row']) do
15
+
16
+ assert_called(Kernel, :ap, ["row"]) do
17
17
  Kiba.run(job)
18
18
  end
19
19
  end
20
-
20
+
21
21
  def test_show_me_pre_process
22
22
  output = []
23
23
  job = Kiba.parse do
@@ -27,10 +27,10 @@ class TestShowMe < Minitest::Test
27
27
  destination TestArrayDestination, output
28
28
  end
29
29
 
30
- assert_called(Kernel, :ap, ['OK']) do
30
+ assert_called(Kernel, :ap, ["OK"]) do
31
31
  Kiba.run(job)
32
32
  end
33
-
33
+
34
34
  assert_equal [{this: "OK", not_this: "KO"}], output
35
35
  end
36
36
  end
@@ -1,6 +1,6 @@
1
- require_relative 'helper'
2
- require_relative 'support/test_keyword_proxy_source'
3
- require_relative 'support/test_hash_configured_object'
1
+ require_relative "helper"
2
+ require_relative "support/test_keyword_proxy_source"
3
+ require_relative "support/test_hash_configured_object"
4
4
 
5
5
  # NOTE: the SourceTransformAdapter has been removed,
6
6
  # but I'm keeping these tests, patched to instead use
@@ -17,8 +17,8 @@ class TestSourceTransformAdapter < Minitest::Test
17
17
  config :kiba, runner: Kiba::StreamingRunner
18
18
 
19
19
  source Enumerable, [
20
- [ Enumerable, (1..10) ],
21
- [ Enumerable, (11..20) ]
20
+ [Enumerable, (1..10)],
21
+ [Enumerable, (11..20)]
22
22
  ]
23
23
 
24
24
  transform do |klass, args|
@@ -35,13 +35,13 @@ class TestSourceTransformAdapter < Minitest::Test
35
35
  Kiba.run(job)
36
36
  assert_equal (1..20).to_a, rows
37
37
  end
38
-
38
+
39
39
  def test_instantiation_keyword_arguments
40
40
  rows = []
41
41
  job = Kiba.parse do
42
42
  source Enumerable, [
43
43
  # Test against a class that expects explicit keyword arguments
44
- [ TestKeywordProxySource, {mandatory: "some value"} ]
44
+ [TestKeywordProxySource, {mandatory: "some value"}]
45
45
  ]
46
46
 
47
47
  transform do |klass, args|
@@ -60,13 +60,13 @@ class TestSourceTransformAdapter < Minitest::Test
60
60
  {mandatory: "some value", optional: nil}
61
61
  ], rows)
62
62
  end
63
-
63
+
64
64
  def test_hash_configured_object
65
65
  rows = []
66
66
  job = Kiba.parse do
67
67
  source Enumerable, [
68
68
  # Test against a class that takes a single Hash argument
69
- [ TestHashConfiguredObject, {mandatory: "some value"} ]
69
+ [TestHashConfiguredObject, {mandatory: "some value"}]
70
70
  ]
71
71
 
72
72
  transform do |klass, args|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kiba-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thibaut Barrère
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-24 00:00:00.000000000 Z
11
+ date: 2021-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kiba
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.0
19
+ version: 3.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '4'
22
+ version: '5'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 1.0.0
29
+ version: 3.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '4'
32
+ version: '5'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rake
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +86,20 @@ dependencies:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: standard
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
89
103
  description: Commonly used helpers for Kiba ETL
90
104
  email:
91
105
  - thibaut.barrere@gmail.com
@@ -94,8 +108,8 @@ extensions: []
94
108
  extra_rdoc_files: []
95
109
  files:
96
110
  - ".github/FUNDING.yml"
111
+ - ".github/workflows/ci.yml"
97
112
  - ".gitignore"
98
- - ".travis.yml"
99
113
  - Changes.md
100
114
  - Gemfile
101
115
  - LICENSE
@@ -145,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
159
  - !ruby/object:Gem::Version
146
160
  version: '0'
147
161
  requirements: []
148
- rubygems_version: 3.1.2
162
+ rubygems_version: 3.2.3
149
163
  signing_key:
150
164
  specification_version: 4
151
165
  summary: Commonly used helpers for Kiba ETL
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- language: ruby
2
- rvm:
3
- # see https://www.ruby-lang.org/en/downloads/branches/
4
- - ruby-head
5
- - 2.7
6
- - 2.6
7
- - 2.5
8
- - 2.4
9
- # NOTE: EOL since 2019-03-31
10
- - 2.3
11
- # see https://www.jruby.org/download
12
- - jruby-9.1
13
- - jruby-9.2
14
- - truffleruby
15
- # Freezing the JDK to provide some consistency between CI builds only.
16
- jdk:
17
- - openjdk8