Module: AssLauncher::Enterprise::Cli::SpecDsl
- Includes:
- DslHelpers
- Included in:
- AssLauncher::Enterprise::CliDef
- Defined in:
- lib/ass_launcher/enterprise/cli/spec_dsl.rb,
lib/ass_launcher/enterprise/cli/spec_dsl/dsl_helpers.rb
Overview
DSL for describe 1C:Enterprise command-line interface
Defined Under Namespace
Modules: DslHelpers
Instance Method Summary collapse
-
#change(name, &block) ⇒ Object
Change specifications of subparameters for already specified parameter
name
. -
#chose(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Chose
Define Parameters::Chose parameter and him subparameters.
-
#define_group(name, desc, priority) ⇒ Object
Define CLI parameters group.
-
#describe_mode(mode, desc, banner) ⇒ Object
Describe run modes specifications.
-
#enterprise_version(v) ⇒ Object
Define 1C:Enterprise version for defined CLI specifications.
-
#flag(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Flag
Define Parameters::Flag parameter and him subparameters.
-
#group(key, &block) ⇒ Object
Block to grouping CLI parameters into parameters group.
-
#mode(*modes, &block) ⇒ Object
Block to define CLI parameters for run modes.
-
#num(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::StringParam
Define Parameters::StringParam parameter suitable for validation numeric argument.
-
#path(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Path
Define Parameters::Path parameter and him subparameters.
-
#path_exist(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Path
Path with exist validation.
-
#path_not_exist(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Path
Path with not exist validation.
- #path_twice(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::PathTwice
-
#restrict(name) ⇒ nil
Restrict already specified parameter
name
recursively with all subparameters. -
#skip(name, desc = '') ⇒ Cli::Parameters::Skip
Stub for skipped parameter.
-
#string(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::StringParam
Define Parameters::StringParam parameter and him subparameters.
-
#switch(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Switch
Define Parameters::Switch parameter and him subparameters.
-
#switch_list(**options) ⇒ Object
(also: #chose_list)
Build switch or chose list for CLI parameters clases: Parameters::Switch or Parameters::Chose.
-
#thick ⇒ Symbol
Return 1C client identifier see BinaryMatcher::ALL_CLIENTS.
-
#thin ⇒ Symbol
Return 1C client identifier see BinaryMatcher::ALL_CLIENTS.
-
#url(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::StringParam
Define Parameters::StringParam parameter suitable for validation URL argument.
-
#web ⇒ Symbol
Return 1C client identifier see BinaryMatcher::ALL_CLIENTS.
Methods included from DslHelpers
#_t, #described_modes, #enterprise_versions, #parameters, #parameters_groups
Instance Method Details
#change(name, &block) ⇒ Object
Change specifications of subparameters for already specified parameter name
240 241 242 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 240 def change(name, &block) change_param name, &block end |
#chose(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Chose
use helper #chose_list for build :chose_list
option
Define Parameters::Chose parameter and him subparameters. Subparameters defines in the block.
178 179 180 181 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 178 def chose(name, desc, *clients, **, &block) new_param(Parameters::Chose, name, desc, clients, , &block) end |
#define_group(name, desc, priority) ⇒ Object
Define CLI parameters group
34 35 36 37 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 34 def define_group(name, desc, priority) parameters_groups[name.to_sym] = { desc: _t(desc), priority: priority } end |
#describe_mode(mode, desc, banner) ⇒ Object
Describe run modes specifications
24 25 26 27 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 24 def describe_mode(mode, desc, ) fail "Undefined mode: #{mode}" unless defined_modes.include? mode described_modes[mode] = { desc: _t(desc), banner: _t() } end |
#enterprise_version(v) ⇒ Object
Define 1C:Enterprise version for defined CLI specifications
15 16 17 18 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 15 def enterprise_version(v) reset_all add_enterprise_versions Gem::Version.new(v) end |
#flag(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Flag
Define Parameters::Flag parameter and him subparameters. Subparameters defines in the block.
158 159 160 161 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 158 def flag(name, desc, *clients, **, &block) new_param(Parameters::Flag, name, desc, clients, **, &block) end |
#group(key, &block) ⇒ Object
Block to grouping CLI parameters into parameters group. Group must be defined as #define_group
80 81 82 83 84 85 86 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 80 def group(key, &block) fail_if_wrong_group(key) fail 'Block required' unless block_given? self.current_group = key instance_eval(&block) reset_group end |
#mode(*modes, &block) ⇒ Object
Block to define CLI parameters for run modes
62 63 64 65 66 67 68 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 62 def mode(*modes, &block) fail_if_wrong_modes modes fail 'Block required' unless block_given? self.current_modes = modes instance_eval(&block) reset_modes end |
#num(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::StringParam
It initialize :value_validator
option with Proc
Define Parameters::StringParam parameter suitable for validation numeric argument. Subparameters defines in the block.
212 213 214 215 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 212 def num(name, desc, *clients, **, &block) [:value_validator] = num_value_validator(name) string(name, desc, *clients, **, &block) end |
#path(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Path
Define Parameters::Path parameter and him subparameters. Subparameters defines in the block.
115 116 117 118 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 115 def path(name, desc, *clients, **, &block) new_param(Parameters::Path, name, desc, clients, **, &block) end |
#path_exist(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Path
Path with exist validation.
124 125 126 127 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 124 def path_exist(name, desc, *clients, **, &block) path(name, desc, *clients, .merge(must_be: :exist), &block) end |
#path_not_exist(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Path
Path with not exist validation.
133 134 135 136 137 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 133 def path_not_exist(name, desc, *clients, **, &block) path(name, desc, *clients, .merge(must_be: :not_exist), &block) end |
#path_twice(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::PathTwice
140 141 142 143 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 140 def path_twice(name, desc, *clients, **, &block) new_param(Parameters::PathTwice, name, desc, clients, **, &block) end |
#restrict(name) ⇒ nil
Restrict already specified parameter name
recursively with all subparameters
234 235 236 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 234 def restrict(name) restrict_params(name, current_version) end |
#skip(name, desc = '') ⇒ Cli::Parameters::Skip
Stub for skipped parameter. Many 1C:Enterprise CLI parameters is not imprtant for describe in CliSpec. For define it fact, you can use this method.
249 250 251 252 253 254 255 256 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 249 def skip(name, desc = '') p = Parameters::Skip.new(name, desc, new_binary_matcher([:skip]), :skip, [:skip], current_parent) add_parameter p p end |
#string(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::StringParam
Define Parameters::StringParam parameter and him subparameters. Subparameters defines in the block.
149 150 151 152 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 149 def string(name, desc, *clients, **, &block) new_param(Parameters::StringParam, name, desc, clients, **, &block) end |
#switch(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::Switch
use helper #switch_list for build :switch_list
option
Define Parameters::Switch parameter and him subparameters. Subparameters defines in the block.
168 169 170 171 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 168 def switch(name, desc, *clients, **, &block) new_param(Parameters::Switch, name, desc, clients, , &block) end |
#switch_list(**options) ⇒ Object Also known as: chose_list
Build switch or chose list for CLI parameters clases: Parameters::Switch or Parameters::Chose
98 99 100 101 102 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 98 def switch_list(**) .each_key do |k| [k] = _t([k]) end end |
#thick ⇒ Symbol
Return 1C client identifier see BinaryMatcher::ALL_CLIENTS
42 43 44 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 42 def thick :thick end |
#thin ⇒ Symbol
Return 1C client identifier see BinaryMatcher::ALL_CLIENTS
48 49 50 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 48 def thin :thin end |
#url(name, desc, *clients, **options, &block) ⇒ Cli::Parameters::StringParam
It initialize :value_validator
option with Proc
Define Parameters::StringParam parameter suitable for validation URL argument. Subparameters defines in the block.
188 189 190 191 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 188 def url(name, desc, *clients, **, &block) [:value_validator] = url_value_validator(name) string(name, desc, *clients, **, &block) end |
#web ⇒ Symbol
Return 1C client identifier see BinaryMatcher::ALL_CLIENTS
54 55 56 |
# File 'lib/ass_launcher/enterprise/cli/spec_dsl.rb', line 54 def web :web end |