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
48 49 50 |
# File 'lib/activerecord_enum.rb', line 48 def enum? type == :enum end |
#extract_default_with_enum(default) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/activerecord_enum.rb', line 36 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
28 29 30 31 32 33 34 |
# File 'lib/activerecord_enum.rb', line 28 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
11 12 13 14 15 16 |
# File 'lib/activerecord_enum.rb', line 11 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
44 45 46 |
# File 'lib/activerecord_enum.rb', line 44 def set? type == :set end |
#simplified_type_with_enum(field_type) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/activerecord_enum.rb', line 20 def simplified_type_with_enum field_type if field_type =~ /enum|set/i $&.to_sym else simplified_type field_type end end |