enum_column3 0.1.3 → 0.1.4

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.

Potentially problematic release.


This version of enum_column3 might be problematic. Click here for more details.

@@ -25,16 +25,16 @@ if defined?(ActionView::Base)
25
25
  end
26
26
 
27
27
  class InstanceTag
28
- def to_enum_select_tag(options, html_options={})
28
+ def to_enum_select_tag(options, html_options={})
29
29
  if self.object.respond_to?(method_name.to_sym)
30
- choices = self.object.send("column_for_attribute", method_name).limit
30
+ column = self.object.column_for_attribute(method_name)
31
31
  if (value = self.object.__send__(method_name.to_sym))
32
32
  options[:selected] ||= value.to_s
33
33
  else
34
- options[:include_blank] = enums.allows_nil? if options[:include_blank].nil?
34
+ options[:include_blank] = column.null if options[:include_blank].nil?
35
35
  end
36
36
  end
37
- to_select_tag(choices, options, html_options)
37
+ to_select_tag(column.limit, options, html_options)
38
38
  end
39
39
 
40
40
  #initialize record_name, method, self
@@ -1,11 +1,18 @@
1
-
2
1
  # This module provides all the column helper methods to deal with the
3
2
  # values and adds the common type management code for the adapters.
4
3
 
4
+
5
+ # try rails 3.1, then rails 3.2+, mysql column adapters
5
6
  column_class = if defined? ActiveRecord::ConnectionAdapters::Mysql2Column
6
7
  ActiveRecord::ConnectionAdapters::Mysql2Column
7
- else
8
+ elsif defined? ActiveRecord::ConnectionAdapters::MysqlColumn
8
9
  ActiveRecord::ConnectionAdapters::MysqlColumn
10
+ elsif defined? ActiveRecord::ConnectionAdapters::Mysql2Adapter::Column
11
+ ActiveRecord::ConnectionAdapters::Mysql2Adapter::Column
12
+ elsif defined? ActiveRecord::ConnectionAdapters::MysqlAdapter::Column
13
+ ActiveRecord::ConnectionAdapters::MysqlAdapter::Column
14
+ else
15
+ ObviousHint::NoMysqlAdapterFound
9
16
  end
10
17
 
11
18
  column_class.module_eval do
@@ -68,7 +75,7 @@ private
68
75
  alias __extract_limit_enum extract_limit
69
76
  def extract_limit(sql_type)
70
77
  if sql_type =~ /^enum/i
71
- sql_type.sub(/^enum\('([^)]+)'\)/i, '\1').split("','").map { |v| v.intern }
78
+ sql_type.sub(/^enum\('(.+)'\)/i, '\1').split("','").map { |v| v.intern }
72
79
  else
73
80
  __extract_limit_enum(sql_type)
74
81
  end
metadata CHANGED
@@ -1,32 +1,22 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: enum_column3
3
- version: !ruby/object:Gem::Version
4
- hash: 29
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.4
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 3
10
- version: 0.1.3
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Nick Pohodnya
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-09-16 00:00:00 Z
12
+ date: 2012-03-15 00:00:00.000000000Z
19
13
  dependencies: []
20
-
21
14
  description:
22
15
  email:
23
16
  executables: []
24
-
25
17
  extensions: []
26
-
27
18
  extra_rdoc_files: []
28
-
29
- files:
19
+ files:
30
20
  - README.txt
31
21
  - LICENSE
32
22
  - init.rb
@@ -47,38 +37,29 @@ files:
47
37
  - test/enum_mysql_test.rb
48
38
  homepage: http://github.com/electronick/enum_column
49
39
  licenses: []
50
-
51
40
  post_install_message:
52
41
  rdoc_options: []
53
-
54
- require_paths:
42
+ require_paths:
55
43
  - lib
56
- required_ruby_version: !ruby/object:Gem::Requirement
44
+ required_ruby_version: !ruby/object:Gem::Requirement
57
45
  none: false
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- hash: 3
62
- segments:
63
- - 0
64
- version: "0"
65
- required_rubygems_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
51
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
74
56
  requirements: []
75
-
76
57
  rubyforge_project:
77
- rubygems_version: 1.8.6
58
+ rubygems_version: 1.8.10
78
59
  signing_key:
79
60
  specification_version: 3
80
61
  summary: Enable enum type for MySQL db.
81
- test_files:
62
+ test_files:
82
63
  - test/test_helper.rb
83
64
  - test/db/schema.rb
84
65
  - test/fixtures/enumeration.rb