as_value 0.0.1 → 0.0.2

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: 43c9866bd21f9300afff131ffa77cd86a3eac904
4
- data.tar.gz: 529233a4157fa4ca6fa41b068dc0b0ad037e7d74
3
+ metadata.gz: be749de2b9ebff4be4ef158489c0ec34bf5359b0
4
+ data.tar.gz: fbb0a30d235c64c5d7d12afbc87c7b3b131ffda7
5
5
  SHA512:
6
- metadata.gz: 252a1b6c4026fa83039077bd55c9a158fbc7dc62be1ab0619d7c04379fe23d8df6acaf011a18b1b2e12caae1e76533c0ec18eae5ba025be87a9b5c7b507f76d6
7
- data.tar.gz: befd8b10eeaa22763b524a11775328e77b7d67bc2bd54df8788f8eb3e9d3e8114b610d2514aa4ffef0e5771bf94baac8775d3d5b3c81bb9e03bfa03caf83eb5a
6
+ metadata.gz: 675a01eac3eac83f4fda1363e58b27106e499b85e96d92bcd5065dc997f70a3ed766fa930e8fca693c3c3fa9694bc9a7331e8b82a3f81b9fdbe9dca473a01739
7
+ data.tar.gz: d864796a9737f9c5b712f1eb4f97dbee5adb19767cdf005cda4eca614e2f989c758d0edba800179ef2be49e2c3a69e8a17315d7ca2b3f661999b08aeb7be7b46
@@ -2,11 +2,11 @@ module AsValue
2
2
 
3
3
  ImmutableObjectError = Class.new(StandardError)
4
4
 
5
- VERSION = [0,0,1]
5
+ VERSION = [0,0,2]
6
6
 
7
7
  def self.version
8
8
  VERSION.join('.')
9
9
  end
10
10
 
11
- require 'as_value/value_object'
11
+ require_relative 'as_value/value_object'
12
12
  end
@@ -8,10 +8,16 @@ module AsValue::ValueObject
8
8
  params.each do |key, value|
9
9
  send("#{key}=", value) if instance_attributes.include? key
10
10
  end
11
+
12
+ before_freeze.call(self) unless before_freeze.nil?
11
13
 
12
14
  freeze!
13
15
  end
14
16
 
17
+ def before_freeze
18
+ self.class.instance_variable_get(:@before_freeze)
19
+ end
20
+
15
21
  def instance_attributes
16
22
  self.class.instance_variable_get(:@instance_attributes)
17
23
  end
@@ -40,10 +46,14 @@ module AsValue::ValueObject
40
46
  self.freeze
41
47
  end
42
48
  end
43
-
49
+
44
50
  def instance_attributes(*attributes)
45
51
  @instance_attributes = attributes
46
52
  end
53
+
54
+ def before_freeze(&block)
55
+ @before_freeze = block
56
+ end
47
57
 
48
58
  def self.extended(base); base.include(InstanceMethods); end
49
59
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: as_value
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bradley Ankrom
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-23 00:00:00.000000000 Z
11
+ date: 2014-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake