chieftain 0.1.0 → 0.1.2
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/Gemfile.lock +1 -1
- data/lib/chieftain/command.rb +25 -7
- data/lib/chieftain/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: ef63838408d704992fbf497274b822d536bd6213e38acf4d0462e7fcf9f07e98
|
4
|
+
data.tar.gz: 7c44b7fb1ea254d8959a8e38967f6b2950bfef878b7a81769ff0967a0a28b690
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e19a85427d8f2d2117c5ebdddf79eeafd2722c7112b660421a49f48c9ea36b1dc114fbb2e184c884aa6e0be1248064bad7049d9ce21230909010eff3f4d5733
|
7
|
+
data.tar.gz: 9aca778b80515001635cf64baf6eb0839e3b92e6c1af71278682da17d17c294eb365b17ed6e7e49fd52cea7e80db90620535af7686fb282d6b4e6b0cb88ad300
|
data/Gemfile.lock
CHANGED
data/lib/chieftain/command.rb
CHANGED
@@ -108,15 +108,33 @@ module Chieftain
|
|
108
108
|
raise ParameterError.new("A value has not been provided for the '#{name}' parameter.", name)
|
109
109
|
end
|
110
110
|
|
111
|
-
if settings[:required]
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
111
|
+
if settings[:required]
|
112
|
+
raw_value = get_raw_parameter_value(name)
|
113
|
+
if settings[:type]
|
114
|
+
convertor = get_convertor(settings.type)
|
115
|
+
if !convertor.convertible?(raw_value)
|
116
|
+
raise ParameterError.new("The value of the '#{name}' parameter cannot be converted to the '#{settings.type}' type.", name)
|
117
|
+
end
|
118
|
+
convertor.convert(raw_value)
|
119
|
+
else
|
120
|
+
raw_value
|
116
121
|
end
|
117
|
-
|
122
|
+
|
118
123
|
else
|
119
|
-
|
124
|
+
if provided?(name)
|
125
|
+
raw_value = get_raw_parameter_value(name)
|
126
|
+
if settings[:type]
|
127
|
+
convertor = get_convertor(settings.type)
|
128
|
+
if !convertor.convertible?(raw_value)
|
129
|
+
raise ParameterError.new("The value of the '#{name}' parameter cannot be converted to the '#{settings.type}' type.", name)
|
130
|
+
end
|
131
|
+
convertor.convert(raw_value)
|
132
|
+
else
|
133
|
+
raw_value
|
134
|
+
end
|
135
|
+
else
|
136
|
+
settings[:default]
|
137
|
+
end
|
120
138
|
end
|
121
139
|
else
|
122
140
|
raise ParameterError.new("Unknown parameter '#{name}' requested from a '#{self.class.name}' command instance.")
|
data/lib/chieftain/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chieftain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Wood
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: An implementation of the command design pattern that attempts to simplify
|
14
14
|
usage by enchancing the offering making use of the facilities offered by the Ruby
|