lib/trestle/admin/builder.rb in trestle-0.8.2 vs lib/trestle/admin/builder.rb in trestle-0.8.3
- old
+ new
@@ -7,10 +7,12 @@
self.admin_class = Admin
class_attribute :controller
self.controller = Controller
+ delegate :helper, :before_action, :after_action, :around_action, to: :@controller
+
def initialize(name, options={})
# Create admin subclass
@admin = Class.new(admin_class)
@admin.options = options
@@ -35,11 +37,11 @@
menu { item(*args) }
end
end
def table(options={}, &block)
- admin.table = Table::Builder.build(options.reverse_merge(sortable: true, admin: admin), &block)
+ admin.table = Table::Builder.build(options.reverse_merge(admin: admin, sortable: true), &block)
end
def form(&block)
admin.form = Form.new(&block)
end
@@ -48,20 +50,15 @@
@admin.singleton_class.class_eval(&block) if block_given?
@admin
end
def controller(&block)
- @controller.class_eval(&block)
+ @controller.class_eval(&block) if block_given?
+ @controller
end
def routes(&block)
@admin.additional_routes = block
- end
-
- def helper(*helpers)
- controller do
- helper *helpers
- end
end
end
end
end