activerecord_enum 0.0.3 → 0.1.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/README.markdown +11 -1
- data/activerecord_enum.gemspec +3 -3
- data/lib/activerecord_enum/version.rb +1 -1
- data/lib/activerecord_enum.rb +3 -1
- data/spec/spec_helper.rb +5 -2
- metadata +43 -36
data/README.markdown
CHANGED
@@ -4,11 +4,21 @@ Provides ActiveRecord support for the nonstandard `ENUM` and `SET` data types.
|
|
4
4
|
|
5
5
|
[](http://travis-ci.org/iangreenleaf/activerecord_enum)
|
6
6
|
|
7
|
+
## Running the tests ##
|
8
|
+
|
9
|
+
To run the tests for all supported database adapters:
|
10
|
+
|
11
|
+
rake spec:all
|
12
|
+
|
13
|
+
To run the tests for just one adapter:
|
14
|
+
|
15
|
+
DB=mysql rake spec
|
16
|
+
|
7
17
|
## Hypothetically asked questions ##
|
8
18
|
|
9
19
|
### Y U NO WORK?! ###
|
10
20
|
|
11
|
-
Sorry, it currently only works with Rails 3.
|
21
|
+
Sorry, it currently only works with Rails 3.x and the mysql2 and sqlite adapters. I plan to support other standard adapters at some point.
|
12
22
|
|
13
23
|
### Why doesn't it validate anything? ###
|
14
24
|
|
data/activerecord_enum.gemspec
CHANGED
@@ -14,12 +14,12 @@ Gem::Specification.new do |s|
|
|
14
14
|
|
15
15
|
s.rubyforge_project = "activerecord_enum"
|
16
16
|
|
17
|
-
s.add_dependency "activerecord", "~> 3.
|
17
|
+
s.add_dependency "activerecord", "~> 3.2.3"
|
18
18
|
s.add_development_dependency "rake"
|
19
19
|
s.add_development_dependency "bundler"
|
20
|
-
s.add_development_dependency "mysql2", "~> 0.
|
20
|
+
s.add_development_dependency "mysql2", "~> 0.3.11"
|
21
21
|
s.add_development_dependency "sqlite3", "~>1.3.4"
|
22
|
-
s.add_development_dependency "rspec", "~> 2.
|
22
|
+
s.add_development_dependency "rspec", "~> 2.9.0"
|
23
23
|
|
24
24
|
s.files = `git ls-files`.split("\n")
|
25
25
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
data/lib/activerecord_enum.rb
CHANGED
@@ -6,7 +6,9 @@ require 'active_record/connection_adapters/abstract/schema_definitions.rb'
|
|
6
6
|
|
7
7
|
module ActiveRecord
|
8
8
|
module ConnectionAdapters
|
9
|
-
|
9
|
+
existing_class = defined?( Mysql2Adapter ) ? Mysql2Adapter : AbstractMysqlAdapter
|
10
|
+
|
11
|
+
existing_class.class_eval do
|
10
12
|
def native_database_types_with_enum
|
11
13
|
native_database_types_without_enum.merge( :enum => { :name => "enum" }, :set => { :name => "set" } )
|
12
14
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require 'activerecord_enum'
|
3
3
|
|
4
|
+
def db
|
5
|
+
ENV["DB"] || "mysql"
|
6
|
+
end
|
7
|
+
|
4
8
|
def load_schema filename
|
5
9
|
# silence verbose schema loading
|
6
10
|
original_stdout = $stdout
|
@@ -21,7 +25,7 @@ def dumped_schema
|
|
21
25
|
end
|
22
26
|
|
23
27
|
def column_props table, column
|
24
|
-
case
|
28
|
+
case db
|
25
29
|
when "mysql"
|
26
30
|
result = ActiveRecord::Base.connection.select_one "SHOW FIELDS FROM #{table} WHERE Field='#{column}'"
|
27
31
|
{ :type => result["Type"], :default => result["Default"], :null => ( result["Null"] == "YES" ) }
|
@@ -34,7 +38,6 @@ end
|
|
34
38
|
|
35
39
|
db_config = YAML::load(IO.read("spec/database.yml"))
|
36
40
|
ActiveRecord::Base.configurations = db_config
|
37
|
-
db = ENV["DB"] || "mysql"
|
38
41
|
ActiveRecord::Base.establish_connection db
|
39
42
|
RSpec.configure do |c|
|
40
43
|
c.filter_run_excluding :db_support => ! db_config[db]["supports_enums"]
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord_enum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
+
- 1
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 0.0.3
|
10
|
+
version: 0.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ian Young
|
@@ -15,27 +15,25 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2012-04-05 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
name: activerecord
|
22
|
-
prerelease: false
|
23
21
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
22
|
none: false
|
25
23
|
requirements:
|
26
24
|
- - ~>
|
27
25
|
- !ruby/object:Gem::Version
|
28
|
-
hash:
|
26
|
+
hash: 9
|
29
27
|
segments:
|
30
28
|
- 3
|
31
|
-
-
|
32
|
-
-
|
33
|
-
version: 3.
|
34
|
-
type: :runtime
|
29
|
+
- 2
|
30
|
+
- 3
|
31
|
+
version: 3.2.3
|
35
32
|
version_requirements: *id001
|
36
|
-
|
37
|
-
name: rake
|
33
|
+
name: activerecord
|
38
34
|
prerelease: false
|
35
|
+
type: :runtime
|
36
|
+
- !ruby/object:Gem::Dependency
|
39
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
38
|
none: false
|
41
39
|
requirements:
|
@@ -45,11 +43,11 @@ dependencies:
|
|
45
43
|
segments:
|
46
44
|
- 0
|
47
45
|
version: "0"
|
48
|
-
type: :development
|
49
46
|
version_requirements: *id002
|
50
|
-
|
51
|
-
name: bundler
|
47
|
+
name: rake
|
52
48
|
prerelease: false
|
49
|
+
type: :development
|
50
|
+
- !ruby/object:Gem::Dependency
|
53
51
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
52
|
none: false
|
55
53
|
requirements:
|
@@ -59,27 +57,27 @@ dependencies:
|
|
59
57
|
segments:
|
60
58
|
- 0
|
61
59
|
version: "0"
|
62
|
-
type: :development
|
63
60
|
version_requirements: *id003
|
64
|
-
|
65
|
-
name: mysql2
|
61
|
+
name: bundler
|
66
62
|
prerelease: false
|
63
|
+
type: :development
|
64
|
+
- !ruby/object:Gem::Dependency
|
67
65
|
requirement: &id004 !ruby/object:Gem::Requirement
|
68
66
|
none: false
|
69
67
|
requirements:
|
70
68
|
- - ~>
|
71
69
|
- !ruby/object:Gem::Version
|
72
|
-
hash:
|
70
|
+
hash: 5
|
73
71
|
segments:
|
74
72
|
- 0
|
75
|
-
-
|
76
|
-
-
|
77
|
-
version: 0.
|
78
|
-
type: :development
|
73
|
+
- 3
|
74
|
+
- 11
|
75
|
+
version: 0.3.11
|
79
76
|
version_requirements: *id004
|
80
|
-
|
81
|
-
name: sqlite3
|
77
|
+
name: mysql2
|
82
78
|
prerelease: false
|
79
|
+
type: :development
|
80
|
+
- !ruby/object:Gem::Dependency
|
83
81
|
requirement: &id005 !ruby/object:Gem::Requirement
|
84
82
|
none: false
|
85
83
|
requirements:
|
@@ -91,24 +89,26 @@ dependencies:
|
|
91
89
|
- 3
|
92
90
|
- 4
|
93
91
|
version: 1.3.4
|
94
|
-
type: :development
|
95
92
|
version_requirements: *id005
|
96
|
-
|
97
|
-
name: rspec
|
93
|
+
name: sqlite3
|
98
94
|
prerelease: false
|
95
|
+
type: :development
|
96
|
+
- !ruby/object:Gem::Dependency
|
99
97
|
requirement: &id006 !ruby/object:Gem::Requirement
|
100
98
|
none: false
|
101
99
|
requirements:
|
102
100
|
- - ~>
|
103
101
|
- !ruby/object:Gem::Version
|
104
|
-
hash:
|
102
|
+
hash: 43
|
105
103
|
segments:
|
106
104
|
- 2
|
107
|
-
-
|
105
|
+
- 9
|
108
106
|
- 0
|
109
|
-
version: 2.
|
110
|
-
type: :development
|
107
|
+
version: 2.9.0
|
111
108
|
version_requirements: *id006
|
109
|
+
name: rspec
|
110
|
+
prerelease: false
|
111
|
+
type: :development
|
112
112
|
description: Adds the ENUM data type natively to ActiveRecord.
|
113
113
|
email:
|
114
114
|
- ian.greenleaf+github@gmail.com
|
@@ -166,9 +166,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
166
|
requirements: []
|
167
167
|
|
168
168
|
rubyforge_project: activerecord_enum
|
169
|
-
rubygems_version: 1.
|
169
|
+
rubygems_version: 1.8.11
|
170
170
|
signing_key:
|
171
171
|
specification_version: 3
|
172
172
|
summary: Enum data types for ActiveRecord
|
173
|
-
test_files:
|
174
|
-
|
173
|
+
test_files:
|
174
|
+
- spec/database.yml.tmpl
|
175
|
+
- spec/enum_spec.rb
|
176
|
+
- spec/schema/enum_new.rb
|
177
|
+
- spec/schema/enum_old.rb
|
178
|
+
- spec/schema/set_new.rb
|
179
|
+
- spec/schema/set_old.rb
|
180
|
+
- spec/set_spec.rb
|
181
|
+
- spec/spec_helper.rb
|