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.'
DEFAULT_MSG =
'Prefer `numeric` over `symbolic` ' \
'to define HTTP status code.'
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.



142
143
144
# File 'lib/rubocop/cop/rails/http_status.rb', line 142

def initialize(node)
  @node = node
end

Instance Attribute Details

#nodeObject (readonly)

Returns the value of attribute node.



141
142
143
# File 'lib/rubocop/cop/rails/http_status.rb', line 141

def node
  @node
end

Instance Method Details

#messageObject



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

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

#offensive?Boolean

Returns:

  • (Boolean)


146
147
148
# File 'lib/rubocop/cop/rails/http_status.rb', line 146

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

#preferred_styleObject



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

def preferred_style
  number.to_s
end