opinionated 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/opinionated.rb +20 -1
  2. metadata +4 -4
@@ -28,7 +28,7 @@ module Reamaze
28
28
  raise ArgumentError, "#{self} class already preferences :#{preferential} defined" if self.preferential_configuration.has_key?(preferential)
29
29
 
30
30
  configuration = Configuration.new(self, preferential, options)
31
- yield configuration
31
+ yield configuration if block_given?
32
32
  preferential_configuration[preferential] = configuration
33
33
 
34
34
  # override hstore Hash with a custom Hash
@@ -43,6 +43,25 @@ module Reamaze
43
43
  EOS
44
44
  )
45
45
  end
46
+
47
+ # add form accessible attributes
48
+ configuration.definitions.values.each do |definition|
49
+ class_eval do
50
+ eval(
51
+ <<-EOS
52
+ def #{preferential}_#{definition.name}=(value)
53
+ set_preferential('#{preferential}', '#{definition.name}', value, true)
54
+ end
55
+ def #{preferential}_#{definition.name}
56
+ get_preferential('#{preferential}', '#{definition.name}', true)
57
+ end
58
+ def #{preferential}_#{definition.name}?
59
+ !!get_preferential('#{preferential}', '#{definition.name}', true)
60
+ end
61
+ EOS
62
+ )
63
+ end
64
+ end
46
65
  end
47
66
  end
48
67
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opinionated
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Lu Wang
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-06-13 00:00:00 Z
18
+ date: 2012-10-22 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rails