Updated

app/builders/reports / base_timeseries_builder.rb

C
36 lines of codes
5 methods
4.8 complexity/method
7 churn
24.02 complexity
16 duplications
class Reports::BaseTimeseriesBuilder
  1. Reports::BaseTimeseriesBuilder has no descriptive comment
include TimezoneHelper include DateRangeHelper DEFAULT_GROUP_BY = 'month'.freeze attr_reader :account, :params def initialize(account, params)
  1. Identical code found in 3 nodes Locations: 0 1 2
raise ArgumentError, 'account is required' unless account raise ArgumentError, 'params is required' unless params @account = account @params = params end def scope case params[:type].to_sym when :account account when :stage stage end end def stage @stage ||= Stage.find(params[:id]) end def group_by @group_by ||= %w[day week month year hour].include?(params[:group_by]) ? params[:group_by] : DEFAULT_GROUP_BY
  1. Reports::BaseTimeseriesBuilder#group_by calls 'params[:group_by]' 2 times
end def timezone @timezone ||= timezone_name_from_offset(params[:timezone_offset]) end end