spout 0.13.0 → 0.14.0.beta1

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: 1a9927bf8de637c19990fb3264282fa2ff60ea99eb9afca49536917527b94f5d
4
- data.tar.gz: d26620208f2e603a45b40d0435e55eef688a3474c14dd3872c833f84262c06e9
3
+ metadata.gz: 70dea3c7337f2cfc3a38c1e59b5c8e9c94b7b009800b2680a3dcb06513331255
4
+ data.tar.gz: 4e63bf76cdbf26f4c4f387f15b454457a3e8a85677215f226b9060de38623072
5
5
  SHA512:
6
- metadata.gz: f86764c1d0a8bda859330db2ec02ee16ba8ff30c16f1d37aad2a210148fd92f14966a304beb817736aa8e67ee5c92eb0bfba8828b553fb89996f4861fba559ed
7
- data.tar.gz: d3ff0f0a21a95532b236d623b6bc74b85621d7ed1a05930f2bfa7fac7eb7c93d347c1aa077dd848f04e87fc72f4046abedf78714b3e9cf1c229b507902cea33d
6
+ metadata.gz: 542a18cc6f5e34c7df0f9ee1e7a848643bdb1e575176013fe1117becd81f715f32ca77ab150964b39aa66e3e76432d137e32b012680bc7d1f3b41e3435ac58f1
7
+ data.tar.gz: b85ffc0d3bba23f6af803c9d99ca47da3ac517ec840fd3d33f3c08d2a393067e68198de02f458f45cc206138f024151290b943746748cc7c55b86e4766670a35
data/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## 0.14.0
2
+
3
+ ### Enhancements
4
+ - **Framework Changes**
5
+ - Spout data dictionaries can now specify gem dependencies using `gems.rb`
6
+ instead of `Gemfile`
7
+ - **Test Changes**
8
+ - Improved the spout testing framework
9
+ - Tests are now run excusively using `spout t` command
10
+ - Tests no longer spawn an extra process to run
11
+ - Rake dependency has been removed
12
+ - Failing tests no longer include an unnecessary rake backtrace
13
+
1
14
  ## 0.13.0 (June 21, 2018)
2
15
 
3
16
  ### Enhancements
data/README.md CHANGED
@@ -13,7 +13,7 @@ Spout has been used extensively to curate and clean datasets available on the
13
13
 
14
14
  ## Installation
15
15
 
16
- Add this line to your application's Gemfile:
16
+ Add this line to your application's `gems.rb`:
17
17
 
18
18
  gem "spout"
19
19
 
data/Rakefile CHANGED
@@ -6,6 +6,7 @@ Rake::TestTask.new(:test) do |t|
6
6
  t.libs << "lib"
7
7
  t.libs << "test"
8
8
  t.pattern = "test/**/*_test.rb"
9
+ t.warning = false
9
10
  t.verbose = false
10
11
  end
11
12
 
data/bin/spout CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require File.expand_path("../../lib/spout", __FILE__)
4
+ require File.expand_path("../lib/spout", __dir__)
4
5
 
5
6
  Spout.launch(ARGV)
@@ -26,7 +26,7 @@ Usage: spout new FOLDER
26
26
  The FOLDER must be empty or new.
27
27
 
28
28
  EOT
29
- if @full_path == "" || (Dir.exist?(@full_path) && (Dir.entries(@full_path) & [".gitignore", ".ruby-version", ".travis.yml", "Gemfile", "Rakefile", "domains", "variables", "test"]).size > 0)
29
+ if @full_path == "" || (Dir.exist?(@full_path) && (Dir.entries(@full_path) & [".gitignore", ".ruby-version", ".travis.yml", "Gemfile", "gems.rb", "domains", "variables", "test"]).size > 0)
30
30
  puts usage
31
31
  exit(0)
32
32
  end
@@ -36,8 +36,7 @@ EOT
36
36
  copy_file "travis.yml", ".travis.yml"
37
37
  evaluate_file "spout.yml.erb", ".spout.yml"
38
38
  evaluate_file "CHANGELOG.md.erb", "CHANGELOG.md"
39
- copy_file "Gemfile"
40
- copy_file "Rakefile"
39
+ copy_file "gems.rb"
41
40
  evaluate_file "README.md.erb", "README.md"
42
41
  copy_file "VERSION"
43
42
  directory "domains"
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spout
4
+ module Commands
5
+ # Runs spout tests.
6
+ class TestRunner
7
+ class << self
8
+ def run
9
+ new.run
10
+ end
11
+ end
12
+
13
+ def run
14
+ $LOAD_PATH.unshift File.join(Dir.pwd, "test")
15
+ Dir.glob(test_files, File::FNM_CASEFOLD).each do |test_file|
16
+ require test_file
17
+ end
18
+ end
19
+
20
+ def test_files
21
+ File.join(Dir.pwd, "test", "*_test.rb")
22
+ end
23
+ end
24
+ end
25
+ end
@@ -25,12 +25,15 @@ module Spout
25
25
  if json
26
26
  if json["version"] == Spout::VERSION::STRING
27
27
  puts "The spout gem is " + "up-to-date".colorize(:green) + "!"
28
- check_framework if File.exist?("Gemfile")
28
+ check_framework if File.exist?("Gemfile") || File.exist?("gems.rb")
29
29
  else
30
- puts "A newer version (v#{json['version']}) is available!\n\n"
31
- if File.exist?("Gemfile")
32
- puts "Add the following to your Gemfile and run " + "bundle update".colorize(:green) + ".\n\n"
33
- puts " gem \"spout\", \"~> #{json['version']}\"\n".colorize(:white)
30
+ puts "A newer version (v#{json["version"]}) is available!\n\n"
31
+ if File.exist?("gems.rb")
32
+ puts "Add the following to gems.rb and run " + "bundle update".colorize(:green) + ".\n\n"
33
+ puts " gem \"spout\", \"~> #{json["version"]}\"\n".colorize(:white)
34
+ elsif File.exist?("Gemfile")
35
+ puts "Add the following to Gemfile and run " + "bundle update".colorize(:green) + ".\n\n"
36
+ puts " gem \"spout\", \"~> #{json["version"]}\"\n".colorize(:white)
34
37
  else
35
38
  puts "Type the following command to update:\n\n"
36
39
  puts " gem install spout --no-document".colorize(:white) + "\n\n"
File without changes
@@ -2,6 +2,7 @@
2
2
  .DS_Store
3
3
 
4
4
  # Project Files
5
+ /gems.locked
5
6
  /Gemfile.lock
6
7
 
7
8
  # Data Dictionary folders
@@ -1,4 +1,4 @@
1
1
  sudo: false
2
2
  language: ruby
3
- rvm:
4
- - 2.5.1
3
+ rvm: 2.5.1
4
+ script: spout test
data/lib/spout/version.rb CHANGED
@@ -3,9 +3,9 @@
3
3
  module Spout
4
4
  module VERSION #:nodoc:
5
5
  MAJOR = 0
6
- MINOR = 13
6
+ MINOR = 14
7
7
  TINY = 0
8
- BUILD = nil # "pre", "rc", "rc2", nil
8
+ BUILD = "beta1" # "pre", "rc", "rc2", nil
9
9
 
10
10
  STRING = [MAJOR, MINOR, TINY, BUILD].compact.join(".").freeze
11
11
  end
data/lib/spout.rb CHANGED
@@ -67,9 +67,8 @@ module Spout
67
67
  end
68
68
 
69
69
  def self.test(_argv)
70
- system "bundle exec rake"
71
- # require "spout/commands/test_runner"
72
- # Spout::Commands::TestRunner.new(argv)
70
+ require "spout/commands/test_runner"
71
+ Spout::Commands::TestRunner.run
73
72
  end
74
73
 
75
74
  def self.update(argv)
data/spout.gemspec CHANGED
@@ -37,7 +37,6 @@ Gem::Specification.new do |spec|
37
37
  spec.require_paths = ["lib"]
38
38
 
39
39
  spec.add_dependency "bundler", "~> 1.16"
40
- spec.add_dependency "rake"
41
40
  spec.add_dependency "minitest"
42
41
  spec.add_dependency "minitest-reporters"
43
42
  spec.add_dependency "json"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Remo Mueller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-21 00:00:00.000000000 Z
11
+ date: 2018-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.16'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
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: minitest
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -117,6 +103,7 @@ files:
117
103
  - lib/spout/commands/importer.rb
118
104
  - lib/spout/commands/outliers.rb
119
105
  - lib/spout/commands/project_generator.rb
106
+ - lib/spout/commands/test_runner.rb
120
107
  - lib/spout/commands/update.rb
121
108
  - lib/spout/helpers/array_statistics.rb
122
109
  - lib/spout/helpers/chart_types.rb
@@ -156,13 +143,10 @@ files:
156
143
  - lib/spout/models/tables/numeric_vs_choices.rb
157
144
  - lib/spout/models/tables/numeric_vs_numeric.rb
158
145
  - lib/spout/models/variable.rb
159
- - lib/spout/tasks.rb
160
- - lib/spout/tasks/engine.rake
161
146
  - lib/spout/templates/CHANGELOG.md.erb
162
- - lib/spout/templates/Gemfile
163
147
  - lib/spout/templates/README.md.erb
164
- - lib/spout/templates/Rakefile
165
148
  - lib/spout/templates/VERSION
149
+ - lib/spout/templates/gems.rb
166
150
  - lib/spout/templates/gitignore
167
151
  - lib/spout/templates/keep
168
152
  - lib/spout/templates/ruby-version
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "rake/testtask"
4
- require "colorize"
5
-
6
- Rake::TestTask.new do |t|
7
- t.libs << "test"
8
- t.test_files = FileList["test/**/*_test.rb"]
9
- t.warning = false
10
- t.verbose = false
11
- end
12
-
13
- task default: :test
data/lib/spout/tasks.rb DELETED
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Load Spout rakefile extensions
4
- %w(
5
- engine
6
- ).each do |task|
7
- # puts "Loading file: #{task}.rake"
8
- load "spout/tasks/#{task}.rake"
9
- end
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spout/tasks"