Class: SpreeCmCommissioner::TicketTransferRule

Inherits:
Base
  • Object
show all
Defined in:
app/models/spree_cm_commissioner/ticket_transfer_rule.rb

Constant Summary collapse

ALLOWED_RULEABLE_TYPES =

Allowed polymorphic types for ruleable. The dropdown in the admin form is built from this list, and a model-level inclusion validation rejects anything else.

%w[Spree::Product Spree::Taxon Spree::Vendor].freeze

Instance Method Summary collapse

Instance Method Details

#ruleable_type_labelObject



56
57
58
59
60
61
62
63
# File 'app/models/spree_cm_commissioner/ticket_transfer_rule.rb', line 56

def ruleable_type_label
  case ruleable_type
  when 'Spree::Product' then 'Product'
  when 'Spree::Taxon'   then 'Event'
  when 'Spree::Vendor'  then 'Vendor'
  else ruleable_type&.demodulize || 'Global'
  end
end

#scope_labelObject



49
50
51
52
53
54
# File 'app/models/spree_cm_commissioner/ticket_transfer_rule.rb', line 49

def scope_label
  return 'Global' if ruleable.blank?

  label = ruleable.respond_to?(:name) ? ruleable.name.to_s : "##{ruleable_id}"
  "#{ruleable_type_label}: #{label}"
end