Module: Rein::Type::Enum
- Includes:
- ActiveRecord::ConnectionAdapters::Quoting
- Included in:
- ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
- Defined in:
- lib/rein/type/enum.rb
Overview
This module contains methods for defining enum types.
Instance Method Summary collapse
- #add_enum_value(enum_name, new_value) ⇒ Object
- #create_enum_type(enum_name, enum_values = []) ⇒ Object
- #drop_enum_type(enum_name) ⇒ Object
Instance Method Details
#add_enum_value(enum_name, new_value) ⇒ Object
18 19 20 |
# File 'lib/rein/type/enum.rb', line 18 def add_enum_value(enum_name, new_value) execute("ALTER TYPE #{enum_name} ADD VALUE #{quote(new_value)}") end |
#create_enum_type(enum_name, enum_values = []) ⇒ Object
9 10 11 12 |
# File 'lib/rein/type/enum.rb', line 9 def create_enum_type(enum_name, enum_values = []) enum_values = enum_values.map { |value| quote(value) }.join(", ") execute("CREATE TYPE #{enum_name} AS ENUM (#{enum_values})") end |
#drop_enum_type(enum_name) ⇒ Object
14 15 16 |
# File 'lib/rein/type/enum.rb', line 14 def drop_enum_type(enum_name) execute("DROP TYPE #{enum_name}") end |