Module: Lims::Core::Actions::BulkAction::AfterEval

Defined in:
lib/lims-core/actions/bulk_action.rb

Instance Method Summary collapse

Instance Method Details

#_call_in_session(session) ⇒ Object



54
55
56
57
58
59
60
61
# File 'lib/lims-core/actions/bulk_action.rb', line 54

def _call_in_session(session)
  super(session)
  if element_name
    {group_name=> actions.map { |a| a.result[element_name] }}
  else
    {group_name=> actions.map { |a| a.result }}
  end
end

#initialize(*args, &initializer) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/lims-core/actions/bulk_action.rb', line 38

def initialize(*args, &initializer)
  super(*args) do |a,s|
    initializer.call(a,s) if initializer
    parameter_list = a[group_name]
    a.actions = parameter_list.map do |parameters|
      action_class.new do |action, session|
          # We copy the parameters to action class.
          # action, is not the real action but an open struct.
          # We can't just pass the parameters in the constructor
          # in case some parameters are private.
          parameters.each { |k, v| action[k] = v }
      end
    end
  end
end