Class: ActiveRecord::ConnectionAdapters::Column
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::Column
- Defined in:
- lib/activerecord_enum.rb
Instance Method Summary collapse
- #enum? ⇒ Boolean
- #extract_default_with_enum(default) ⇒ Object
- #extract_limit_with_enum(field_type) ⇒ Object
- #initialize_with_enum(name, default, sql_type = nil, *args) ⇒ Object (also: #initialize)
- #set? ⇒ Boolean
- #simplified_type_with_enum(field_type) ⇒ Object
Instance Method Details
#enum? ⇒ Boolean
91 92 93 |
# File 'lib/activerecord_enum.rb', line 91 def enum? type == :enum end |
#extract_default_with_enum(default) ⇒ Object
79 80 81 82 83 84 85 |
# File 'lib/activerecord_enum.rb', line 79 def extract_default_with_enum default if type == :set default.split "," if default.present? else extract_default default end end |
#extract_limit_with_enum(field_type) ⇒ Object
71 72 73 74 75 76 77 |
# File 'lib/activerecord_enum.rb', line 71 def extract_limit_with_enum field_type if field_type =~ /(?:enum|set)\(([^)]+)\)/i $1.scan( /'([^']*)'/ ).flatten else extract_limit field_type end end |
#initialize_with_enum(name, default, sql_type = nil, *args) ⇒ Object Also known as: initialize
54 55 56 57 58 59 |
# File 'lib/activerecord_enum.rb', line 54 def initialize_with_enum name, default, sql_type=nil, *args initialize_without_enum name, default, sql_type, *args @type = simplified_type_with_enum sql_type @limit = extract_limit_with_enum sql_type @default = extract_default_with_enum default end |
#set? ⇒ Boolean
87 88 89 |
# File 'lib/activerecord_enum.rb', line 87 def set? type == :set end |
#simplified_type_with_enum(field_type) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/activerecord_enum.rb', line 63 def simplified_type_with_enum field_type if field_type =~ /enum|set/i $&.to_sym else simplified_type field_type end end |