spout 1.0.0.beta1 → 1.0.0.beta2
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 +4 -4
- data/lib/spout/commands/exporter.rb +1 -1
- data/lib/spout/commands/graphs.rb +1 -1
- data/lib/spout/helpers/json_loader.rb +5 -2
- data/lib/spout/helpers/subject_loader.rb +3 -3
- data/lib/spout/models/coverage_result.rb +3 -3
- data/lib/spout/models/domain.rb +1 -1
- data/lib/spout/models/form.rb +1 -1
- data/lib/spout/models/variable.rb +1 -1
- data/lib/spout/tests/domain_existence_validation.rb +2 -2
- data/lib/spout/tests/domain_format.rb +1 -1
- data/lib/spout/tests/form_existence_validation.rb +2 -2
- data/lib/spout/tests/form_name_format.rb +1 -1
- data/lib/spout/tests/form_name_match.rb +1 -1
- data/lib/spout/tests/json_helper.rb +1 -1
- data/lib/spout/tests/json_validation.rb +1 -1
- data/lib/spout/tests/variable_display_name_length.rb +1 -1
- data/lib/spout/tests/variable_name_format.rb +1 -1
- data/lib/spout/tests/variable_name_match.rb +1 -1
- data/lib/spout/tests/variable_type_validation.rb +1 -1
- data/lib/spout/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7ba6db3d6933e6ec1a5880869caaa3094e2ee66b0f7d23b11704f38783d417f
|
4
|
+
data.tar.gz: 1000f48c9c6d47f4d988c474a8a96bc7a19cea02bc52b1a99b7b97ee9985faf6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18fb6eab1720ffbf069a083dab7f5caf0082718bdff5f30aa028e532302bb58435222f888fa96e7f23de88a86d86351e2487b0b8ee60d8d3cf9c44d94e0f8ba1
|
7
|
+
data.tar.gz: e7d9b7669c65f625cd33018b9902519d7b58d93f4277de2295b303c903b6b1f16876eeba8358f68f9f02a555bd0c8ecf1fa68c8427690f157e258ec188209710
|
@@ -45,7 +45,7 @@ module Spout
|
|
45
45
|
%w(folder) + keys
|
46
46
|
end
|
47
47
|
Dir.glob("#{type}/**/*.json").sort.each do |file|
|
48
|
-
json = JSON.parse(File.read(file)) rescue false
|
48
|
+
json = JSON.parse(File.read(file, encoding: "utf-8")) rescue false
|
49
49
|
if json
|
50
50
|
relative_folder = generic_folder_path(file, type)
|
51
51
|
if include_domain_name
|
@@ -79,7 +79,7 @@ module Spout
|
|
79
79
|
|
80
80
|
def load_current_progress
|
81
81
|
@progress_file = File.join(@graphs_folder, ".progress.json")
|
82
|
-
@progress = JSON.parse(File.read(@progress_file)) rescue @progress = {}
|
82
|
+
@progress = JSON.parse(File.read(@progress_file, encoding: "utf-8")) rescue @progress = {}
|
83
83
|
@progress = {} if !@progress.is_a?(Hash) || @clean || @progress["SPOUT_VERSION"] != Spout::VERSION::STRING
|
84
84
|
@progress["SPOUT_VERSION"] = Spout::VERSION::STRING
|
85
85
|
end
|
@@ -7,8 +7,11 @@ module Spout
|
|
7
7
|
class JsonLoader
|
8
8
|
def self.get_json(file_name, file_type)
|
9
9
|
file = Dir.glob("#{file_type.to_s.downcase}s/**/#{file_name.to_s.downcase}.json", File::FNM_CASEFOLD).first
|
10
|
-
|
11
|
-
|
10
|
+
JSON.parse(File.read(file, encoding: "utf-8"))
|
11
|
+
rescue => e
|
12
|
+
puts "JsonLoader Warning".red
|
13
|
+
puts e.to_s.white
|
14
|
+
nil
|
12
15
|
end
|
13
16
|
|
14
17
|
def self.get_variable(variable_name)
|
@@ -100,7 +100,7 @@ module Spout
|
|
100
100
|
print "Converting numeric values to floats"
|
101
101
|
@variable_files.each_with_index do |variable_file, index|
|
102
102
|
print "\rConverting numeric values to floats:#{'% 3d' % ((index + 1) * 100 / variable_count)}%"
|
103
|
-
json = JSON.parse(File.read(variable_file)) rescue json = nil
|
103
|
+
json = JSON.parse(File.read(variable_file, encoding: "utf-8")) rescue json = nil
|
104
104
|
next unless json
|
105
105
|
next unless @valid_ids.include?(json["id"].to_s.downcase) || @valid_ids.size == 0
|
106
106
|
next unless %w(numeric integer).include?(json["type"])
|
@@ -122,7 +122,7 @@ module Spout
|
|
122
122
|
|
123
123
|
def load_variable_domains!
|
124
124
|
@variable_files.each do |variable_file|
|
125
|
-
json = JSON.parse(File.read(variable_file)) rescue json = nil
|
125
|
+
json = JSON.parse(File.read(variable_file, encoding: "utf-8")) rescue json = nil
|
126
126
|
next unless json
|
127
127
|
next unless json["type"] == "choices" || json["domain"].to_s.downcase.strip != ""
|
128
128
|
domain = json["domain"].to_s.downcase
|
@@ -133,7 +133,7 @@ module Spout
|
|
133
133
|
|
134
134
|
def get_json(file_name, file_type)
|
135
135
|
file = Dir.glob("#{file_type.to_s.downcase}s/**/#{file_name.to_s.downcase}.json", File::FNM_CASEFOLD).first
|
136
|
-
JSON.parse(File.read(file))
|
136
|
+
JSON.parse(File.read(file, encoding: "utf-8"))
|
137
137
|
rescue
|
138
138
|
nil
|
139
139
|
end
|
@@ -23,7 +23,7 @@ module Spout
|
|
23
23
|
def load_json(column)
|
24
24
|
file = Dir.glob("variables/**/#{column.to_s.downcase}.json", File::FNM_CASEFOLD).first
|
25
25
|
@file_name_test = !file.nil?
|
26
|
-
@json = JSON.parse(File.read(file)) rescue @json = {}
|
26
|
+
@json = JSON.parse(File.read(file, encoding: "utf-8")) rescue @json = {}
|
27
27
|
@json_id_test = (@json["id"].to_s.downcase == column)
|
28
28
|
end
|
29
29
|
|
@@ -31,7 +31,7 @@ module Spout
|
|
31
31
|
valid_values = []
|
32
32
|
if @json["type"] == "choices" || domain_name != ""
|
33
33
|
file = Dir.glob("domains/**/#{@json['domain'].to_s.downcase}.json", File::FNM_CASEFOLD).first
|
34
|
-
if json = JSON.parse(File.read(file)) rescue false
|
34
|
+
if json = JSON.parse(File.read(file, encoding: "utf-8")) rescue false
|
35
35
|
valid_values = json.collect { |hash| hash["value"] }
|
36
36
|
end
|
37
37
|
end
|
@@ -55,7 +55,7 @@ module Spout
|
|
55
55
|
true
|
56
56
|
else
|
57
57
|
domain_file = Dir.glob("domains/**/#{@json['domain'].to_s.downcase}.json", File::FNM_CASEFOLD).first
|
58
|
-
if domain_json = JSON.parse(File.read(domain_file)) rescue false
|
58
|
+
if domain_json = JSON.parse(File.read(domain_file, encoding: "utf-8")) rescue false
|
59
59
|
return domain_json.is_a?(Array)
|
60
60
|
end
|
61
61
|
false
|
data/lib/spout/models/domain.rb
CHANGED
data/lib/spout/models/form.rb
CHANGED
@@ -20,7 +20,7 @@ module Spout
|
|
20
20
|
@folder = file_name.to_s.gsub(/^#{dictionary_root}\/forms\/|#{@id}\.json$/, "")
|
21
21
|
|
22
22
|
json = begin
|
23
|
-
JSON.parse(File.read(file_name))
|
23
|
+
JSON.parse(File.read(file_name, encoding: "utf-8"))
|
24
24
|
rescue => e
|
25
25
|
form_name = file_name.to_s.gsub(/^(.*)\/|\.json$/, "").downcase
|
26
26
|
@errors << "Error Parsing #{form_name}.json: #{e.message}"
|
@@ -10,7 +10,7 @@ module Spout
|
|
10
10
|
file.split("/").last.to_s.downcase.split(".json").first
|
11
11
|
end
|
12
12
|
result = begin
|
13
|
-
domain_name = JSON.parse(File.read(item))["domain"]
|
13
|
+
domain_name = JSON.parse(File.read(item, encoding: "utf-8"))["domain"]
|
14
14
|
domain_names.include?(domain_name)
|
15
15
|
rescue JSON::ParserError
|
16
16
|
domain_name = ""
|
@@ -21,7 +21,7 @@ module Spout
|
|
21
21
|
end
|
22
22
|
|
23
23
|
Dir.glob("variables/**/*.json").each do |file|
|
24
|
-
if (not [nil, ""].include?(JSON.parse(File.read(file))["domain"]) rescue false)
|
24
|
+
if (not [nil, ""].include?(JSON.parse(File.read(file, encoding: "utf-8"))["domain"]) rescue false)
|
25
25
|
define_method("test_domain_exists: #{file}") do
|
26
26
|
assert_domain_existence file
|
27
27
|
end
|
@@ -6,7 +6,7 @@ module Spout
|
|
6
6
|
# Verifies the format of a domain.
|
7
7
|
def assert_domain_format(item)
|
8
8
|
result = begin
|
9
|
-
json = JSON.parse(File.read(item))
|
9
|
+
json = JSON.parse(File.read(item, encoding: "utf-8"))
|
10
10
|
if json.is_a?(Array)
|
11
11
|
json.empty? || json.select { |o| !o.is_a?(Hash) }.empty?
|
12
12
|
else
|
@@ -7,7 +7,7 @@ module Spout
|
|
7
7
|
form_names = Dir.glob("forms/**/*.json").collect{|file| file.split("/").last.to_s.downcase.split(".json").first}
|
8
8
|
|
9
9
|
result = begin
|
10
|
-
(form_names | JSON.parse(File.read(item))["forms"]).size == form_names.size
|
10
|
+
(form_names | JSON.parse(File.read(item, encoding: "utf-8"))["forms"]).size == form_names.size
|
11
11
|
rescue JSON::ParserError
|
12
12
|
false
|
13
13
|
end
|
@@ -18,7 +18,7 @@ module Spout
|
|
18
18
|
end
|
19
19
|
|
20
20
|
Dir.glob("variables/**/*.json").each do |file|
|
21
|
-
if (not [nil, ""].include?(JSON.parse(File.read(file))["forms"]) rescue false)
|
21
|
+
if (not [nil, ""].include?(JSON.parse(File.read(file, encoding: "utf-8"))["forms"]) rescue false)
|
22
22
|
define_method("test_form_exists: "+file) do
|
23
23
|
assert_form_existence file
|
24
24
|
end
|
@@ -8,7 +8,7 @@ module Spout
|
|
8
8
|
Dir.glob("forms/**/*.json").each do |file|
|
9
9
|
define_method("test_form_name_format: #{file}") do
|
10
10
|
message = "Form name format error. Name must start with a lowercase letter and be followed by lowercase letters, numbers, or underscores"
|
11
|
-
assert_match(/^[a-z]\w*$/, (begin JSON.parse(File.read(file))["id"] rescue nil end), message)
|
11
|
+
assert_match(/^[a-z]\w*$/, (begin JSON.parse(File.read(file, encoding: "utf-8"))["id"] rescue nil end), message)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -5,7 +5,7 @@ module Spout
|
|
5
5
|
module FormNameMatch
|
6
6
|
Dir.glob("forms/**/*.json").each do |file|
|
7
7
|
define_method("test_form_name_match: "+file) do
|
8
|
-
assert_equal file.gsub(/^.*\//, "").gsub(".json", "").downcase, (begin JSON.parse(File.read(file))["id"] rescue nil end)
|
8
|
+
assert_equal file.gsub(/^.*\//, "").gsub(".json", "").downcase, (begin JSON.parse(File.read(file, encoding: "utf-8"))["id"] rescue nil end)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -5,7 +5,7 @@ module Spout
|
|
5
5
|
module VariableDisplayNameLength
|
6
6
|
Dir.glob("variables/**/*.json").each do |file|
|
7
7
|
define_method("test_variable_display_name_length: "+file) do
|
8
|
-
assert_operator 255, :>=, (begin JSON.parse(File.read(file))["display_name"].size rescue 0 end)
|
8
|
+
assert_operator 255, :>=, (begin JSON.parse(File.read(file, encoding: "utf-8"))["display_name"].size rescue 0 end)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -8,7 +8,7 @@ module Spout
|
|
8
8
|
Dir.glob("variables/**/*.json").each do |file|
|
9
9
|
define_method("test_variable_name_format: #{file}") do
|
10
10
|
message = "Variable name format error. Name must start with a lowercase letter and be followed by lowercase letters, numbers, or underscores"
|
11
|
-
assert_match(/^[a-z]\w*$/, (begin JSON.parse(File.read(file))["id"] rescue nil end), message)
|
11
|
+
assert_match(/^[a-z]\w*$/, (begin JSON.parse(File.read(file, encoding: "utf-8"))["id"] rescue nil end), message)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
@@ -5,7 +5,7 @@ module Spout
|
|
5
5
|
module VariableNameMatch
|
6
6
|
Dir.glob("variables/**/*.json").each do |file|
|
7
7
|
define_method("test_variable_name_match: "+file) do
|
8
|
-
assert_equal file.gsub(/^.*\//, "").gsub(".json", "").downcase, (begin JSON.parse(File.read(file))["id"] rescue nil end)
|
8
|
+
assert_equal file.gsub(/^.*\//, "").gsub(".json", "").downcase, (begin JSON.parse(File.read(file, encoding: "utf-8"))["id"] rescue nil end)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -12,7 +12,7 @@ module Spout
|
|
12
12
|
|
13
13
|
Dir.glob("variables/**/*.json").each do |file|
|
14
14
|
define_method("test_variable_type: #{file}") do
|
15
|
-
assert_variable_type begin JSON.parse(File.read(file))["type"] rescue nil end
|
15
|
+
assert_variable_type begin JSON.parse(File.read(file, encoding: "utf-8"))["type"] rescue nil end
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
data/lib/spout/version.rb
CHANGED
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: 1.0.0.
|
4
|
+
version: 1.0.0.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Remo Mueller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|