class ActiveRecord::InternalMetadata

Public Class Methods

[](key) click to toggle source
# File lib/active_record/internal_metadata_extensions.rb, line 15
def [](key)
  where(key: key).pluck(value_name).first
end
[]=(key, value) click to toggle source
# File lib/active_record/internal_metadata_extensions.rb, line 11
def []=(key, value)
  find_or_initialize_by(key: key).update!(value_name => value)
end
adapter_name() click to toggle source
# File lib/active_record/internal_metadata_extensions.rb, line 3
def adapter_name
  connection.adapter_name.downcase.to_sym
end
create_table() click to toggle source
# File lib/active_record/internal_metadata_extensions.rb, line 19
def create_table
  unless table_exists?
    key_options = connection.internal_string_options_for_primary_key

    connection.create_table(table_name, id: false) do |t|
      t.string :key, key_options
      t.string value_name
      t.timestamps
    end
  end
end
value_name() click to toggle source
# File lib/active_record/internal_metadata_extensions.rb, line 7
def value_name
  adapter_name == :firebird ? :value_ : :value
end