class Trestle::Resource::Builder

Public Instance Methods

adapter(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 7
def adapter(&block)
  klass = admin.adapter_class
  klass.class_eval(&block) if block_given?
  klass
end
adapter=(adapter) click to toggle source
# File lib/trestle/resource/builder.rb, line 13
def adapter=(adapter)
  admin.adapter_class = adapter
end
build_instance(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 33
def build_instance(&block)
  admin.define_adapter_method(:build_instance, &block)
end
collection(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 24
def collection(&block)
  admin.define_adapter_method(:collection, &block)
end
count(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 82
def count(&block)
  admin.define_adapter_method(:count, &block)
end
decorate_collection(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 61
def decorate_collection(&block)
  admin.define_adapter_method(:decorate_collection, &block)
end
decorator(decorator) click to toggle source
# File lib/trestle/resource/builder.rb, line 57
def decorator(decorator)
  admin.decorator = decorator
end
delete_instance(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 45
def delete_instance(&block)
  admin.define_adapter_method(:delete_instance, &block)
end
find_instance(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 28
def find_instance(&block)
  admin.define_adapter_method(:find_instance, &block)
end
Also aliased as: instance
instance(&block)
Alias for: find_instance
merge_scopes(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 65
def merge_scopes(&block)
  admin.define_adapter_method(:merge_scopes, &block)
end
paginate(options={}, &block) click to toggle source
# File lib/trestle/resource/builder.rb, line 77
def paginate(options={}, &block)
  admin.pagination_options = admin.pagination_options.merge(options)
  admin.define_adapter_method(:paginate, &block)
end
params(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 53
def params(&block)
  admin.define_adapter_method(:permitted_params, &block)
end
remove_action(*actions) click to toggle source
# File lib/trestle/resource/builder.rb, line 17
def remove_action(*actions)
  actions.each do |action|
    controller.remove_possible_method(action.to_sym)
    admin.actions.delete(action.to_sym)
  end
end
return_to(options={}, &block) click to toggle source
# File lib/trestle/resource/builder.rb, line 97
def return_to(options={}, &block)
  actions = options.key?(:on) ? Array(options[:on]) : [:create, :update, :destroy]

  actions.each do |action|
    admin.return_locations[action.to_sym] = block
  end
end
save_instance(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 41
def save_instance(&block)
  admin.define_adapter_method(:save_instance, &block)
end
scope(name, scope=nil, options={}, &block) click to toggle source
# File lib/trestle/resource/builder.rb, line 91
def scope(name, scope=nil, options={}, &block)
  scopes do
    scope(name, scope, options, &block)
  end
end
scopes(options={}, &block) click to toggle source
# File lib/trestle/resource/builder.rb, line 86
def scopes(options={}, &block)
  admin.scopes.options.merge!(options)
  admin.scopes.append(&block) if block_given?
end
sort(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 69
def sort(&block)
  admin.define_adapter_method(:sort, &block)
end
sort_column(column, &block) click to toggle source
# File lib/trestle/resource/builder.rb, line 73
def sort_column(column, &block)
  admin.column_sorts[column.to_sym] = block
end
to_param(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 49
def to_param(&block)
  admin.define_adapter_method(:to_param, &block)
end
update_instance(&block) click to toggle source
# File lib/trestle/resource/builder.rb, line 37
def update_instance(&block)
  admin.define_adapter_method(:update_instance, &block)
end

Protected Instance Methods

normalize_table_options(name, options) click to toggle source
# File lib/trestle/resource/builder.rb, line 106
def normalize_table_options(name, options)
  if name.is_a?(Hash)
    # Default index table
    name, options = :index, name.reverse_merge(sortable: true)
  end

  [name, options.reverse_merge(admin: admin)]
end