class Trestle::Admin
Attributes
form[RW]
options[W]
view_path[W]
Public Class Methods
actions()
click to toggle source
# File lib/trestle/admin.rb, line 131 def actions [:index] end
additional_routes()
click to toggle source
# File lib/trestle/admin.rb, line 139 def additional_routes @additional_routes ||= [] end
admin_name()
click to toggle source
# File lib/trestle/admin.rb, line 73 def admin_name name.underscore.sub(/_admin$/, '') end
build(&block)
click to toggle source
# File lib/trestle/admin.rb, line 161 def build(&block) Admin::Builder.build(self, &block) end
controller_namespace()
click to toggle source
# File lib/trestle/admin.rb, line 119 def controller_namespace "#{name.underscore}/admin" end
default_human_admin_name()
click to toggle source
# File lib/trestle/admin.rb, line 85 def default_human_admin_name name.demodulize.underscore.sub(/_admin$/, '').titleize end
default_view_path()
click to toggle source
# File lib/trestle/admin.rb, line 111 def default_view_path "admin/#{name.underscore.sub(/_admin$/, '')}" end
hooks()
click to toggle source
# File lib/trestle/admin.rb, line 40 def hooks @hooks ||= Hook::Set.new end
human_admin_name()
click to toggle source
# File lib/trestle/admin.rb, line 81 def human_admin_name translate("name", default: default_human_admin_name) end
i18n_key()
click to toggle source
# File lib/trestle/admin.rb, line 77 def i18n_key admin_name end
new(context=nil)
click to toggle source
# File lib/trestle/admin.rb, line 7 def initialize(context=nil) @context = context end
options()
click to toggle source
# File lib/trestle/admin.rb, line 32 def options @options ||= {} end
parameter_name()
click to toggle source
# File lib/trestle/admin.rb, line 97 def parameter_name unscope_path(admin_name.singularize) end
path(action=root_action, options={})
click to toggle source
# File lib/trestle/admin.rb, line 123 def path(action=root_action, options={}) Engine.routes.url_for(options.merge(controller: controller_namespace, action: action, only_path: true)) end
railtie_routes_url_helpers(include_path_helpers=true)
click to toggle source
# File lib/trestle/admin.rb, line 157 def railtie_routes_url_helpers(include_path_helpers=true) Trestle.railtie_routes_url_helpers(include_path_helpers) end
root_action()
click to toggle source
# File lib/trestle/admin.rb, line 135 def root_action :index end
route_name()
click to toggle source
# File lib/trestle/admin.rb, line 101 def route_name "#{admin_name.tr('/', '_')}_admin" end
routes()
click to toggle source
# File lib/trestle/admin.rb, line 143 def routes admin = self Proc.new do scope controller: admin.controller_namespace, path: admin.options[:path] || admin.admin_name do get "", action: "index", as: admin.route_name admin.additional_routes.each do |block| instance_exec(&block) end end end end
table()
click to toggle source
Deprecated: Use `tables` instead
# File lib/trestle/admin.rb, line 45 def table tables[:index] end
table=(table)
click to toggle source
Deprecated: Use `tables=` instead
# File lib/trestle/admin.rb, line 50 def table=(table) tables[:index] = table end
tables()
click to toggle source
# File lib/trestle/admin.rb, line 36 def tables @tables ||= {} end
to_param(*)
click to toggle source
# File lib/trestle/admin.rb, line 127 def to_param(*) raise NoMethodError, "#to_param called on non-resourceful admin. You may need to explicitly specify the admin." end
translate(key, options={})
click to toggle source
# File lib/trestle/admin.rb, line 89 def translate(key, options={}) defaults = [:"admin.#{i18n_key}.#{key}", :"admin.#{key}"] defaults << options[:default] if options[:default] I18n.t(defaults.shift, **options.merge(default: defaults)) end
Also aliased as: t
validate!()
click to toggle source
# File lib/trestle/admin.rb, line 165 def validate! # No validations by default. This can be overridden in subclasses. end
view_path()
click to toggle source
# File lib/trestle/admin.rb, line 107 def view_path @view_path || default_view_path end
view_path_prefixes()
click to toggle source
# File lib/trestle/admin.rb, line 115 def view_path_prefixes [view_path] end
Private Class Methods
unscope_path(path)
click to toggle source
# File lib/trestle/admin.rb, line 170 def unscope_path(path) path = path.to_s if i = path.rindex("/") path[(i + 1)..-1] else path end end
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
Delegate all missing methods to corresponding class method if available
Calls superclass method
# File lib/trestle/admin.rb, line 12 def method_missing(name, *args, &block) if self.class.respond_to?(name) self.class.send(name, *args, &block) else super end end
respond_to_missing?(name, include_private=false)
click to toggle source
Calls superclass method
# File lib/trestle/admin.rb, line 20 def respond_to_missing?(name, include_private=false) self.class.respond_to?(name, include_private) || super end