hermod 1.2.0 → 1.2.1

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: c6dae991640bdc325837ebadb8cb95977923ce59
4
- data.tar.gz: dd973e128dd2e53e411f807fe0257394fb861362
3
+ metadata.gz: 334b1c65cc654daa9a2b7c5636651adccbc27825
4
+ data.tar.gz: a7bb880b3892f923c75fb46a47e32a23d144bb5b
5
5
  SHA512:
6
- metadata.gz: a83c5e10ad93e618c4b128d3302b86af810e93cfd4368181dcc59006151bf490685d6fa26fb94950863b085bba98334c473ff14854a1e2942b3318d0dd0dc2ab
7
- data.tar.gz: c7b4f98c51ef71385f2fd202c192745f7fc914dfdcd9254126bf08d675f9f48ab5eae9b97bb57ed959e3b88fb1b5f18b5edfdbcd5f76292d77497cc8c98f2558
6
+ metadata.gz: 63501760f93dae3c804387dd853b98a0435fb54bbd2b5c236a9caee2b0e6d5dbbfbeb4fa22ab68e454a73a461cadb177b7aa088554969eefbcec2e310eb88930
7
+ data.tar.gz: 3db9d246c3e1e3223d7ec1c7e662972afe0b3d84f8b7b8faf580a4807def4e6ae9cf51cfe7dd6de767b522fa86b79fe972643afbf4599efc443260179539d552
data/LICENSE CHANGED
@@ -187,7 +187,7 @@
187
187
  same "printed page" as the copyright notice for easier
188
188
  identification within third-party archives.
189
189
 
190
- Copyright [yyyy] [name of copyright owner]
190
+ Copyright 2014 FreeAgent Central
191
191
 
192
192
  Licensed under the Apache License, Version 2.0 (the "License");
193
193
  you may not use this file except in compliance with the License.
@@ -1,3 +1,3 @@
1
1
  module Hermod
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -147,8 +147,8 @@ module Hermod
147
147
  def monetary_node(name, options={})
148
148
  validators = [].tap do |validators|
149
149
  validators << Validators::NonNegative.new unless options.fetch(:negative, true)
150
+ validators << Validators::NonZero.new unless options.fetch(:zero, true)
150
151
  validators << Validators::WholeUnits.new if options[:whole_units]
151
- validators << Validators::NonZero.new unless options[:optional]
152
152
  end
153
153
 
154
154
  create_method(name, [], validators, options) do |value, attributes|
@@ -8,6 +8,7 @@ module Hermod
8
8
  builder.monetary_node :tax, optional: true
9
9
  builder.monetary_node :ni, xml_name: "NI", negative: false
10
10
  builder.monetary_node :pension, whole_units: true
11
+ builder.monetary_node :student_loan, zero: false, negative: false
11
12
  end
12
13
 
13
14
  describe "Monetary nodes" do
@@ -45,6 +46,11 @@ module Hermod
45
46
  ex = proc { subject.pension BigDecimal.new("12.34") }.must_raise InvalidInputError
46
47
  ex.message.must_equal "pension must be in whole units"
47
48
  end
49
+
50
+ it "should not allow zero for nodes that disallow it" do
51
+ ex = proc { subject.student_loan 0 }.must_raise Hermod::InvalidInputError
52
+ ex.message.must_equal "student_loan cannot be zero"
53
+ end
48
54
  end
49
55
  end
50
56
  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.0
4
+ version: 1.2.1
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-08-15 00:00:00.000000000 Z
11
+ date: 2014-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: libxml-ruby
@@ -223,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
223
  version: '0'
224
224
  requirements: []
225
225
  rubyforge_project:
226
- rubygems_version: 2.4.1
226
+ rubygems_version: 2.2.2
227
227
  signing_key:
228
228
  specification_version: 4
229
229
  summary: A Ruby library for talking to the HMRC Government Gateway.