class RuboCop::Cop::RSpec::Rails::HttpStatus::BeStatusStyleChecker

:nodoc:

def normalize_str

def normalize_str
  str = node.value.to_s
  if str.match?(/\A\d+\z/)
    ::Rack::Utils::SYMBOL_TO_STATUS_CODE.key(str.to_i)
  else
    str
  end
end

def number

def number
  node.value.to_i
end

def offense_range

def offense_range
  node.parent
end

def offensive?

def offensive?
  (!node.sym_type? && !custom_http_status_code?) ||
    (!node.int_type? && !allowed_symbol?)
end

def prefer

def prefer
  if node.sym_type?
    "be_#{node.value}"
  elsif node.int_type?
    "be_#{symbol}"
  elsif node.str_type?
    "be_#{normalize_str}"
  end
end

def symbol

def symbol
  ::Rack::Utils::SYMBOL_TO_STATUS_CODE.key(number)
end