has_enum 0.9.4 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "http://gems.openteam.ru"
1
+ source :rubygems
2
2
 
3
3
  gemspec
@@ -3,6 +3,9 @@ module HasEnum
3
3
  autoload :ClassMethods, 'has_enum/class_methods'
4
4
 
5
5
  def self.included(base)
6
+ base.class_attribute :enums
7
+ base.enums ||= HashWithIndifferentAccess.new
8
+
6
9
  base.extend ClassMethods
7
10
  end
8
11
 
@@ -1,10 +1,5 @@
1
1
  module HasEnum::ClassMethods
2
2
 
3
- def enums
4
- read_inheritable_attribute(:enums) ||
5
- write_inheritable_attribute(:enums, HashWithIndifferentAccess.new)
6
- end
7
-
8
3
  def enum_values(attribute)
9
4
  enums[attribute]
10
5
  end
@@ -14,7 +9,7 @@ module HasEnum::ClassMethods
14
9
  end
15
10
 
16
11
  def has_multiple_enum?(enum)
17
- has_enum?(enum) && serialized_attributes[enum.to_s] == Array
12
+ has_enum?(enum) && serialized_attributes[enum.to_s].try(:object_class) == Array
18
13
  end
19
14
 
20
15
  def has_enums
@@ -1,3 +1,3 @@
1
1
  module HasEnum
2
- VERSION = "0.9.4"
2
+ VERSION = "0.10.0"
3
3
  end
@@ -44,8 +44,8 @@ describe HasEnum do
44
44
 
45
45
  it "should have has_enum? and has_multiple_enum? methods" do
46
46
  TestModel.should be_has_enum(:state)
47
- TestModel.should_not be_has_enum(:some_attribute)
48
47
  TestModel.should be_has_multiple_enum(:speed)
48
+ TestModel.should_not be_has_enum(:some_attribute)
49
49
  TestModel.should_not be_has_multiple_enum(:status)
50
50
  end
51
51
 
@@ -83,7 +83,7 @@ describe HasEnum do
83
83
  AnotherModel.should_not be_has_multiple_enum(:size)
84
84
  AnotherModel.should be_has_enum(:size)
85
85
 
86
- AnotherModel.should_not be_has_enum(:status)
86
+ AnotherModel.should be_has_enum(:status)
87
87
  end
88
88
 
89
89
  describe "category enum" do
@@ -166,7 +166,7 @@ describe HasEnum do
166
166
  model.color = 'red'
167
167
  model.save
168
168
 
169
- model2 = model.clone
169
+ model2 = model.dup
170
170
  model2.color = :blue
171
171
  model2.save
172
172
 
@@ -9,7 +9,7 @@ ActiveRecord::Base.establish_connection(
9
9
  :database => 'spec/rspec.db'
10
10
  )
11
11
 
12
- ActiveRecord::Schema.define(:version => 0) do
12
+ ActiveRecord::Schema.define(:version => 20120124121410) do
13
13
  create_table "test_models", :force => true do |t|
14
14
  t.string "category"
15
15
  t.string "color"
@@ -24,10 +24,6 @@ ActiveRecord::Schema.define(:version => 0) do
24
24
  t.string "size"
25
25
  t.text "speed"
26
26
  end
27
-
28
- create_table "schema_info", :id => false, :force => true do |t|
29
- t.integer "version"
30
- end
31
27
  end
32
28
 
33
29
  I18n.load_path << 'spec/ru.yml'
metadata CHANGED
@@ -1,82 +1,63 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: has_enum
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 9
8
- - 4
9
- version: 0.9.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.10.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Andreas Korth
13
9
  - Konstantin Shabanov
14
10
  - Dmitry Lihachev
15
11
  autorequire:
16
12
  bindir: bin
17
13
  cert_chain: []
18
-
19
- date: 2011-10-07 00:00:00 +07:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
14
+ date: 2012-01-24 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
23
17
  name: rails
24
- requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirement: &9060580 !ruby/object:Gem::Requirement
25
19
  none: false
26
- requirements:
27
- - - ">"
28
- - !ruby/object:Gem::Version
29
- segments:
30
- - 3
31
- - 0
32
- - 0
20
+ requirements:
21
+ - - ! '>'
22
+ - !ruby/object:Gem::Version
33
23
  version: 3.0.0
34
24
  type: :runtime
35
25
  prerelease: false
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
26
+ version_requirements: *9060580
27
+ - !ruby/object:Gem::Dependency
38
28
  name: rspec
39
- requirement: &id002 !ruby/object:Gem::Requirement
29
+ requirement: &9059880 !ruby/object:Gem::Requirement
40
30
  none: false
41
- requirements:
31
+ requirements:
42
32
  - - ~>
43
- - !ruby/object:Gem::Version
44
- segments:
45
- - 2
46
- - 5
47
- version: "2.5"
33
+ - !ruby/object:Gem::Version
34
+ version: '2.5'
48
35
  type: :development
49
36
  prerelease: false
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
37
+ version_requirements: *9059880
38
+ - !ruby/object:Gem::Dependency
52
39
  name: sqlite3
53
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ requirement: &9059060 !ruby/object:Gem::Requirement
54
41
  none: false
55
- requirements:
42
+ requirements:
56
43
  - - ~>
57
- - !ruby/object:Gem::Version
58
- segments:
59
- - 1
60
- - 3
61
- - 3
44
+ - !ruby/object:Gem::Version
62
45
  version: 1.3.3
63
46
  type: :development
64
47
  prerelease: false
65
- version_requirements: *id003
66
- description: Gem for and Rails3 to easily handle enumeration attributes in ActiveRecord's models
67
- email:
48
+ version_requirements: *9059060
49
+ description: Gem for and Rails3 to easily handle enumeration attributes in ActiveRecord's
50
+ models
51
+ email:
68
52
  - lda@openteam.ru
69
53
  executables: []
70
-
71
54
  extensions: []
72
-
73
- extra_rdoc_files:
55
+ extra_rdoc_files:
74
56
  - LICENSE.txt
75
57
  - README.md
76
- files:
58
+ files:
77
59
  - .gitignore
78
60
  - .rspec
79
- - .rvmrc
80
61
  - Gemfile
81
62
  - LICENSE.txt
82
63
  - README.md
@@ -92,41 +73,32 @@ files:
92
73
  - spec/ru.yml
93
74
  - spec/spec_helper.rb
94
75
  - spec/test_model.rb
95
- has_rdoc: true
96
76
  homepage: http://github.com/openteam/has_enum
97
- licenses:
77
+ licenses:
98
78
  - MIT
99
79
  post_install_message:
100
80
  rdoc_options: []
101
-
102
- require_paths:
81
+ require_paths:
103
82
  - lib
104
- required_ruby_version: !ruby/object:Gem::Requirement
83
+ required_ruby_version: !ruby/object:Gem::Requirement
105
84
  none: false
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- hash: -4209606496084207891
110
- segments:
111
- - 0
112
- version: "0"
113
- required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
90
  none: false
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- hash: -4209606496084207891
119
- segments:
120
- - 0
121
- version: "0"
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
122
95
  requirements: []
123
-
124
96
  rubyforge_project:
125
- rubygems_version: 1.3.7
97
+ rubygems_version: 1.8.10
126
98
  signing_key:
127
99
  specification_version: 3
128
100
  summary: Gem for Rails to easily handle enumeration attributes in models
129
- test_files:
101
+ test_files:
130
102
  - spec/has_enum_spec.rb
131
103
  - spec/helpers/form_helper_spec.rb
132
104
  - spec/ru.yml
data/.rvmrc DELETED
@@ -1,2 +0,0 @@
1
- rvm_gemset_create_on_use_flag=1
2
- rvm use 1.9.2@has_enum