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 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