Sha256: 3e078a8dca68330a1daf4a123ac49d077a95ce8d0e72cdd330dcf196645a2611

Contents?: true

Size: 1.26 KB

Versions: 22

Compression:

Stored size: 1.26 KB

Contents

#Updated by Jack Hong on 04/05/08

module ETL #:nodoc:
  module CoreExtensions #:nodoc:
    module Time #:nodoc:
      # Enables the use of time calculations within Time itself
      module Calculations
        def week
          cyw = ((yday - 1) / 7) + 1
          cyw = 52 if cyw == 53
          cyw
        end
        def quarter
          ((month - 1) / 3) + 1
        end
        def fiscal_year_week(offset_month=10)
          fyw = ((fiscal_year_yday(offset_month) - 1) / 7) + 1
          fyw = 52 if fyw == 53
          fyw
        end
        def fiscal_year_month(offset_month=10)
          shifted_month = month - (offset_month - 1)
          shifted_month += 12 if shifted_month <= 0
          shifted_month
        end
        def fiscal_year_quarter(offset_month=10)
          ((fiscal_year_month(offset_month) - 1) / 3) + 1
        end
        def fiscal_year(offset_month=10)
          month >= offset_month ? year + 1 : year
        end
        def fiscal_year_yday(offset_month=10)
          offset_days = 0
          1.upto(offset_month - 1) { |m| offset_days += ::Time.days_in_month(m, year) }
          shifted_year_day = yday - offset_days
          shifted_year_day += 365 if shifted_year_day <= 0
          shifted_year_day
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 9 rubygems

Version Path
aeden-activewarehouse-etl-0.9.1 etl/lib/etl/core_ext/time/calculations.rb
colincasey-activewarehouse-etl-0.9.4 lib/etl/core_ext/time/calculations.rb
colincasey-activewarehouse-etl-0.9.5 lib/etl/core_ext/time/calculations.rb
factorylabs-activewarehouse-etl-0.9.1.2 lib/etl/core_ext/time/calculations.rb
factorylabs-activewarehouse-etl-0.9.1.3 lib/etl/core_ext/time/calculations.rb
factorylabs-activewarehouse-etl-0.9.1.4 lib/etl/core_ext/time/calculations.rb
factorylabs-activewarehouse-etl-0.9.1.5 lib/etl/core_ext/time/calculations.rb
factorylabs-activewarehouse-etl-0.9.1.6 lib/etl/core_ext/time/calculations.rb
factorylabs-activewarehouse-etl-0.9.1.7 lib/etl/core_ext/time/calculations.rb
jayzes-activewarehouse-etl-0.9.1.1 lib/etl/core_ext/time/calculations.rb
jayzes-activewarehouse-etl-0.9.1.2 lib/etl/core_ext/time/calculations.rb
jayzes-activewarehouse-etl-0.9.1 lib/etl/core_ext/time/calculations.rb
activewarehouse-etl-1.0.0 lib/etl/core_ext/time/calculations.rb
activewarehouse-etl-1.0.0.rc1 lib/etl/core_ext/time/calculations.rb
etl-0.9.5.rc1 lib/etl/core_ext/time/calculations.rb
activewarehouse-etl-sgonyea-0.9.6 lib/etl/core_ext/time/calculations.rb
activewarehouse-etl-0.9.5.rc1 lib/etl/core_ext/time/calculations.rb
darrell-activewarehouse-etl-0.9.1.6 lib/etl/core_ext/time/calculations.rb
darrell-activewarehouse-etl-0.9.1.4 lib/etl/core_ext/time/calculations.rb
factorylabs-activewarehouse-etl-0.9.1.8 lib/etl/core_ext/time/calculations.rb