Class: Actions::Katello::ActivationKey::Update

Inherits:
EntryAction
  • Object
show all
Defined in:
app/lib/actions/katello/activation_key/update.rb

Instance Method Summary collapse

Instance Method Details

#cp_changed?(activation_key, activation_key_params) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/lib/actions/katello/activation_key/update.rb', line 31

def cp_changed?(activation_key, activation_key_params)
  !activation_key_params.nil? && activation_key.to_s != activation_key_params.to_s
end

#plan(activation_key, activation_key_params) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/lib/actions/katello/activation_key/update.rb', line 5

def plan(activation_key, activation_key_params)
  # need to check if candlepin attributes have changed prior to updating attributes
  update_candlepin = update_candlepin?(activation_key, activation_key_params)
  action_subject activation_key
  activation_key.update!(activation_key_params)
  if update_candlepin
    plan_action(::Actions::Candlepin::ActivationKey::Update,
                cp_id: activation_key.cp_id,
                release_version: activation_key.release_version,
                service_level: activation_key.service_level,
                auto_attach: activation_key.auto_attach,
                purpose_role: activation_key.purpose_role,
                purpose_usage: activation_key.purpose_usage,
                purpose_addons: activation_key.purpose_addons.pluck(:name))
  end
end

#rescue_strategyObject



35
36
37
# File 'app/lib/actions/katello/activation_key/update.rb', line 35

def rescue_strategy
  Dynflow::Action::Rescue::Skip
end

#update_candlepin?(activation_key, activation_key_params) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
25
26
27
28
29
# File 'app/lib/actions/katello/activation_key/update.rb', line 22

def update_candlepin?(activation_key, activation_key_params)
  cp_changed?(activation_key.auto_attach, activation_key_params[:auto_attach]) ||
  cp_changed?(activation_key.service_level, activation_key_params[:service_level]) ||
  cp_changed?(activation_key.release_version, activation_key_params[:release_version]) ||
  cp_changed?(activation_key.purpose_role, activation_key_params[:purpose_role]) ||
  cp_changed?(activation_key.purpose_usage, activation_key_params[:purpose_usage]) ||
  cp_changed?(activation_key.purpose_addon_ids, activation_key_params[:purpose_addon_ids])
end