Class: ActiveAdmin::BatchAction

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/active_admin/batch_actions/resource_extension.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sym, title, options = {}, &block) ⇒ BatchAction

Create a Batch Action

Examples:

BatchAction.new :flag

> Will create an action that appears in the action list popover

BatchAction.new( :flag ) { |selection| redirect_to collection_path, :notice => "#{selection.length} users flagged" }

> Will create an action that uses a block to process the request (which receives one paramater of the selected objects)

BatchAction.new( "Perform Long Operation on the" ) { |selection| }

> You can create batch actions with a title instead of a Symbol

BatchAction.new( :flag, :if => proc { can? :flag, AdminUser  } ) { |selection| }

> You can provide an optional :if proc to optionally display the batch action



104
105
106
107
# File 'lib/active_admin/batch_actions/resource_extension.rb', line 104

def initialize(sym, title, options = {}, &block)
  @sym, @title, @options, @block, @confirm = sym, title, options, block, options[:confirm]
  @block ||= proc {}
end

Instance Attribute Details

#blockObject (readonly)

Returns the value of attribute block.



86
87
88
# File 'lib/active_admin/batch_actions/resource_extension.rb', line 86

def block
  @block
end

#confirmObject (readonly)

Returns the value of attribute confirm.



86
87
88
# File 'lib/active_admin/batch_actions/resource_extension.rb', line 86

def confirm
  @confirm
end

#symObject (readonly)

Returns the value of attribute sym.



86
87
88
# File 'lib/active_admin/batch_actions/resource_extension.rb', line 86

def sym
  @sym
end

#titleObject (readonly)

Returns the value of attribute title.



86
87
88
# File 'lib/active_admin/batch_actions/resource_extension.rb', line 86

def title
  @title
end

Instance Method Details

#<=>(other) ⇒ Object

sort operator



121
122
123
# File 'lib/active_admin/batch_actions/resource_extension.rb', line 121

def <=>(other)
  self.priority <=> other.priority
end

#display_if_blockObject

Returns the display if block. If the block was not explicitly defined a default block always returning true will be returned.



111
112
113
# File 'lib/active_admin/batch_actions/resource_extension.rb', line 111

def display_if_block
  @options[:if] || proc { true }
end

#priorityObject

Used for sorting



116
117
118
# File 'lib/active_admin/batch_actions/resource_extension.rb', line 116

def priority
  @options[:priority] || 10
end