attr_defaults 0.1.1 → 0.1.2

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/attr_defaults.rb +37 -35
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5265919d9ac3fb4ebb152273f94c18fc69d0b1a8
4
- data.tar.gz: 59e7b6c5e5fbdec4dc42bcb94745976c36d09f46
3
+ metadata.gz: 514144006d1b8d1d33b39711e7da84621c9c26e4
4
+ data.tar.gz: 7dff3dc056cc5825c0c3a69d85f16b53f2f66a84
5
5
  SHA512:
6
- metadata.gz: ca41f8b73c2408b948aadadf23265766ce2aefbedaf7ff0a133a565f9fef824457c239b003e2bd0777c96a7c964bdf9ac5e21fec485c138432b61dccfd29bfa2
7
- data.tar.gz: 305694e292c11f5ebd5261c4ea2494d4ff3badf03a07af5cf04924fe8ca209bae0ba18ea6009ec56f7fe1052fc4942928a6f2219c53665664da273055e052e53
6
+ metadata.gz: 32ecbabe9326c1177faa4824f8ee10b19d30decf1681597a1f1b521f2d9d20dc3d8b03157568ad8dddc2e24225a504b06a26a5e5debdc8d034825725c71fa417
7
+ data.tar.gz: d97c9c3fb178d59a500710a327e62129e16c453372f2f1edf39a4e0f483f9a0e12e9fdc20847d1a3134033396d87a86bc6f6fab109107ff1f9492ec7dc756614
data/lib/attr_defaults.rb CHANGED
@@ -1,39 +1,41 @@
1
1
  module AttrDefaults
2
- module Initialize
3
- def initialize *args, &block
4
- defaults = class << self.class
5
- @attr_defaults
6
- end
7
-
8
- unless defaults.nil?
9
- defaults.each do |attrs,default|
10
- attrs.each do |attr|
11
- instance_variable_set :"@#{attr}", default.call
12
- end
13
- end
14
- end
15
- end
16
- end
2
+ module Initialize
3
+ def initialize *args, &block
4
+ defaults = class << self.class
5
+ @attr_defaults
6
+ end
7
+
8
+ unless defaults.nil?
9
+ defaults.each do |attrs,default|
10
+ attrs.each do |attr|
11
+ instance_variable_set :"@#{attr}", default.call
12
+ end
13
+ end
14
+ end
15
+
16
+ super *args, &block
17
+ end
18
+ end
17
19
 
18
- module_function
20
+ module_function
19
21
 
20
- def included klass
21
- klass.prepend Initialize
22
-
23
- class << klass
24
- [:attr, :attr_writer, :attr_reader, :attr_accessor].each do |method|
25
- define_method method do |*attrs, &block|
26
- super *attrs
27
-
28
- unless block.nil?
29
- defaults = class << self
30
- @attr_defaults ||= {}
31
- end
32
-
33
- defaults[attrs] = block
34
- end
35
- end
36
- end
37
- end
38
- end
22
+ def included klass
23
+ klass.prepend Initialize
24
+
25
+ class << klass
26
+ [:attr, :attr_writer, :attr_reader, :attr_accessor].each do |method|
27
+ define_method method do |*attrs, &block|
28
+ super *attrs
29
+
30
+ unless block.nil?
31
+ defaults = class << self
32
+ @attr_defaults ||= {}
33
+ end
34
+
35
+ defaults[attrs] = block
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
39
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attr_defaults
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle King