value-object 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/exceptions.rb +31 -0
  3. metadata +2 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cc1d163e3fcd5b5e14ab623b6158711649ce3b79
4
- data.tar.gz: 8ced339e5e8b7edf011f3cdc17140e6246e978a8
3
+ metadata.gz: 1c06c9216838238473a04c91dd10f38828c9bb60
4
+ data.tar.gz: 02fb58764951e8e88090a7659ad1ee71e7151c56
5
5
  SHA512:
6
- metadata.gz: 148ad55d0c5bffb84c7427870470eab418c583d8487b60c8f00e4cb2edfe661c71045307d31b6a24ada2d3cda0202f63d6e1881ada7e502655b09084b75291f1
7
- data.tar.gz: 3c36689f394e8c50f28d5f019af2275e6574cb5a1e05b6c5703f0ed42ea46ae77769b2306304ab6f24db5fa37644ead5f52b509403476e4389e6333fa49a3a57
6
+ metadata.gz: dbef2a184499071d99f8acb4cf22950cb811dafcfd47f0614b4cb456218edb1f02482a0bb350c2c77ffa5c179acc20b4340f451d7de75f665e538a3fc4a27acf
7
+ data.tar.gz: 41fa5f09cd9a4fe99b50b911e47224855e1734d4ea96b19d38501ac035de5b7dc501fc9a1195aa52e2708ce935b0af11edc16ca6ed2c0ebf456727d3002d2ded
@@ -0,0 +1,31 @@
1
+ module ValueObject
2
+ class NotImplementedInvariant < Exception
3
+ def initialize(name)
4
+ super "Invariant #{name} needs to be implemented"
5
+ end
6
+ end
7
+
8
+ class ViolatedInvariant < Exception
9
+ def initialize(name, wrong_values)
10
+ super "Fields values " + wrong_values.to_s + " violate invariant: #{name}"
11
+ end
12
+ end
13
+
14
+ class NotDeclaredFields < Exception
15
+ def initialize()
16
+ super "At least one field must be declared"
17
+ end
18
+ end
19
+
20
+ class FieldWithoutValue < Exception
21
+ def initialize(fields)
22
+ super "Declared fields #{fields} must have value"
23
+ end
24
+ end
25
+
26
+ class WrongNumberOfArguments < Exception
27
+ def initialize(fields_number, arguments_number)
28
+ super "Declared #{fields_number} fields but passing #{arguments_number}"
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: value-object
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - No Flop Squad
@@ -30,6 +30,7 @@ executables: []
30
30
  extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
+ - lib/exceptions.rb
33
34
  - lib/value_object.rb
34
35
  homepage: http://rubygems.org/gems/value-object
35
36
  licenses: