module ActiveAdmin::Resource::ScopeTo
Public Instance Methods
scope_to(*args, &block)
click to toggle source
Scope
this controller to some object which has a relation to the resource. Can either accept a block or a symbol of a method to call.
Eg:
ActiveAdmin.register Post do scope_to :current_user end
Then every time we instantiate and object, it would call
current_user.posts.build
By default Active Admin will use the resource name to build a method to call as the association. If its different, you can pass in the association_method as an option.
scope_to :current_user, association_method: :blog_posts
will result in the following
current_user.blog_posts.build
To conditionally use this scope, you can use conditional procs
scope_to :current_user, if: proc{ admin_user_signed_in? }
or
scope_to :current_user, unless: proc{ current_user.admin? }
# File lib/active_admin/resource/scope_to.rb, line 37 def scope_to(*args, &block) options = args.extract_options! method = args.first scope_to_config[:method] = block || method scope_to_config[:association_method] = options[:association_method] scope_to_config[:if] = options[:if] scope_to_config[:unless] = options[:unless] end
scope_to?(context = nil)
click to toggle source
# File lib/active_admin/resource/scope_to.rb, line 65 def scope_to?(context = nil) return false if scope_to_method.nil? return render_in_context(context, scope_to_config[:if]) unless scope_to_config[:if].nil? return !render_in_context(context, scope_to_config[:unless]) unless scope_to_config[:unless].nil? true end
scope_to_association_method()
click to toggle source
# File lib/active_admin/resource/scope_to.rb, line 48 def scope_to_association_method scope_to_config[:association_method] end
scope_to_config()
click to toggle source
# File lib/active_admin/resource/scope_to.rb, line 56 def scope_to_config @scope_to_config ||= { method: nil, association_method: nil, if: nil, unless: nil } end
scope_to_method()
click to toggle source
# File lib/active_admin/resource/scope_to.rb, line 52 def scope_to_method scope_to_config[:method] end