kuali_toolbox 0.43 → 0.44
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/transform_CSV_to_HR_XML +10 -3
- data/lib/kuali_toolbox/etl.rb +1 -18
- data/lib/kuali_toolbox/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36f892f8e86ea384eb660241e4ae94b9b5cc5b5d
|
4
|
+
data.tar.gz: 26e1990536eca7fa2f41ea631ab3f6006add0761
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e5dee26ad9b81d9e9bec50bf6ac2c3f900a5150f575fb340dd5781e320eb77ccfcf5554949b1f6d6e07143e46a30fcc79a56e3f05b6ac8400c30a16be322560
|
7
|
+
data.tar.gz: 683041d12e698b925c9b947e6c454b00ccc410b61e94698fea9d5cd2753fe4b404b52952b1839154aa3cb9729c95f6445cc98b29819e95a95879b56e532765d6
|
data/bin/transform_CSV_to_HR_XML
CHANGED
@@ -45,6 +45,9 @@ def self.parse_command_line_options(
|
|
45
45
|
opts.on( '-l [url]', '--url [url]', 'The full URL of the HR REST API; e.g. https://localhost/kc-dev/hr-import/hrimport/import' ) do |l|
|
46
46
|
opt[:url] = l
|
47
47
|
end
|
48
|
+
opts.on( '-c', '--continue', 'Continue writing the output file if errors are present' ) do
|
49
|
+
opt[:continue] = true
|
50
|
+
end
|
48
51
|
opts.on( '-h', '--help', 'Display this screen' ) do
|
49
52
|
puts opts
|
50
53
|
exit 1
|
@@ -451,9 +454,13 @@ end
|
|
451
454
|
|
452
455
|
num_errors = number_of_errors text_parse_errors
|
453
456
|
if num_errors > 0
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
+
if opt[:continue]
|
458
|
+
puts "\n#{num_errors} errors found and skipped during XML tranformation."
|
459
|
+
else
|
460
|
+
puts "\n#{num_errors} errors found and must be corrected. To save only valid records, run with the -c option.\n\n"
|
461
|
+
File.unlink opt[:xml_filename]
|
462
|
+
exit 1
|
463
|
+
end
|
457
464
|
end
|
458
465
|
|
459
466
|
puts "\nXML file written to #{opt[:xml_filename]}\n\n"
|
data/lib/kuali_toolbox/etl.rb
CHANGED
@@ -141,22 +141,10 @@ module KualiCo::ETL
|
|
141
141
|
return nil
|
142
142
|
end
|
143
143
|
|
144
|
-
# Prepares a String for a SQL statement where single quotes need to be escaped.
|
145
|
-
# @param [String] str the String to be escaped.
|
146
|
-
# @return [String, nil] the resulting String with single quotes escaped with a backslash.
|
147
|
-
# If a nil is passed, nil is returned.
|
148
|
-
def self.escape_single_quotes(str)
|
149
|
-
if str.nil?
|
150
|
-
return nil
|
151
|
-
end
|
152
|
-
return str.to_s.gsub("'", "\\\\'")
|
153
|
-
end
|
154
|
-
|
155
144
|
# Parses a string using common parsing behavior with options. This method forms the foundation
|
156
145
|
# of all the other parsing methods.
|
157
146
|
# @param [String] str the String to be parsed.
|
158
147
|
# @option opt [String, #to_s] :default the default return value if str is empty. Must respond to #to_s
|
159
|
-
# @option opt [Boolean] :escape_single_quotes escape single quote characters.
|
160
148
|
# @option opt [Integer] :length raise a TextParseError if str.length > :length.
|
161
149
|
# @option opt [Boolean] :truncate string if longer than length.
|
162
150
|
# @option opt [String] :name the name of the field being parsed. Used only for error handling.
|
@@ -170,10 +158,8 @@ module KualiCo::ETL
|
|
170
158
|
# @example nil or empty inputs will return the empty String by default
|
171
159
|
# '' == parse_string(nil) && '' == parse_string('')
|
172
160
|
# @see valid_value
|
173
|
-
|
174
|
-
def self.parse_string(str, opt={ strict: true, required: false, escape_single_quotes: true })
|
161
|
+
def self.parse_string(str, opt={ strict: true, required: false })
|
175
162
|
opt[:strict] = true if opt[:strict].nil?
|
176
|
-
opt[:escape_single_quotes] = true if opt[:escape_single_quotes].nil?
|
177
163
|
retval = encode str.to_s.strip
|
178
164
|
if opt[:required] && retval.empty?
|
179
165
|
raise KualiCo::ETL::error TextParseError.new "Required data element '#{opt[:name]}' not found: '#{str}'"
|
@@ -194,9 +180,6 @@ module KualiCo::ETL
|
|
194
180
|
if opt[:valid_values] && ! valid_value(retval, opt[:valid_values], opt)
|
195
181
|
raise KualiCo::ETL::error TextParseError.new "Illegal #{opt[:name]}: value '#{str}' not found in: #{opt[:valid_values]}"
|
196
182
|
end
|
197
|
-
if opt[:escape_single_quotes]
|
198
|
-
retval = escape_single_quotes retval
|
199
|
-
end
|
200
183
|
return retval
|
201
184
|
end
|
202
185
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kuali_toolbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.44'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- KualiCo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|