stats_package_syntax_file_generator 1.0.4 → 1.1.3
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 +5 -5
- data/README +2 -1
- data/lib/stats_package_syntax_file_generator.rb +1 -0
- data/lib/syntax_file/controller.rb +214 -220
- data/lib/syntax_file/maker.rb +92 -92
- data/lib/syntax_file/maker_rddi.rb +55 -0
- data/lib/syntax_file/maker_sas.rb +204 -205
- data/lib/syntax_file/maker_spss.rb +143 -143
- data/lib/syntax_file/maker_stata.rb +211 -192
- data/lib/syntax_file/maker_sts.rb +120 -127
- data/lib/syntax_file/value.rb +15 -16
- data/lib/syntax_file/variable.rb +40 -41
- data/tests/input_all_vars.yaml +1 -1
- data/tests/input_controller.yaml +1 -1
- data/tests/setup.rb +8 -8
- data/tests/tc_controller.rb +1 -1
- data/tests/tc_maker.rb +1 -1
- data/tests/tc_maker_rddi.rb +33 -0
- data/tests/tc_maker_stata.rb +1 -1
- data/tests/tc_maker_sts.rb +0 -1
- data/tests/ts_all.rb +1 -0
- metadata +5 -4
data/tests/setup.rb
CHANGED
@@ -31,7 +31,7 @@ def new_value
|
|
31
31
|
SyntaxFile::Value.new params_value()
|
32
32
|
end
|
33
33
|
|
34
|
-
def new_maker
|
34
|
+
def new_maker(syntax_type = '')
|
35
35
|
maker_class = 'SyntaxFile::Maker' + syntax_type.upcase
|
36
36
|
eval(maker_class).new(new_controller, syntax_type)
|
37
37
|
end
|
@@ -57,7 +57,7 @@ def params_variable
|
|
57
57
|
}
|
58
58
|
end
|
59
59
|
|
60
|
-
def params_value
|
60
|
+
def params_value(val = 99, lab = 'bar')
|
61
61
|
{
|
62
62
|
:value => val,
|
63
63
|
:label => 'Test value: ' + lab,
|
@@ -70,30 +70,30 @@ def params_values
|
|
70
70
|
[0,1,2,9,9999].map { |v| params_value(v, 'bar' + v.to_s) }
|
71
71
|
end
|
72
72
|
|
73
|
-
def add_new_values_to_var
|
73
|
+
def add_new_values_to_var(var)
|
74
74
|
params_values.each { |pv| var.add_value(pv) }
|
75
75
|
end
|
76
76
|
|
77
77
|
# Helper functions.
|
78
78
|
|
79
|
-
def params_variable_lookup
|
79
|
+
def params_variable_lookup(k)
|
80
80
|
params_variable[k]
|
81
81
|
end
|
82
82
|
|
83
|
-
def vars_to_names
|
83
|
+
def vars_to_names(var_list)
|
84
84
|
return nil if var_list.nil?
|
85
85
|
var_list.map { |v| v.name }
|
86
86
|
end
|
87
87
|
|
88
|
-
def names_to_vars
|
88
|
+
def names_to_vars(sfc, var_list)
|
89
89
|
var_list.map { |nm| sfc.get_var_by_name(nm) }
|
90
90
|
end
|
91
91
|
|
92
|
-
def dir_contents
|
92
|
+
def dir_contents(dir_name)
|
93
93
|
Dir.entries(dir_name).sort.reject { |f| f[0,1] == '.' }
|
94
94
|
end
|
95
95
|
|
96
|
-
def remove_file_from_dir
|
96
|
+
def remove_file_from_dir(d, files)
|
97
97
|
files.each do |f|
|
98
98
|
full_path = File.join(d, f)
|
99
99
|
File.delete(full_path) if File.file?(full_path)
|
data/tests/tc_controller.rb
CHANGED
@@ -231,7 +231,7 @@ def test_generate_syntax_files
|
|
231
231
|
|
232
232
|
# Remove files generated during any previous test.
|
233
233
|
stem = 'testing'
|
234
|
-
expected_files = %w(do sas sps sts).map { |e| stem + '.' + e }
|
234
|
+
expected_files = %w(R do sas sps sts).map { |e| stem + '.' + e }
|
235
235
|
remove_file_from_dir(output_dir, expected_files)
|
236
236
|
|
237
237
|
msg = 'Make sure the testing output directory is empty.'
|
data/tests/tc_maker.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
# This file is part of the Minnesota Population Center's stats_package_syntax_file_generator project.
|
2
|
+
# For copyright and licensing information, see the NOTICE and LICENSE files
|
3
|
+
# in this project's top-level directory, and also on-line at:
|
4
|
+
# https://github.com/mnpopcenter/stats_package_syntax_file_generator
|
5
|
+
|
6
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'setup.rb'))
|
7
|
+
|
8
|
+
module StatsPackageSyntaxFileGeneratorTest
|
9
|
+
class MakerRDDI < Test::Unit::TestCase
|
10
|
+
|
11
|
+
include StatsPackageSyntaxFileGeneratorTestSetup
|
12
|
+
|
13
|
+
def test_create_maker_rddi
|
14
|
+
msg = 'Try to create an object.'
|
15
|
+
mk = new_maker('rddi')
|
16
|
+
assert_instance_of SyntaxFile::MakerRDDI, mk, msg
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_check_pkg
|
20
|
+
msg = 'Compare against hardcoded result.'
|
21
|
+
mk = new_maker('rddi')
|
22
|
+
expected = [
|
23
|
+
'if (!require("ipumsr")) stop("Reading IPUMS data into R requires the ipumsr package. It can be installed using the following command: install.packages(\'ipumsr\')")',
|
24
|
+
''
|
25
|
+
]
|
26
|
+
actual = mk.check_pkg
|
27
|
+
assert_equal expected, actual, msg
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
data/tests/tc_maker_stata.rb
CHANGED
data/tests/tc_maker_sts.rb
CHANGED
@@ -119,7 +119,6 @@ def test_syn_val_labs_for_var
|
|
119
119
|
],
|
120
120
|
[" \\RENT",
|
121
121
|
" '......................................40........50........60........70........80........90.......100.......110.......120.......130.......140.......150.......160.......170.......180.......190.......200.......210.......220.......230.......240.......250.......260.......270.......280.......290.......300' \"[no label]............................40........50........60........70........80........90.......100.......110.......120.......130.......140.......150.......160.......170.......180.......190.......200.......210.......220.......230.......240.......250.......260.......270.......280.......290.......300\"",
|
122
|
-
" '0050' \"[no label]\"",
|
123
122
|
" '0070' \"[no label]\"",
|
124
123
|
" '0075' \"[no label]\"",
|
125
124
|
" '0080' \"[no label]\"",
|
data/tests/ts_all.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stats_package_syntax_file_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Monty Hindman, Marcus Peterson, Colin Davis, Dan Elbert, Jayandra Pokharel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -64,6 +64,7 @@ files:
|
|
64
64
|
- lib/stats_package_syntax_file_generator.rb
|
65
65
|
- lib/syntax_file/controller.rb
|
66
66
|
- lib/syntax_file/maker.rb
|
67
|
+
- lib/syntax_file/maker_rddi.rb
|
67
68
|
- lib/syntax_file/maker_sas.rb
|
68
69
|
- lib/syntax_file/maker_spss.rb
|
69
70
|
- lib/syntax_file/maker_stata.rb
|
@@ -75,6 +76,7 @@ files:
|
|
75
76
|
- tests/setup.rb
|
76
77
|
- tests/tc_controller.rb
|
77
78
|
- tests/tc_maker.rb
|
79
|
+
- tests/tc_maker_rddi.rb
|
78
80
|
- tests/tc_maker_sas.rb
|
79
81
|
- tests/tc_maker_spss.rb
|
80
82
|
- tests/tc_maker_stata.rb
|
@@ -101,8 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
103
|
- !ruby/object:Gem::Version
|
102
104
|
version: '0'
|
103
105
|
requirements: []
|
104
|
-
|
105
|
-
rubygems_version: 2.4.6
|
106
|
+
rubygems_version: 3.1.4
|
106
107
|
signing_key:
|
107
108
|
specification_version: 4
|
108
109
|
summary: Produces statistical package syntax files for fixed-column data.
|