value-object 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: