chieftain 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17774b03847bead6d36c230eddf5d793cacc9889b35c19e344a8be1a973b0878
4
- data.tar.gz: 88f35af779073c7ba55f6907075a6ab3f58df2a2c9de05daa14e88e7555c06c6
3
+ metadata.gz: ef63838408d704992fbf497274b822d536bd6213e38acf4d0462e7fcf9f07e98
4
+ data.tar.gz: 7c44b7fb1ea254d8959a8e38967f6b2950bfef878b7a81769ff0967a0a28b690
5
5
  SHA512:
6
- metadata.gz: ea95cf8bba3f6a7cfcbe1b9cb5e310b6e990421fe2ff8669d6c41338c14653a264a0de427f02b8b93c0101ddddab4b61e81b1459674265197291ba940c5941d5
7
- data.tar.gz: cd99d161b3d5b651717855223c57db1d254ea0c2ecde3ab9656735a9a27ef83b978e376f761aa83887118805eb66f044d2d6d1a82a21a334cab4de1a75429440
6
+ metadata.gz: 8e19a85427d8f2d2117c5ebdddf79eeafd2722c7112b660421a49f48c9ea36b1dc114fbb2e184c884aa6e0be1248064bad7049d9ce21230909010eff3f4d5733
7
+ data.tar.gz: 9aca778b80515001635cf64baf6eb0839e3b92e6c1af71278682da17d17c294eb365b17ed6e7e49fd52cea7e80db90620535af7686fb282d6b4e6b0cb88ad300
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- chieftain (0.1.0)
4
+ chieftain (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -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] || provided?(name)
112
- value = get_raw_parameter_value(name)
113
- convertor = get_convertor(settings.type)
114
- if !convertor.convertible?(value)
115
- raise ParameterError.new("The value of the '#{name}' parameter cannot be converted to the '#{settings.type}' type.", name)
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
- convertor.convert(value)
122
+
118
123
  else
119
- nil
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.")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Chieftain
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.2"
5
5
  end
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.0
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-14 00:00:00.000000000 Z
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