Sha256: f91f89dd058493c46fa4b6fd50df98a669096fdbf9f617970fa3b1903abbdefc

Contents?: true

Size: 1.46 KB

Versions: 12

Compression:

Stored size: 1.46 KB

Contents

format do
  view :compact_missing, perms: :none, compact: true do
    ""
  end

  view :unknown, perms: :none, cache: :never do
    ""
  end

  view :server_error, perms: :none do
    t(:format_server_error)
  end

  view :denial, perms: :none do
    focal? ? t(:format_denial) : ""
  end

  view :not_found, perms: :none do
    error_name = card.name.present? ? safe_name : t(:format_not_found_no_name)
    t(:format_not_found_named, cardname: error_name)
  end

  view :bad_address, perms: :none do
    root.error_status = 404
    t(:format_bad_address)
  end

  view :errors do
    ["Problem:", "", error_messages].flatten.join "\n"
  end

  def error_messages
    card.errors.map do |error|
      if error.attribute == :abort
        simple_error_message error.message
      else
        standard_error_message error
      end
    end
  end

  # for override
  def simple_error_message message
    message
  end

  # for override
  def standard_error_message error
    "#{error.attribute.to_s.upcase}: #{error.message}"
  end

  def unsupported_view_error_message view
    t :format_unsupported_view, view: view, cardname: card.name
  end
end

format :json do
  view :errors do
    {
      error_status: error_status,
      errors: card.errors.each_with_object({}) { |e, h| h[e.attribute] = e.message }
    }
  end

  view :server_error, :errors
  view :denial, :errors
  view :not_found, :errors
  view :bad_address do
    card.errors.add :address, super()
    render_errors
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
card-mod-format-0.18.1 set/all/error.rb
card-mod-format-0.18.0 set/all/error.rb
card-mod-format-0.17.0 set/all/error.rb
card-mod-format-0.16.0 set/all/error.rb
card-mod-format-0.15.6 set/all/error.rb
card-mod-format-0.15.5 set/all/error.rb
card-mod-format-0.15.4 set/all/error.rb
card-mod-format-0.15.3 set/all/error.rb
card-mod-format-0.15.2.pre1 set/all/error.rb
card-mod-format-0.15.1.1 set/all/error.rb
card-mod-format-0.15.1 set/all/error.rb
card-mod-format-0.15.0 set/all/error.rb