bogo 0.1.22 → 0.1.24
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/CHANGELOG.md +3 -0
- data/lib/bogo/lazy.rb +19 -6
- data/lib/bogo/version.rb +1 -1
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0ca167fdd60981d76b2fc29178e9f5ebdb31dd5
|
4
|
+
data.tar.gz: 44b90c260e3099cdc593db60aac12fd146c48d65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19c043fd999d61d5ee2abe1dfb1b20db13f07a0aa22b206a91d08175c8847d903c6294bd919e4d5c73816c871c8872f9459c3314fdbf6732b241c28b79115e81
|
7
|
+
data.tar.gz: 487018eaaf832cd79e7b318454f6c56cb624b2a9334f258c9fe47a3c27c7805340873cb91bbecc86ff0c70b5a098504f17a4f082f8fc6f9f7fed7bf1bec91312
|
data/CHANGELOG.md
CHANGED
data/lib/bogo/lazy.rb
CHANGED
@@ -149,20 +149,33 @@ module Bogo
|
|
149
149
|
end
|
150
150
|
if(coerce && !valid_type)
|
151
151
|
item = coerce.arity == 2 ? coerce.call(item, self) : coerce.call(item)
|
152
|
+
if(item.is_a?(Hash) && item[:bogo_multiple])
|
153
|
+
item = item[:bogo_multiple]
|
154
|
+
else
|
155
|
+
item = [item]
|
156
|
+
end
|
157
|
+
else
|
158
|
+
item = [item]
|
152
159
|
end
|
153
|
-
|
154
|
-
|
160
|
+
invalid_type = item.detect do |_item|
|
161
|
+
valid_types.none? do |klass|
|
162
|
+
_item.is_a?(klass)
|
163
|
+
end
|
155
164
|
end
|
156
|
-
|
157
|
-
raise TypeError.new("Invalid type for `#{name}` (#{
|
165
|
+
if(invalid_type)
|
166
|
+
raise TypeError.new("Invalid type for `#{name}` (#{invalid_type} <#{invalid_type.class}>). Valid - #{valid_types.map(&:to_s).join(',')}")
|
158
167
|
end
|
159
168
|
if(allowed_values)
|
160
|
-
|
161
|
-
|
169
|
+
unallowed = item.detect do |_item|
|
170
|
+
!allowed_values.include?(_item)
|
171
|
+
end
|
172
|
+
if(unallowed)
|
173
|
+
raise ArgumentError.new("Invalid value provided for `#{name}` (#{unallowed.inspect}). Allowed - #{allowed_values.map(&:inspect).join(', ')}")
|
162
174
|
end
|
163
175
|
end
|
164
176
|
item
|
165
177
|
end
|
178
|
+
values.flatten!(1)
|
166
179
|
if(!multiple_values && !val.is_a?(Array))
|
167
180
|
dirty[name] = values.first
|
168
181
|
else
|
data/lib/bogo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bogo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Roberts
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|
@@ -113,4 +113,3 @@ signing_key:
|
|
113
113
|
specification_version: 4
|
114
114
|
summary: Helper libraries
|
115
115
|
test_files: []
|
116
|
-
has_rdoc:
|