Class: Trestle::Resource::Builder
Instance Method Summary
collapse
#admin, #breadcrumb, #controller, create, #form, #hook, #initialize, #menu, #routes, #table
Methods inherited from Builder
#build, build, target
Instance Method Details
#adapter(&block) ⇒ Object
7
8
9
10
11
|
# 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) ⇒ Object
13
14
15
|
# File 'lib/trestle/resource/builder.rb', line 13
def adapter=(adapter)
admin.adapter_class = adapter
end
|
#build_instance(&block) ⇒ Object
33
34
35
|
# File 'lib/trestle/resource/builder.rb', line 33
def build_instance(&block)
admin.define_adapter_method(:build_instance, &block)
end
|
#collection(&block) ⇒ Object
24
25
26
|
# File 'lib/trestle/resource/builder.rb', line 24
def collection(&block)
admin.define_adapter_method(:collection, &block)
end
|
#count(&block) ⇒ Object
82
83
84
|
# File 'lib/trestle/resource/builder.rb', line 82
def count(&block)
admin.define_adapter_method(:count, &block)
end
|
#decorate_collection(&block) ⇒ Object
61
62
63
|
# File 'lib/trestle/resource/builder.rb', line 61
def decorate_collection(&block)
admin.define_adapter_method(:decorate_collection, &block)
end
|
#decorator(decorator) ⇒ Object
57
58
59
|
# File 'lib/trestle/resource/builder.rb', line 57
def decorator(decorator)
admin.decorator = decorator
end
|
#delete_instance(&block) ⇒ Object
45
46
47
|
# File 'lib/trestle/resource/builder.rb', line 45
def delete_instance(&block)
admin.define_adapter_method(:delete_instance, &block)
end
|
#find_instance(&block) ⇒ Object
Also known as:
instance
28
29
30
|
# File 'lib/trestle/resource/builder.rb', line 28
def find_instance(&block)
admin.define_adapter_method(:find_instance, &block)
end
|
#merge_scopes(&block) ⇒ Object
65
66
67
|
# File 'lib/trestle/resource/builder.rb', line 65
def merge_scopes(&block)
admin.define_adapter_method(:merge_scopes, &block)
end
|
#paginate(options = {}, &block) ⇒ Object
77
78
79
80
|
# File 'lib/trestle/resource/builder.rb', line 77
def paginate(options={}, &block)
admin. = admin..merge(options)
admin.define_adapter_method(:paginate, &block)
end
|
#params(&block) ⇒ Object
53
54
55
|
# File 'lib/trestle/resource/builder.rb', line 53
def params(&block)
admin.define_adapter_method(:permitted_params, &block)
end
|
#remove_action(*actions) ⇒ Object
17
18
19
20
21
22
|
# 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) ⇒ Object
97
98
99
100
101
102
103
|
# 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) ⇒ Object
41
42
43
|
# 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) ⇒ Object
91
92
93
94
95
|
# 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) ⇒ Object
86
87
88
89
|
# 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) ⇒ Object
69
70
71
|
# File 'lib/trestle/resource/builder.rb', line 69
def sort(&block)
admin.define_adapter_method(:sort, &block)
end
|
#sort_column(column, &block) ⇒ Object
73
74
75
|
# File 'lib/trestle/resource/builder.rb', line 73
def sort_column(column, &block)
admin.column_sorts[column.to_sym] = block
end
|
#to_param(&block) ⇒ Object
49
50
51
|
# File 'lib/trestle/resource/builder.rb', line 49
def to_param(&block)
admin.define_adapter_method(:to_param, &block)
end
|
#update_instance(&block) ⇒ Object
37
38
39
|
# File 'lib/trestle/resource/builder.rb', line 37
def update_instance(&block)
admin.define_adapter_method(:update_instance, &block)
end
|