muwu 2.5.1 → 3.0.0.rc1
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/{muwu_loader.rb → loader.rb} +4 -2
- data/lib/muwu.rb +3 -3
- data/lib/muwu/cli/cli.rb +52 -11
- data/lib/muwu/cli/help/compile +4 -4
- data/lib/muwu/cli/help/publish +20 -0
- data/lib/muwu/cli/help/reset +6 -3
- data/lib/muwu/cli/help/summary +4 -2
- data/lib/muwu/cli/help/sync +26 -0
- data/lib/muwu/cli/help/view +3 -0
- data/lib/muwu/controller/controller.rb +71 -18
- data/lib/muwu/controller/controller_interaction.rb +66 -44
- data/lib/muwu/default/default.rb +14 -9
- data/lib/muwu/destination/destination.rb +61 -57
- data/lib/muwu/destination_builder/destination_builder.rb +31 -33
- data/lib/muwu/manifest_task/document_css.rb +5 -0
- data/lib/muwu/manifest_task/document_html.rb +6 -1
- data/lib/muwu/manifest_task/document_js.rb +6 -1
- data/lib/muwu/manifest_task_builder/text_item_builder.rb +1 -8
- data/lib/muwu/project/project.rb +146 -127
- data/lib/muwu/project_builder/assets/config/css/base/html_elements.scss +19 -15
- data/lib/muwu/project_builder/assets/config/css/base/mixin_text_section_heading.scss +12 -11
- data/lib/muwu/project_builder/assets/config/css/base/section_muwu_contents.scss +5 -5
- data/lib/muwu/project_builder/assets/config/css/base/section_muwu_metadata.scss +2 -4
- data/lib/muwu/project_builder/assets/config/css/base/section_muwu_navigator.scss +3 -4
- data/lib/muwu/project_builder/assets/config/css/base/section_muwu_subcontents.scss +5 -5
- data/lib/muwu/project_builder/assets/config/css/base/section_muwu_text.scss +16 -15
- data/lib/muwu/project_builder/assets/config/css/base/section_muwu_title.scss +9 -6
- data/lib/muwu/project_builder/project_reader.rb +3 -0
- data/lib/muwu/project_builder/project_reset_compiled.rb +31 -0
- data/lib/muwu/project_builder/project_reset_css.rb +30 -30
- data/lib/muwu/project_builder/project_starter.rb +7 -7
- data/lib/muwu/project_builder/project_validator.rb +24 -0
- data/lib/muwu/project_builder/project_writer.rb +12 -11
- data/lib/muwu/project_exception/compiled_folder_not_found.rb +23 -0
- data/lib/muwu/project_exception/lynx_not_available.rb +23 -0
- data/lib/muwu/project_exception/option_remote_publish_value_nil.rb +18 -0
- data/lib/muwu/project_exception/option_remote_sync_value_nil.rb +18 -0
- data/lib/muwu/project_exception/rsync_not_available.rb +23 -0
- data/lib/muwu/project_exception/scp_not_available.rb +23 -0
- data/lib/muwu/project_exception_handler/fatal.rb +10 -9
- data/lib/muwu/project_options/project_options.rb +11 -8
- data/lib/muwu/project_options_builder/project_option_validator.rb +12 -12
- data/lib/muwu/project_options_builder/project_option_validator_value.rb +92 -76
- data/lib/muwu/publish/publish.rb +56 -0
- data/lib/muwu/render_concat/render_concat.rb +26 -27
- data/lib/muwu/render_html/render_html.rb +27 -24
- data/lib/muwu/render_html_partial/render_contents.rb +4 -1
- data/lib/muwu/render_html_partial/render_document_html.rb +64 -64
- data/lib/muwu/render_html_partial/render_text_item.rb +16 -16
- data/lib/muwu/sync/sync.rb +73 -0
- data/lib/muwu/var/deflistdiv.rb +0 -0
- data/lib/muwu/viewer/viewer.rb +25 -0
- data/test/what_no_tests.md +1 -3
- metadata +18 -5
@@ -1,10 +1,10 @@
|
|
1
1
|
module Muwu
|
2
2
|
class ProjectStarter
|
3
|
-
|
4
|
-
|
3
|
+
|
4
|
+
|
5
5
|
include Muwu
|
6
|
-
|
7
|
-
|
6
|
+
|
7
|
+
|
8
8
|
def initialize(current_working_directory, metadata)
|
9
9
|
@current_working_directory = File.absolute_path(current_working_directory)
|
10
10
|
@metadata = metadata
|
@@ -21,7 +21,7 @@ module Muwu
|
|
21
21
|
project.working_directory = File.absolute_path(File.join(@current_working_directory, @metadata[:slug]))
|
22
22
|
project
|
23
23
|
end
|
24
|
-
|
25
|
-
|
24
|
+
|
25
|
+
|
26
26
|
end
|
27
|
-
end
|
27
|
+
end
|
@@ -14,6 +14,16 @@ module Muwu
|
|
14
14
|
public
|
15
15
|
|
16
16
|
|
17
|
+
def validate_dir_compiled
|
18
|
+
if @project.path_compiled_does_exist
|
19
|
+
return true
|
20
|
+
else
|
21
|
+
@project.exceptions_add ProjectException::CompiledFolderNotFound.new(@project)
|
22
|
+
return false
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
17
27
|
def validate_file_css
|
18
28
|
if @project.css_manifest_file_does_exist
|
19
29
|
return true
|
@@ -54,6 +64,20 @@ module Muwu
|
|
54
64
|
end
|
55
65
|
|
56
66
|
|
67
|
+
def validate_option_remote_publish
|
68
|
+
if @project.options.remote_publish.to_s == ''
|
69
|
+
@project.exceptions_add ProjectException::OptionRemotePublishValueNil.new
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
|
74
|
+
def validate_option_remote_sync
|
75
|
+
if @project.options.remote_sync.to_s == ''
|
76
|
+
@project.exceptions_add ProjectException::OptionRemoteSyncValueNil.new
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
|
57
81
|
def validate_outline_step_navigator(index)
|
58
82
|
validate_outline_step_navigator_if_single_document(index)
|
59
83
|
return validate_outline_step_navigator_if_automatic(index)
|
@@ -8,8 +8,8 @@ module Muwu
|
|
8
8
|
|
9
9
|
require 'fileutils'
|
10
10
|
require 'yaml'
|
11
|
-
|
12
|
-
|
11
|
+
|
12
|
+
|
13
13
|
attr_accessor(
|
14
14
|
:project
|
15
15
|
)
|
@@ -40,19 +40,20 @@ module Muwu
|
|
40
40
|
|
41
41
|
end
|
42
42
|
end
|
43
|
-
|
44
|
-
|
43
|
+
|
44
|
+
|
45
45
|
def phase_1_make_project_folder
|
46
46
|
announce_and_execute_dir_mkdir(@project.working_directory)
|
47
47
|
end
|
48
|
-
|
49
|
-
|
48
|
+
|
49
|
+
|
50
50
|
def phase_2_make_project_subfolders
|
51
|
+
announce_and_execute_dir_mkdir(@project.path_compiled)
|
51
52
|
announce_and_execute_dir_mkdir(@project.path_config)
|
52
|
-
announce_and_execute_dir_mkdir(@project.path_images)
|
53
|
+
# announce_and_execute_dir_mkdir(@project.path_images) # DEPRECATED
|
53
54
|
announce_and_execute_dir_mkdir(@project.path_text)
|
54
55
|
end
|
55
|
-
|
56
|
+
|
56
57
|
|
57
58
|
def phase_2_make_folder_css_and_copy_files
|
58
59
|
folder_source_gem = File.absolute_path(File.join(Muwu::GEM_HOME_LIB, 'muwu','project_builder','assets','config','css'))
|
@@ -79,8 +80,8 @@ module Muwu
|
|
79
80
|
phase_3_write_file_outline_yml_blank
|
80
81
|
end
|
81
82
|
end
|
82
|
-
|
83
|
-
|
83
|
+
|
84
|
+
|
84
85
|
def phase_3_write_file_outline_yml_dump
|
85
86
|
announce_and_execute_yaml_dump(@project.outline, @project.outline_filename)
|
86
87
|
end
|
@@ -124,4 +125,4 @@ module Muwu
|
|
124
125
|
|
125
126
|
|
126
127
|
end
|
127
|
-
end
|
128
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Muwu
|
2
|
+
module ProjectException
|
3
|
+
class CompiledFolderNotFound
|
4
|
+
|
5
|
+
|
6
|
+
def initialize(project)
|
7
|
+
@compiled_folder = project.path_compiled
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
def report
|
12
|
+
"The folder for compiled documents `#{@compiled_folder}` could not be found."
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
def type
|
17
|
+
:fatal
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Muwu
|
2
|
+
module ProjectException
|
3
|
+
class RsyncNotAvailable
|
4
|
+
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
$stderr.puts "#{self.class}"
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
def report
|
12
|
+
"rsync is not available"
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
def type
|
17
|
+
:sync
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Muwu
|
2
|
+
module ProjectException
|
3
|
+
class ScpNotAvailable
|
4
|
+
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
$stderr.puts "#{self.class}"
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
def report
|
12
|
+
"scp is not available"
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
def type
|
17
|
+
:publish
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -6,15 +6,16 @@ module Muwu
|
|
6
6
|
def initialize(exceptions)
|
7
7
|
@exceptions = [exceptions].flatten
|
8
8
|
render_exceptions
|
9
|
+
exit
|
9
10
|
end
|
10
|
-
|
11
|
-
|
11
|
+
|
12
|
+
|
12
13
|
def render_exception(exception)
|
13
14
|
$stderr.puts "- #{exception.class}"
|
14
15
|
$stderr.puts " #{exception.report}"
|
15
16
|
end
|
16
|
-
|
17
|
-
|
17
|
+
|
18
|
+
|
18
19
|
def render_exceptions
|
19
20
|
render_header
|
20
21
|
@exceptions.each do |exception|
|
@@ -22,17 +23,17 @@ module Muwu
|
|
22
23
|
end
|
23
24
|
render_lf
|
24
25
|
end
|
25
|
-
|
26
|
-
|
26
|
+
|
27
|
+
|
27
28
|
def render_header
|
28
29
|
$stderr.puts "#{self.inspect}"
|
29
30
|
end
|
30
|
-
|
31
|
-
|
31
|
+
|
32
|
+
|
32
33
|
def render_lf
|
33
34
|
$stderr.puts "\n"
|
34
35
|
end
|
35
|
-
|
36
|
+
|
36
37
|
|
37
38
|
end
|
38
39
|
end
|
@@ -16,22 +16,25 @@ module Muwu
|
|
16
16
|
:output_file_html_basename,
|
17
17
|
:output_file_js_basename,
|
18
18
|
:output_formats,
|
19
|
+
:remote_publish,
|
20
|
+
:remote_sync,
|
19
21
|
:render_punctuation_smart,
|
20
22
|
:render_section_end_links,
|
21
23
|
:render_section_numbers,
|
22
24
|
:render_sections_distinctly_depth_max,
|
23
25
|
:render_title_section_metadata,
|
26
|
+
:rsync_options,
|
24
27
|
:warning_if_parent_heading_lacks_source
|
25
28
|
)
|
26
|
-
|
27
|
-
|
29
|
+
|
30
|
+
|
28
31
|
def initialize
|
29
32
|
Default::PROJECT_OPTIONS.each_pair do |key, value|
|
30
33
|
set_option(key, value)
|
31
34
|
end
|
32
35
|
end
|
33
|
-
|
34
|
-
|
36
|
+
|
37
|
+
|
35
38
|
def inspect
|
36
39
|
["#{self.to_s}", "{", inspect_instance_variables, "}"].join(' ')
|
37
40
|
end
|
@@ -40,15 +43,15 @@ module Muwu
|
|
40
43
|
def inspect_instance_variables
|
41
44
|
instance_variables.map { |v| "#{v}=#{instance_variable_get(v).inspect}" }.join(", ")
|
42
45
|
end
|
43
|
-
|
44
|
-
|
46
|
+
|
47
|
+
|
45
48
|
def set_option(key, value)
|
46
49
|
if Default::PROJECT_OPTIONS.has_key?(key)
|
47
50
|
key_ivsym = "@#{key.to_s}"
|
48
51
|
instance_variable_set(key_ivsym, value)
|
49
52
|
end
|
50
53
|
end
|
51
|
-
|
52
|
-
|
54
|
+
|
55
|
+
|
53
56
|
end
|
54
57
|
end
|
@@ -1,26 +1,26 @@
|
|
1
1
|
module Muwu
|
2
2
|
class ProjectOptionValidator
|
3
|
-
|
4
|
-
|
3
|
+
|
4
|
+
|
5
5
|
include Muwu
|
6
|
-
|
7
|
-
|
6
|
+
|
7
|
+
|
8
8
|
attr_reader(
|
9
9
|
:key,
|
10
10
|
:value
|
11
11
|
)
|
12
|
-
|
13
|
-
|
12
|
+
|
13
|
+
|
14
14
|
def initialize(key, value, project)
|
15
15
|
key_validator = ProjectOptionValidatorKey.new(key, value, project)
|
16
16
|
@key = key_validator.validated_key
|
17
17
|
@value = key_validator.validated_value
|
18
18
|
end
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
|
20
|
+
|
21
|
+
|
22
22
|
protected
|
23
|
-
|
23
|
+
|
24
24
|
|
25
25
|
def self.new_if_valid_key(key, value, project)
|
26
26
|
option_validator = new(key, value, project)
|
@@ -32,6 +32,6 @@ module Muwu
|
|
32
32
|
end
|
33
33
|
|
34
34
|
|
35
|
-
|
35
|
+
|
36
36
|
end
|
37
|
-
end
|
37
|
+
end
|
@@ -3,32 +3,32 @@ module Muwu
|
|
3
3
|
|
4
4
|
|
5
5
|
require 'iso-639'
|
6
|
-
|
7
|
-
|
6
|
+
|
7
|
+
|
8
8
|
include Muwu
|
9
9
|
include Helper
|
10
10
|
|
11
|
-
|
11
|
+
|
12
12
|
attr_accessor(
|
13
13
|
:key_validated,
|
14
14
|
:project,
|
15
15
|
:validation_method_name,
|
16
16
|
:value_provided
|
17
17
|
)
|
18
|
-
|
19
|
-
|
18
|
+
|
19
|
+
|
20
20
|
def initialize(key_validated, value_provided, project)
|
21
21
|
@key_validated = key_validated.to_s.gsub(/\W/,'_')
|
22
22
|
@project = project
|
23
23
|
@validation_method_name = "validate_option_#{@key_validated}"
|
24
24
|
@value_provided = value_provided
|
25
25
|
end
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
|
27
|
+
|
28
|
+
|
29
29
|
public
|
30
|
-
|
31
|
-
|
30
|
+
|
31
|
+
|
32
32
|
def validated_value
|
33
33
|
if private_methods.include?(@validation_method_name.to_sym)
|
34
34
|
return method(@validation_method_name).call
|
@@ -37,20 +37,6 @@ module Muwu
|
|
37
37
|
return nil
|
38
38
|
end
|
39
39
|
end
|
40
|
-
|
41
|
-
|
42
|
-
# def value_as_array(value)
|
43
|
-
# result = []
|
44
|
-
# if String === value
|
45
|
-
# result = value.split(/,\s*/).map{ |v| value_as_string(v) }.sort
|
46
|
-
# elsif Array === value
|
47
|
-
# result = value.map{ |v| value_as_string(v) }.sort
|
48
|
-
# elsif Boolean === @value_provided
|
49
|
-
# result << value
|
50
|
-
# end
|
51
|
-
# result.reject!{ |r| r == '' }
|
52
|
-
# result
|
53
|
-
# end
|
54
40
|
|
55
41
|
|
56
42
|
def value_as_array(value)
|
@@ -66,18 +52,23 @@ module Muwu
|
|
66
52
|
result.reject!{ |r| r == '' }
|
67
53
|
result
|
68
54
|
end
|
69
|
-
|
70
|
-
|
55
|
+
|
56
|
+
|
71
57
|
def value_as_integer(value)
|
72
58
|
value.to_i
|
73
59
|
end
|
74
|
-
|
75
|
-
|
60
|
+
|
61
|
+
|
76
62
|
def value_as_string(value)
|
77
63
|
value.to_s.strip.downcase
|
78
64
|
end
|
79
|
-
|
80
|
-
|
65
|
+
|
66
|
+
|
67
|
+
def value_as_string_preserving_case(value)
|
68
|
+
value.to_s.strip
|
69
|
+
end
|
70
|
+
|
71
|
+
|
81
72
|
def value_provided_as_array
|
82
73
|
value_as_array(@value_provided)
|
83
74
|
end
|
@@ -86,17 +77,22 @@ module Muwu
|
|
86
77
|
def value_provided_as_integer
|
87
78
|
value_as_integer(@value_provided)
|
88
79
|
end
|
89
|
-
|
90
|
-
|
80
|
+
|
81
|
+
|
91
82
|
def value_provided_as_string
|
92
83
|
value_as_string(@value_provided)
|
93
84
|
end
|
94
|
-
|
85
|
+
|
86
|
+
|
87
|
+
def value_provided_as_string_preserving_case
|
88
|
+
value_as_string_preserving_case(@value_provided)
|
89
|
+
end
|
90
|
+
|
95
91
|
|
96
92
|
|
97
93
|
private
|
98
|
-
|
99
|
-
|
94
|
+
|
95
|
+
|
100
96
|
def validate_option_boolean
|
101
97
|
case @value_provided
|
102
98
|
when false, true
|
@@ -108,23 +104,28 @@ module Muwu
|
|
108
104
|
return nil
|
109
105
|
end
|
110
106
|
end
|
111
|
-
|
112
|
-
|
107
|
+
|
108
|
+
|
109
|
+
def validate_option_contents_section_numbers_receive_link
|
110
|
+
return validate_option_boolean
|
111
|
+
end
|
112
|
+
|
113
|
+
|
113
114
|
def validate_option_generate_navigators_automatically
|
114
115
|
return validate_option_boolean
|
115
116
|
end
|
116
|
-
|
117
|
-
|
117
|
+
|
118
|
+
|
118
119
|
def validate_option_generate_subcontents_automatically
|
119
120
|
return validate_option_boolean
|
120
121
|
end
|
121
|
-
|
122
|
-
|
122
|
+
|
123
|
+
|
123
124
|
def validate_option_html_head_includes_metadata_tags
|
124
125
|
return validate_option_boolean
|
125
126
|
end
|
126
|
-
|
127
|
-
|
127
|
+
|
128
|
+
|
128
129
|
def validate_option_html_lang
|
129
130
|
case @value_provided
|
130
131
|
when nil, 'nil'
|
@@ -139,18 +140,18 @@ module Muwu
|
|
139
140
|
end
|
140
141
|
end
|
141
142
|
end
|
142
|
-
|
143
|
-
|
143
|
+
|
144
|
+
|
144
145
|
def validate_option_html_uses_javascript_navigation
|
145
146
|
return validate_option_boolean
|
146
147
|
end
|
147
|
-
|
148
|
-
|
148
|
+
|
149
|
+
|
149
150
|
def validate_option_markdown_allows_raw_html
|
150
151
|
return validate_option_boolean
|
151
152
|
end
|
152
|
-
|
153
|
-
|
153
|
+
|
154
|
+
|
154
155
|
def validate_option_markdown_renderer
|
155
156
|
value = value_provided_as_string
|
156
157
|
case value
|
@@ -163,8 +164,8 @@ module Muwu
|
|
163
164
|
return nil
|
164
165
|
end
|
165
166
|
end
|
166
|
-
|
167
|
-
|
167
|
+
|
168
|
+
|
168
169
|
def validate_option_outline_text_pathnames
|
169
170
|
value = value_provided_as_string
|
170
171
|
case value
|
@@ -175,8 +176,8 @@ module Muwu
|
|
175
176
|
return nil
|
176
177
|
end
|
177
178
|
end
|
178
|
-
|
179
|
-
|
179
|
+
|
180
|
+
|
180
181
|
def validate_option_output_destination
|
181
182
|
value = value_provided_as_string
|
182
183
|
case value
|
@@ -200,22 +201,22 @@ module Muwu
|
|
200
201
|
return nil
|
201
202
|
end
|
202
203
|
end
|
203
|
-
|
204
|
-
|
204
|
+
|
205
|
+
|
205
206
|
def validate_option_output_file_css_basename
|
206
207
|
return validate_option_output_file_basename
|
207
208
|
end
|
208
|
-
|
209
|
-
|
209
|
+
|
210
|
+
|
210
211
|
def validate_option_output_file_html_basename
|
211
212
|
return validate_option_output_file_basename
|
212
213
|
end
|
213
|
-
|
214
|
-
|
214
|
+
|
215
|
+
|
215
216
|
def validate_option_output_file_js_basename
|
216
217
|
return validate_option_output_file_basename
|
217
218
|
end
|
218
|
-
|
219
|
+
|
219
220
|
|
220
221
|
def validate_option_output_formats
|
221
222
|
result = []
|
@@ -229,13 +230,23 @@ module Muwu
|
|
229
230
|
end
|
230
231
|
return result
|
231
232
|
end
|
232
|
-
|
233
|
-
|
233
|
+
|
234
|
+
|
235
|
+
def validate_option_remote_publish
|
236
|
+
return value_provided_as_string_preserving_case
|
237
|
+
end
|
238
|
+
|
239
|
+
|
240
|
+
def validate_option_remote_sync
|
241
|
+
return value_provided_as_string_preserving_case
|
242
|
+
end
|
243
|
+
|
244
|
+
|
234
245
|
def validate_option_render_punctuation_smart
|
235
246
|
return validate_option_boolean
|
236
247
|
end
|
237
|
-
|
238
|
-
|
248
|
+
|
249
|
+
|
239
250
|
def validate_option_render_section_end_links
|
240
251
|
result = []
|
241
252
|
value_provided_as_array.each do |value|
|
@@ -252,12 +263,12 @@ module Muwu
|
|
252
263
|
end
|
253
264
|
return result
|
254
265
|
end
|
255
|
-
|
256
|
-
|
266
|
+
|
267
|
+
|
257
268
|
def validate_option_render_section_numbers
|
258
269
|
return validate_option_boolean
|
259
270
|
end
|
260
|
-
|
271
|
+
|
261
272
|
|
262
273
|
def validate_option_render_sections_distinctly_depth_max
|
263
274
|
case @value_provided
|
@@ -270,8 +281,8 @@ module Muwu
|
|
270
281
|
return nil
|
271
282
|
end
|
272
283
|
end
|
273
|
-
|
274
|
-
|
284
|
+
|
285
|
+
|
275
286
|
def validate_option_render_title_section_metadata
|
276
287
|
case @value_provided
|
277
288
|
when nil, '', 'nil'
|
@@ -284,17 +295,22 @@ module Muwu
|
|
284
295
|
return [@value_provided.to_s].flatten
|
285
296
|
end
|
286
297
|
end
|
287
|
-
|
288
|
-
|
298
|
+
|
299
|
+
|
289
300
|
def validate_option_render_punctuation_smart
|
290
301
|
return validate_option_boolean
|
291
302
|
end
|
292
|
-
|
293
|
-
|
303
|
+
|
304
|
+
|
305
|
+
def validate_option_rsync_options
|
306
|
+
return value_provided_as_array
|
307
|
+
end
|
308
|
+
|
309
|
+
|
294
310
|
def validate_option_warning_if_parent_heading_lacks_source
|
295
311
|
return validate_option_boolean
|
296
312
|
end
|
297
|
-
|
298
|
-
|
313
|
+
|
314
|
+
|
299
315
|
end
|
300
|
-
end
|
316
|
+
end
|