Class: RuboCop::Cop::Rails::UnknownEnv
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Rails::UnknownEnv
- Extended by:
- TargetRailsVersion
- Defined in:
- lib/rubocop/cop/rails/unknown_env.rb
Overview
Checks that environments called with Rails.env predicates
exist.
By default the cop allows three environments which Rails ships with:
development, test, and production.
More can be added to the Environments config parameter.
Constant Summary collapse
- MSG =
'Unknown environment `%<name>s`.'- MSG_SIMILAR =
'Unknown environment `%<name>s`. Did you mean `%<similar>s`?'
Constants included from TargetRailsVersion
TargetRailsVersion::DEFAULT_RAILS_VERSION, TargetRailsVersion::TARGET_GEM_NAME, TargetRailsVersion::USES_REQUIRES_GEM_API
Instance Method Summary collapse
Methods included from TargetRailsVersion
extended, minimum_target_rails_version, resolve, support_target_rails_version?
Instance Method Details
#on_case(node) ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/rubocop/cop/rails/unknown_env.rb', line 70 def on_case(node) return unless rails_env?(node.condition) node.when_branches.each do |branch| branch.conditions.each do |condition| next unless condition.str_type? next unless unknown_env_name?(condition.value) add_offense(condition, message: (condition.value)) end end end |
#on_send(node) ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/rubocop/cop/rails/unknown_env.rb', line 59 def on_send(node) unknown_environment_predicate?(node) do |name| add_offense(node.loc.selector, message: (name)) end unknown_environment_equal?(node) do |str_node| name = str_node.value add_offense(str_node, message: (name)) end end |