From 451a6634e4444139ba13028bd64573a3097047e2 Mon Sep 17 00:00:00 2001 From: Peter Leitzen Date: Fri, 30 Aug 2019 12:33:29 +0200 Subject: Provide filename and line number for `class_eval` This commit removes one RuboCop offense from its todo file. --- .rubocop_todo.yml | 5 ----- app/models/service.rb | 8 ++++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3898206e3b5..be147d72f71 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -570,11 +570,6 @@ Style/EmptyMethod: Style/Encoding: Enabled: false -# Offense count: 2 -Style/EvalWithLocation: - Exclude: - - 'app/models/service.rb' - # Offense count: 203 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle. diff --git a/app/models/service.rb b/app/models/service.rb index f6d8fb1fb46..431c5881460 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -174,7 +174,7 @@ class Service < ApplicationRecord # Also keep track of updated properties in a similar way as ActiveModel::Dirty def self.prop_accessor(*args) args.each do |arg| - class_eval %{ + class_eval <<~RUBY, __FILE__, __LINE__ + 1 unless method_defined?(arg) def #{arg} properties['#{arg}'] @@ -198,7 +198,7 @@ class Service < ApplicationRecord def #{arg}_was updated_properties['#{arg}'] end - } + RUBY end end @@ -209,12 +209,12 @@ class Service < ApplicationRecord self.prop_accessor(*args) args.each do |arg| - class_eval %{ + class_eval <<~RUBY, __FILE__, __LINE__ + 1 def #{arg}? # '!!' is used because nil or empty string is converted to nil !!ActiveRecord::Type::Boolean.new.cast(#{arg}) end - } + RUBY end end -- cgit v1.2.1