enumerated_attribute 0.2.11 → 0.2.12

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.
data/README.rdoc CHANGED
@@ -22,6 +22,8 @@ Install
22
22
 
23
23
  Not yet Rails3 compliant -- but getting close. Stay tuned.
24
24
 
25
+ Be a good coder ... get state pattern support for your enumerated attributes (enumerated_state[http://github.com/jeffp/enumerated_state])
26
+
25
27
  == How to submit an Issue
26
28
 
27
29
  If something needs fixed, please submit issues to this Github project in the Issues tab and
@@ -47,6 +49,7 @@ along with the following features:
47
49
  * Enum helper methods
48
50
  * Syntactical predicate methods
49
51
  * Initialization
52
+ * State pattern support (enumerated_state[http://github.com/jeffp/enumerated_state])
50
53
 
51
54
  == Setup
52
55
 
@@ -72,6 +72,7 @@ module EnumeratedAttribute
72
72
  write_enumerated_attribute(config.attr_symbol, z[index > 0 ? index-1 : z.size-1])
73
73
  end
74
74
  end
75
+ refresh_enumerated_attributes
75
76
  end
76
77
  end
77
78
 
@@ -1,6 +1,9 @@
1
1
  module EnumeratedAttribute
2
2
  module Attribute
3
3
  module ClassMethods
4
+ def refresh_enumerated_attributes
5
+ @all_enumerated_attributes_cache = nil
6
+ end
4
7
  def enumerated_attributes(all=true)
5
8
  return @enumerated_attributes unless all
6
9
  return @all_enumerated_attributes_cache if @all_enumerated_attributes_cache
data/spec/poro_spec.rb CHANGED
@@ -12,6 +12,17 @@ Spec::Matchers.define :define_instance_method do |method_name|
12
12
  end
13
13
  end
14
14
 
15
+ describe "enumerated_attributes caching" do
16
+ class Impl1
17
+ enum_attr :enum1, %w(e1 e2)
18
+ enumerated_attributes
19
+ enum_attr :enum2, %w(e3 e4)
20
+ end
21
+ it "should have enum2 described even though enumerated_attributes cached state" do
22
+ obj = Impl1.new
23
+ lambda { obj.enum2 = :e3 }.should_not raise_exception
24
+ end
25
+ end
15
26
  describe "Plural" do
16
27
  it "should have plural accessor :boxes for :box" do
17
28
  p=Plural.new
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enumerated_attribute
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 15
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 2
8
- - 11
9
- version: 0.2.11
9
+ - 12
10
+ version: 0.2.12
10
11
  platform: ruby
11
12
  authors:
12
13
  - Jeff Patmon
@@ -14,16 +15,18 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-05-28 00:00:00 -07:00
18
+ date: 2010-05-29 00:00:00 -07:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: meta_programming
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 21
27
30
  segments:
28
31
  - 0
29
32
  - 2
@@ -155,23 +158,27 @@ rdoc_options: []
155
158
  require_paths:
156
159
  - lib
157
160
  required_ruby_version: !ruby/object:Gem::Requirement
161
+ none: false
158
162
  requirements:
159
163
  - - ">="
160
164
  - !ruby/object:Gem::Version
165
+ hash: 3
161
166
  segments:
162
167
  - 0
163
168
  version: "0"
164
169
  required_rubygems_version: !ruby/object:Gem::Requirement
170
+ none: false
165
171
  requirements:
166
172
  - - ">="
167
173
  - !ruby/object:Gem::Version
174
+ hash: 3
168
175
  segments:
169
176
  - 0
170
177
  version: "0"
171
178
  requirements: []
172
179
 
173
180
  rubyforge_project:
174
- rubygems_version: 1.3.6
181
+ rubygems_version: 1.3.7
175
182
  signing_key:
176
183
  specification_version: 3
177
184
  summary: Add enumerated attributes to your models and expose them in drop-down lists in your views