Csv::Exporter#initialize calls '1.year' 2 times Open
when 'last_year' then 1.year.ago.beginning_of_year..1.year.ago.end_of_year
- Read upRead up
- Exclude checks
Duplication occurs when two fragments of code look nearly identical, or when two fragments of code have nearly identical effects at some conceptual level.
Reek implements a check for Duplicate Method Call.
Example
Here's a very much simplified and contrived example. The following method will report a warning:
def double_thing()
@other.thing + @other.thing
end
One quick approach to silence Reek would be to refactor the code thus:
def double_thing()
thing = @other.thing
thing + thing
end
A slightly different approach would be to replace all calls of double_thing
by calls to @other.double_thing
:
class Other
def double_thing()
thing + thing
end
end
The approach you take will depend on balancing other factors in your code.
Csv::Exporter#initialize calls 'Time.now' 8 times Open
when 'today' then Time.now.beginning_of_day..Time.now.end_of_day
when 'this_week' then Time.now.beginning_of_week..Time.now.end_of_week
when 'this_month' then Time.now.beginning_of_month..Time.now.end_of_month
when 'this_year' then Time.now.beginning_of_year..Time.now.end_of_year
- Read upRead up
- Exclude checks
Duplication occurs when two fragments of code look nearly identical, or when two fragments of code have nearly identical effects at some conceptual level.
Reek implements a check for Duplicate Method Call.
Example
Here's a very much simplified and contrived example. The following method will report a warning:
def double_thing()
@other.thing + @other.thing
end
One quick approach to silence Reek would be to refactor the code thus:
def double_thing()
thing = @other.thing
thing + thing
end
A slightly different approach would be to replace all calls of double_thing
by calls to @other.double_thing
:
class Other
def double_thing()
thing + thing
end
end
The approach you take will depend on balancing other factors in your code.
Csv::Exporter#initialize calls '1.year.ago' 2 times Open
when 'last_year' then 1.year.ago.beginning_of_year..1.year.ago.end_of_year
- Read upRead up
- Exclude checks
Duplication occurs when two fragments of code look nearly identical, or when two fragments of code have nearly identical effects at some conceptual level.
Reek implements a check for Duplicate Method Call.
Example
Here's a very much simplified and contrived example. The following method will report a warning:
def double_thing()
@other.thing + @other.thing
end
One quick approach to silence Reek would be to refactor the code thus:
def double_thing()
thing = @other.thing
thing + thing
end
A slightly different approach would be to replace all calls of double_thing
by calls to @other.double_thing
:
class Other
def double_thing()
thing + thing
end
end
The approach you take will depend on balancing other factors in your code.
Csv::Exporter#output_encoding doesn't depend on instance state (maybe move it to another class?) Open
def output_encoding
- Read upRead up
- Exclude checks
A Utility Function is any instance method that has no dependency on the state of the instance.