has_enum 0.9.4 → 0.10.0

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/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