hermod 1.2.3 → 1.2.4

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
  SHA1:
3
- metadata.gz: 007bbe64b27318ad3c57e53eb766f0e96036d19e
4
- data.tar.gz: 9f3d1ad9465d5146f800791b413d850274a42760
3
+ metadata.gz: cdd493e70d309b8dddb2c9ec72d3f7bbf3f1382d
4
+ data.tar.gz: 15b69c23091b9323b477cf2a745469c02fd421ed
5
5
  SHA512:
6
- metadata.gz: 2854aafc9bb97ae8db69a86ff550601b39789e8c262b366ab6ebc2f83247338f688abf83a9fa5e8a9ae58db80b9d685242908db45dd83b036599f6739e239e40
7
- data.tar.gz: c15b093a474a529636d39367867cfb020c9cfc2751203b11869008e546547e4b4de213858c3d48d0ad5f86407a05f1a0a62a86b8caa75659288ba4ea91b0b90e
6
+ metadata.gz: f2b8af05d20e045cca9b2319ddd33561f828535db9bed7696a8b85c3e87b9c7e7660d99bfc1ce7dc24957d80a245ae71ea8ddb01fb6e3d7dede3c957848195b3
7
+ data.tar.gz: eef967388b2e6302cdcc177056a37582c65a298a82d5696255847d2326956778f97b811535b7255203aa0f5ce257708e3cf79660079bf4d40692e8fd275149a9
@@ -24,7 +24,7 @@ module Hermod
24
24
  private
25
25
 
26
26
  def test
27
- checker.call(value)
27
+ value.blank? || checker.call(value)
28
28
  end
29
29
 
30
30
  def message
@@ -1,3 +1,3 @@
1
1
  module Hermod
2
- VERSION = "1.2.3"
2
+ VERSION = "1.2.4"
3
3
  end
@@ -108,7 +108,7 @@ module Hermod
108
108
  end
109
109
 
110
110
  create_method(name, [], validators, options) do |value, attributes|
111
- [value.strftime(format_for(:date)), attributes]
111
+ [(value ? value.strftime(format_for(:date)) : nil), attributes]
112
112
  end
113
113
  end
114
114
 
@@ -10,11 +10,14 @@ module Hermod
10
10
  end
11
11
 
12
12
  it "allows you to give a block to be more discerning" do
13
- checker = TypeChecker.new(Date) {|val| val.respond_to? :strftime }
14
- dateish = Minitest::Mock.new
15
- dateish.expect :strftime, "today"
16
- checker.valid?(dateish, {}).must_equal true
17
- proc { checker.valid?(Minitest::Mock.new, {}) }.must_raise InvalidInputError
13
+ checker = TypeChecker.new(Integer) { |val| val > 0 }
14
+ checker.valid?(5, {}).must_equal true
15
+ proc { checker.valid?(-2, {}) }.must_raise InvalidInputError
16
+ end
17
+
18
+ it "ignores blank values" do
19
+ checker = TypeChecker.new(Integer)
20
+ checker.valid?(nil, {}).must_equal true
18
21
  end
19
22
 
20
23
  it "gives the correct message" do
@@ -5,7 +5,7 @@ module Hermod
5
5
 
6
6
  DateXml = XmlSection.build(formats: {date: "%Y-%m-%d"}) do |builder|
7
7
  builder.date_node :date_of_birth
8
- builder.date_node :anniversary
8
+ builder.date_node :anniversary, optional: true
9
9
  end
10
10
 
11
11
  describe "Date nodes" do
@@ -22,6 +22,11 @@ module Hermod
22
22
  it "should raise an error if given something that isn't a date" do
23
23
  proc { subject.anniversary "yesterday" }.must_raise InvalidInputError
24
24
  end
25
+
26
+ it "should ignore blank dates if the date is optional" do
27
+ subject.anniversary nil
28
+ nodes("Anniversary").must_be_empty
29
+ end
25
30
  end
26
31
  end
27
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hermod
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harry Mills
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-31 00:00:00.000000000 Z
11
+ date: 2014-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: libxml-ruby