Class: RuboCop::Cop::Rails::HttpStatus::NumericStyleChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/rubocop/cop/rails/http_status.rb

Overview

:nodoc:

Constant Summary collapse

MSG =
'Prefer `%<prefer>s` over `%<current>s` ' \
'to define HTTP status code.'.freeze
DEFAULT_MSG =
'Prefer `numeric` over `symbolic` ' \
'to define HTTP status code.'.freeze
PERMITTED_STATUS =
%i[error success missing redirect].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node) ⇒ NumericStyleChecker

Returns a new instance of NumericStyleChecker



149
150
151
# File 'lib/rubocop/cop/rails/http_status.rb', line 149

def initialize(node)
  @node = node
end

Instance Attribute Details

#nodeObject (readonly)

Returns the value of attribute node



148
149
150
# File 'lib/rubocop/cop/rails/http_status.rb', line 148

def node
  @node
end

Instance Method Details

#messageObject



157
158
159
160
161
162
163
# File 'lib/rubocop/cop/rails/http_status.rb', line 157

def message
  if RACK_LOADED
    format(MSG, prefer: preferred_style, current: symbol.inspect)
  else
    DEFAULT_MSG
  end
end

#offensive?Boolean

Returns:

  • (Boolean)


153
154
155
# File 'lib/rubocop/cop/rails/http_status.rb', line 153

def offensive?
  !node.int_type? && !permitted_symbol?
end

#preferred_styleObject



165
166
167
# File 'lib/rubocop/cop/rails/http_status.rb', line 165

def preferred_style
  number.to_s
end