kiba 1.0.0 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +1 -0
  3. data/.travis.yml +11 -9
  4. data/COMM-LICENSE.md +348 -0
  5. data/Changes.md +28 -0
  6. data/ISSUE_TEMPLATE.md +7 -0
  7. data/LICENSE +7 -0
  8. data/Pro-Changes.md +108 -0
  9. data/README.md +15 -282
  10. data/Rakefile +6 -1
  11. data/appveyor.yml +19 -9
  12. data/bin/kiba +12 -2
  13. data/kiba.gemspec +6 -1
  14. data/lib/kiba.rb +10 -1
  15. data/lib/kiba/context.rb +4 -0
  16. data/lib/kiba/control.rb +4 -0
  17. data/lib/kiba/dsl_extensions/config.rb +9 -0
  18. data/lib/kiba/parser.rb +4 -9
  19. data/lib/kiba/runner.rb +14 -5
  20. data/lib/kiba/streaming_runner.rb +38 -0
  21. data/lib/kiba/version.rb +1 -1
  22. data/test/helper.rb +11 -2
  23. data/test/shared_runner_tests.rb +228 -0
  24. data/test/support/shared_tests.rb +10 -0
  25. data/test/support/test_aggregate_transform.rb +19 -0
  26. data/test/support/test_array_destination.rb +9 -0
  27. data/test/support/test_close_yielding_transform.rb +11 -0
  28. data/test/support/test_destination_returning_nil.rb +12 -0
  29. data/test/support/test_duplicate_row_transform.rb +9 -0
  30. data/test/support/test_keyword_arguments_component.rb +14 -0
  31. data/test/support/test_mixed_arguments_component.rb +14 -0
  32. data/test/support/test_non_closing_transform.rb +5 -0
  33. data/test/support/test_yielding_transform.rb +8 -0
  34. data/test/test_integration.rb +3 -3
  35. data/test/test_parser.rb +34 -29
  36. data/test/test_run.rb +12 -0
  37. data/test/test_runner.rb +5 -81
  38. data/test/test_streaming_runner.rb +70 -0
  39. metadata +57 -16
  40. data/lib/kiba/cli.rb +0 -16
  41. data/test/fixtures/bogus.etl +0 -2
  42. data/test/fixtures/valid.etl +0 -1
  43. data/test/test_cli.rb +0 -17
@@ -1,16 +0,0 @@
1
- require 'kiba'
2
-
3
- module Kiba
4
- class Cli
5
- def self.run(args)
6
- unless args.size == 1
7
- puts 'Syntax: kiba your-script.etl'
8
- exit(-1)
9
- end
10
- filename = args[0]
11
- script_content = IO.read(filename)
12
- job_definition = Kiba.parse(script_content, filename)
13
- Kiba.run(job_definition)
14
- end
15
- end
16
- end
@@ -1,2 +0,0 @@
1
- # this should fail because we have an unknown class
2
- source UnknownThing
@@ -1 +0,0 @@
1
- # this does nothing
@@ -1,17 +0,0 @@
1
- require_relative 'helper'
2
- require 'kiba/cli'
3
-
4
- class TestCli < Kiba::Test
5
- def test_cli_launches
6
- Kiba::Cli.run([fixture('valid.etl')])
7
- end
8
-
9
- def test_cli_reports_filename_and_lineno
10
- exception = assert_raises(NameError) do
11
- Kiba::Cli.run([fixture('bogus.etl')])
12
- end
13
-
14
- assert_match(/uninitialized constant(.*)UnknownThing/, exception.message)
15
- assert_includes exception.backtrace.to_s, 'test/fixtures/bogus.etl:2:in'
16
- end
17
- end