module CardController::Mark

methods for interpretation of card marks requested

Private Instance Methods

explicit_mark(mark) click to toggle source
# File lib/card_controller/mark.rb, line 22
def explicit_mark mark
  # we should find the place where we produce these bad urls
  mark.valid_encoding? ? mark : mark.force_encoding("ISO-8859-1").encode("UTF-8")
end
home_mark() click to toggle source
# File lib/card_controller/mark.rb, line 40
def home_mark
  Card::Rule.global_setting(:home) || "Home"
end
implicit_mark() click to toggle source
# File lib/card_controller/mark.rb, line 27
def implicit_mark
  case
  when initial_setup
    ""
  when (name = mark_from_card_hash)
    name
  when view_does_not_require_name?
    ""
  else
    home_mark
  end
end
initial_setup() click to toggle source

alters params

# File lib/card_controller/mark.rb, line 55
def initial_setup
  return unless Card::Auth.needs_setup? && Card::Env.html?

  prepare_setup_card!
end
interpret_mark(mark) click to toggle source
# File lib/card_controller/mark.rb, line 10
def interpret_mark mark
  case mark
  when "*previous"
    # Why support this? It's only needed in Success, right? Deprecate?
    hard_redirect Card::Env.previous_location
  when nil
    implicit_mark
  else
    explicit_mark mark
  end
end
load_mark() click to toggle source
# File lib/card_controller/mark.rb, line 6
def load_mark
  params[:mark] = interpret_mark params[:mark]
end
mark_from_card_hash() click to toggle source
# File lib/card_controller/mark.rb, line 50
def mark_from_card_hash
  params.dig :card, :name
end
prepare_setup_card!() click to toggle source
# File lib/card_controller/mark.rb, line 61
def prepare_setup_card!
  params[:card] = { type_id: Card.default_accounted_type_id }
  params[:view] = "setup"
end
view_does_not_require_name?() click to toggle source
# File lib/card_controller/mark.rb, line 44
def view_does_not_require_name?
  return false unless (view = params[:view]&.to_sym)

  Card::Set::Format::AbstractFormat::ViewOpts.unknown_ok[view]
end