module Card::Model::SaveHelper::SaveHelperHelper

private helper methods for public SaveHelper api

Constants

CARDTYPE_METHOD_REGEXP

Private Instance Methods

add_name(name, content_or_args) click to toggle source
# File lib/card/model/save_helper/save_helper_helper.rb, line 50
def add_name name, content_or_args
  if content_or_args.is_a?(Hash)
    content_or_args.reverse_merge name: name
  else
    { content: content_or_args, name: name }
  end
end
cardtype_card_from_string(type) click to toggle source
# File lib/card/model/save_helper/save_helper_helper.rb, line 46
def cardtype_card_from_string type
  Card::Codename[type.to_sym] ? Card[type.to_sym] : Card[type]
end
codename_from_name(name) click to toggle source
# File lib/card/model/save_helper/save_helper_helper.rb, line 10
def codename_from_name name
  name.downcase.tr(" ", "_").tr(":*", "")
end
delete_code_card?(name) click to toggle source
# File lib/card/model/save_helper/save_helper_helper.rb, line 14
def delete_code_card? name
  return false if name.is_a?(Symbol) && !Codename.exist?(name)

  Card.exist? name
end
extract_cardtype_from_method_name(method) click to toggle source
# File lib/card/model/save_helper/save_helper_helper.rb, line 36
def extract_cardtype_from_method_name method
  return unless (match = method.match CARDTYPE_METHOD_REGEXP)

  cardtype_card = cardtype_card_from_string match[:type]

  return unless cardtype_card&.type_id == CardtypeID || cardtype_card&.id == SetID

  [match[:method_name], cardtype_card]
end
method_missing(method, *args) click to toggle source
Calls superclass method
# File lib/card/model/save_helper/save_helper_helper.rb, line 20
def method_missing method, *args
  method_name, cardtype_card = extract_cardtype_from_method_name method
  return super unless method_name

  sargs = standardize_args(*args).merge(type_id: cardtype_card.id)
  if method_name == "ensure"
    Card.ensure sargs
  else
    send "#{method_name}_card", sargs
  end
end
respond_to_missing?(method, _include_private=false) click to toggle source
Calls superclass method
# File lib/card/model/save_helper/save_helper_helper.rb, line 32
def respond_to_missing? method, _include_private=false
  extract_cardtype_from_method_name(method) || super
end