kiba-common 1.1.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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