Module: ActiveAdmin::Resource::Scopes
- Included in:
- ActiveAdmin::Resource
- Defined in:
- lib/active_admin/resource/scopes.rb
Instance Method Summary collapse
- #default_scope ⇒ Object
-
#get_scope_by_id(id) ⇒ Object
Returns a scope for this object by its identifier.
-
#scope(*args, &block) ⇒ Object
Create a new scope object for this resource.
-
#scopes ⇒ Object
Return an array of scopes for this resource.
Instance Method Details
#default_scope ⇒ Object
16 17 18 |
# File 'lib/active_admin/resource/scopes.rb', line 16 def default_scope @default_scope end |
#get_scope_by_id(id) ⇒ Object
Returns a scope for this object by its identifier
11 12 13 14 |
# File 'lib/active_admin/resource/scopes.rb', line 11 def get_scope_by_id(id) id = id.to_s scopes.find{|s| s.id == id } end |
#scope(*args, &block) ⇒ Object
Create a new scope object for this resource. If you want to internationalize the scope name, you can add to your i18n files a key like “active_admin.scopes.scope_method”.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/active_admin/resource/scopes.rb', line 23 def scope(*args, &block) = args. title = args[0] rescue nil method = args[1] rescue nil scope = ActiveAdmin::Scope.new(title, method, , &block) # Finds and replaces a scope by the same name if it already exists existing_scope_index = scopes.index{|existing_scope| existing_scope.id == scope.id } if existing_scope_index scopes.delete_at(existing_scope_index) scopes.insert(existing_scope_index, scope) else self.scopes << scope end @default_scope = scope if [:default] scope end |
#scopes ⇒ Object
Return an array of scopes for this resource
6 7 8 |
# File 'lib/active_admin/resource/scopes.rb', line 6 def scopes @scopes ||= [] end |