spout 0.8.0.beta7 → 0.8.0.beta8

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
  SHA1:
3
- metadata.gz: fe29cf954727208eb8e957550db8b7f887a7c5b2
4
- data.tar.gz: d1231cf3acdc0679c02d590fc1f7d15689a8405b
3
+ metadata.gz: 77f00d45a191d59e327952d4af5a2f57c2f65f3b
4
+ data.tar.gz: 2848258e7bad286df21eee2bb622e3fda54094a5
5
5
  SHA512:
6
- metadata.gz: 17622fa7556b40aedbe2670ff20d1e6e6e9668dbed835b59e1a11d4ac506757c4a8934536c0a6d2b5eccaeb649845124d4ce5aa50a6f240e96176e95b2ab1e2d
7
- data.tar.gz: 4a87ec0fa442bec34c88bd5ebec53ae0615a9da2f76de6f0858c7fb9de728067a95efcbb944884098bfae1160cb64b3313ae1f9789a8b8416c2d3730b1c9b40b
6
+ metadata.gz: 58f411b0735343c82c575897d10b6c02b4521c91dbba3693d204933a295aa6bdf3418e077256eabdabf51172182a652ac436b084346a1ae88748456a4f29dab9
7
+ data.tar.gz: abf5ec903b9321e5e9f270ac57df9724daef73dcba9a5e25a5400e081bc09556b4ddfccfb5a67463e0e07d89079f7660039f3e787ee6272ad025a2246e599bd0
data/CHANGELOG.md CHANGED
@@ -8,6 +8,7 @@
8
8
  - The `spout pngs` command now renders the histogram form for each variable
9
9
  - The `spout coverage` command now lists variables that are defined in the data dictionary and that do not exist in any CSV dataset
10
10
  - Added `spout outliers` command that returns a list of integer or numeric variables that contain major and minor outliers
11
+ - Removed the deprecated `spout hybrid` command
11
12
  - **Gem Changes**
12
13
  - Updated to colorize 0.7.2
13
14
  - Use of Ruby 2.1.2 is now recommended
data/README.md CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  Turn your CSV data dictionary into a JSON repository. Collaborate with others to update the data dictionary in JSON format. Generate new Data Dictionary from the JSON repository. Test and validate your data dictionary using built-in tests, or add your own tests and validations.
8
8
 
9
+ Spout has been used extensively to curate and clean datasets available on the [National Sleep Research Resource](https://sleepdata.org).
10
+
9
11
  ## Installation
10
12
 
11
13
  Add this line to your application's Gemfile:
@@ -217,25 +219,10 @@ spout g ahi bmi
217
219
  You can also specify a limit to the amount of rows to read in from the CSV files by specifying the `-rows` flag
218
220
 
219
221
  ```
220
- spout -rows=10 ahi
222
+ spout g -rows=10 ahi
221
223
  ```
222
224
 
223
225
  This will generate a graph for ahi for the first 10 rows of each dataset CSV.
224
226
 
225
227
 
226
228
  This will generate charts and tables for each variable in the dataset plotted against the variables listed under `charts`.
227
-
228
-
229
- ### Export to the Hybrid Data Dictionary format from your JSON repository
230
-
231
- Exporting to a format compatible with [Hybrid](https://github.com/sleepepi/hybrid) is also available.
232
-
233
- ```
234
- spout hybrid
235
- ```
236
-
237
- You can optionally provide a version string
238
-
239
- ```
240
- spout hybrid [1.0.0]
241
- ```
data/lib/spout/actions.rb CHANGED
@@ -17,8 +17,6 @@ module Spout
17
17
  import_from_csv(argv, 'domains')
18
18
  when 'export', 'e', 'ex', 'exp', '--export', '-e', '-ex', '-exp'
19
19
  new_data_dictionary_export(argv)
20
- when 'hybrid', '-hybrid', '--hybrid', 'y', 'hy', '-y', '-hy'
21
- new_data_dictionary_export(argv, 'hybrid')
22
20
  when 'coverage', '-coverage', '--coverage', 'c', '-c'
23
21
  coverage_report(argv)
24
22
  when 'pngs', '-pngs', '--pngs', 'p', '-p'
@@ -67,9 +65,7 @@ The most common spout commands are:
67
65
  [tv] Run the tests and show passing and failing
68
66
  tests
69
67
  [i]mport Import a CSV file into the JSON dictionary
70
- [e]xport [1.0.0] Export the JSON dictionary to a CSV
71
- h[y]brid [1.0.0] Export the JSON dictionary in the Hybrid
72
- dictionary format
68
+ [e]xport [1.0.0] Export the JSON dictionary to CSV format
73
69
  [c]overage Coverage report, requires dataset CSVs
74
70
  in `<project_name>/csvs/<version>`
75
71
  [o]utliers Outlier report, requires dataset CSVs
@@ -89,11 +85,10 @@ EOT
89
85
  puts help_message
90
86
  end
91
87
 
92
- def new_data_dictionary_export(argv, type = '')
88
+ def new_data_dictionary_export(argv)
93
89
  version = argv[1].to_s.gsub(/[^a-zA-Z0-9\.-]/, '_').strip
94
90
  version_string = (version == '' ? "" : "VERSION=#{version}")
95
- type_string = type.to_s == '' ? "" : "TYPE=#{type}"
96
- system "bundle exec rake spout:create #{version_string} #{type_string}"
91
+ system "bundle exec rake spout:create #{version_string}"
97
92
  end
98
93
 
99
94
  def new_template_dictionary(argv)
@@ -23,15 +23,7 @@ namespace :spout do
23
23
  puts " create".colorize( :green ) + " #{folder}"
24
24
  FileUtils.mkpath folder
25
25
 
26
- export_name = nil
27
- additional_keys = []
28
-
29
- if ENV['TYPE'] == 'hybrid'
30
- export_name = 'hybrid'
31
- additional_keys = [['hybrid', 'design_name'], ['hybrid', 'design_file'], ['hybrid', 'sensitivity'], ['hybrid', 'commonly_used']]
32
- end
33
-
34
- expanded_export(folder, export_name, additional_keys)
26
+ expanded_export(folder)
35
27
  end
36
28
 
37
29
  desc 'Initialize JSON repository from a CSV file: CSV=datadictionary.csv'
@@ -84,20 +76,20 @@ def standard_version
84
76
  version == '' ? '1.0.0' : version
85
77
  end
86
78
 
87
- def expanded_export(folder, export_name = nil, additional_keys = [])
88
- variables_export_file = "#{[export_name, 'variables'].compact.join('-')}.csv"
79
+ def expanded_export(folder)
80
+ variables_export_file = "variables.csv"
89
81
  puts " export".colorize( :blue ) + " #{folder}/#{variables_export_file}"
90
82
  CSV.open("#{folder}/#{variables_export_file}", "wb") do |csv|
91
83
  keys = %w(id display_name description type units domain labels calculation)
92
- csv << ['folder'] + keys + additional_keys.collect{|i| i[1]}
84
+ csv << ['folder'] + keys
93
85
  Dir.glob("variables/**/*.json").each do |file|
94
86
  if json = JSON.parse(File.read(file)) rescue false
95
87
  variable_folder = variable_folder_path(file)
96
- csv << [variable_folder] + keys.collect{|key| json[key].kind_of?(Array) ? json[key].join(';') : json[key].to_s} + additional_keys.collect{|i| other_property(i[0], json, i[1])}
88
+ csv << [variable_folder] + keys.collect{|key| json[key].kind_of?(Array) ? json[key].join(';') : json[key].to_s}
97
89
  end
98
90
  end
99
91
  end
100
- domains_export_file = "#{[export_name, 'domains'].compact.join('-')}.csv"
92
+ domains_export_file = "domains.csv"
101
93
  puts " export".colorize( :blue ) + " #{folder}/#{domains_export_file}"
102
94
  CSV.open("#{folder}/#{domains_export_file}", "wb") do |csv|
103
95
  keys = %w(value display_name description)
@@ -126,10 +118,6 @@ def variable_folder_path(file)
126
118
  file.gsub(/variables\//, '').split('/')[0..-2].join('/')
127
119
  end
128
120
 
129
- def other_property(parent, json, property)
130
- json[parent] ? json[parent][property] : ''
131
- end
132
-
133
121
  def import_variables
134
122
  CSV.parse( File.open(ENV['CSV'].to_s, 'r:iso-8859-1:utf-8'){|f| f.read}, headers: true ) do |line|
135
123
  row = line.to_hash
data/lib/spout/version.rb CHANGED
@@ -3,7 +3,7 @@ module Spout
3
3
  MAJOR = 0
4
4
  MINOR = 8
5
5
  TINY = 0
6
- BUILD = "beta7" # nil, "pre", "rc", "rc2"
6
+ BUILD = "beta8" # nil, "pre", "rc", "rc2"
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
9
9
  end
@@ -187,7 +187,7 @@ tfoot td {
187
187
  <tr>
188
188
  <td>
189
189
  <% csv_files.each do |csv_file| %>
190
- <code class="<%= 'success' if scr.number_of_errors == 0 %>"><%= csv_file %><code><br />
190
+ <code class="<%= 'success' if scr.number_of_errors == 0 %>"><%= csv_file %></code><br />
191
191
  <% end %>
192
192
  </td>
193
193
  <td><%= column %></td>
@@ -116,7 +116,7 @@ tfoot td {
116
116
  <tr>
117
117
  <td>
118
118
  <% outlier_result.csv_files.each do |csv_file| %>
119
- <code class="<%= 'success' if outlier_result.outliers.size == 0 %>"><%= csv_file %><code><br />
119
+ <code class="<%= 'success' if outlier_result.outliers.size == 0 %>"><%= csv_file %></code><br />
120
120
  <% end %></td>
121
121
  <td><%= outlier_result.method %></td>
122
122
  <td>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0.beta7
4
+ version: 0.8.0.beta8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Remo Mueller