mm-multi-parameter-attributes 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/lib/mm-multi-parameter-attributes.rb +4 -2
- metadata +3 -3
data/Rakefile
CHANGED
@@ -15,7 +15,7 @@ spec = Gem::Specification.new do |s|
|
|
15
15
|
|
16
16
|
# Change these as appropriate
|
17
17
|
s.name = "mm-multi-parameter-attributes"
|
18
|
-
s.version = "0.2.
|
18
|
+
s.version = "0.2.1"
|
19
19
|
s.summary = "Tiny plugin for MongoMapper to add multi-parameter attributes"
|
20
20
|
s.author = "Richard Livsey"
|
21
21
|
s.email = "richard@livsey.org"
|
@@ -44,18 +44,20 @@ module MongoMapper
|
|
44
44
|
values = values_with_empty_parameters.reject(&:nil?)
|
45
45
|
|
46
46
|
if !values.reject{|x| x.blank? }.empty?
|
47
|
+
values = values.map(&:to_i)
|
48
|
+
|
47
49
|
key = self.class.keys[name]
|
48
50
|
raise ArgumentError, "Unknown key #{name}" if key.nil?
|
49
51
|
klass = key.type
|
50
52
|
|
51
53
|
value = if Time == klass
|
52
|
-
Time.zone.local(*values
|
54
|
+
Time.zone.local(*values)
|
53
55
|
elsif Date == klass
|
54
56
|
begin
|
55
57
|
values = values_with_empty_parameters.map{|v| v.blank? ? 1 : v.to_i}
|
56
58
|
Date.new(*values)
|
57
59
|
rescue ArgumentError => ex # if Date.new raises an exception on an invalid date
|
58
|
-
Time.zone.local(*values
|
60
|
+
Time.zone.local(*values).to_date # we instantiate Time object and convert it back to a date thus using Time's logic in handling invalid dates
|
59
61
|
end
|
60
62
|
else
|
61
63
|
klass.new(*values)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mm-multi-parameter-attributes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 1
|
10
|
+
version: 0.2.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Richard Livsey
|