phantom-object 1.0.3 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/phantom-object.rb +2 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42e76ce920b8527143660d028e87855ac12566fe
|
4
|
+
data.tar.gz: eece3ecfd0c0699a99f50d2c684f8a8fcd47e7a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a2b2a02d32b3eb6f08eaeceee701425f6e1be7b60c635601ed4d6f0fd00905361ae2121d499ae5d89e7486c34937beab76bae1a2adb371698f392cd5fe0ca14
|
7
|
+
data.tar.gz: 5ffb81227f6d0c6a798a2d41e19d759d0880c270f7835b8670e16818e9b7f057ac1bb75d303d7e5a433176e3154e1d6f4e03b2baad8e1ce2a9c011d652d337ca
|
data/lib/phantom-object.rb
CHANGED
@@ -12,6 +12,8 @@ class PhantomObject
|
|
12
12
|
|
13
13
|
def assign_attributes args = {}
|
14
14
|
args.each do |key, value|
|
15
|
+
raise ArgumentError, 'Your hash has keys with whitespaces' if key.match(/\s/i)
|
16
|
+
raise ArgumentError, 'Your hash has keys with Capital letters at the beginning' if key.match(/\A[A-Z]/i)
|
15
17
|
self.class_eval("attr_accessor :#{key}") unless self.respond_to?(key.to_sym)
|
16
18
|
if value.is_a?(Array)
|
17
19
|
self.send("#{key}=", value.map{ |v| self.class.new(v) })
|