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.



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

def node
  @node
end

Instance Method Details

#messageObject



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

def message
  format(MSG, prefer: preferred_style, current: symbol.inspect)
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? && number
end

#preferred_styleObject



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

def preferred_style
  number.to_s
end