class Simpleadmin::Config

Configuration storage to customize allowed tables, to choose a database adapter and name

@since 1.0.0

@example

Simpleadmin::Config.setup do |config|
   config.database_credentials = {
     adapter: :postgres,
     database: 'squiz_development'
   }

  config.allowed_tables = ['users']          # Allowed tables
  # config.allowed_tables = [:all]           # Allow all tables

  config.on_create = lambda do |model_class, resource_params|
    model_class.create(resource_params)
  end

  config.on_update = lambda do |model_class, resource_id, resource_params|
    model_class.find(resource_id).update(resource_params)
  end

  config.on_destroy = lambda do |model_class, resource_id|
    model_class.find(resource_id).destroy
  end
end

Constants

DEFAULT_TABLE_SCHEMAS

Attributes

allowed_tables[RW]
client[RW]
database_credentials[RW]
on_create[RW]
on_destroy[RW]
on_update[RW]
table_schemas[RW]

Public Class Methods

allowed_table?(table_name) click to toggle source
# File lib/simpleadmin/config.rb, line 46
def allowed_table?(table_name)
  return true if instance.allowed_tables.include?(:all)

  instance.allowed_tables.include?(table_name)
end
allowed_tables() click to toggle source
# File lib/simpleadmin/config.rb, line 52
def allowed_tables
  instance.allowed_tables || []
end
database_credentials() click to toggle source
# File lib/simpleadmin/config.rb, line 56
def database_credentials
  instance.database_credentials
end
on_create() click to toggle source
# File lib/simpleadmin/config.rb, line 60
def on_create
  raise NotImplementedError, 'Please define #on_create in an initializer to use gem' if instance.on_create.nil?

  instance.on_create
end
on_destroy() click to toggle source
# File lib/simpleadmin/config.rb, line 72
def on_destroy
  raise NotImplementedError, 'Please define #on_destroy in an initializer to use gem' if instance.on_destroy.nil?

  instance.on_destroy
end
on_update() click to toggle source
# File lib/simpleadmin/config.rb, line 66
def on_update
  raise NotImplementedError, 'Please define #on_update in an initializer to use gem' if instance.on_update.nil?

  instance.on_update
end
setup() { |instance| ... } click to toggle source
# File lib/simpleadmin/config.rb, line 42
def setup
  yield(instance)
end
table_schemas() click to toggle source
# File lib/simpleadmin/config.rb, line 78
def table_schemas
  instance.table_schemas || DEFAULT_TABLE_SCHEMAS
end