module DataHelpers
  class AccountingPeriodHelper
    class << self
      def name_to_period_id(period_name)
        (period_number(period_date(period_name)) - period_number(period_date(first_period_date))) + 1
      end

      def valid_period_id?(period_id_string)
        period_id_string.to_i.to_s == period_id_string
      end

      private

      def period_date(period_name)
        Date.parse(period_name)
      end

      def period_number(period_date)
        period_date.year * 12 + period_date.month
      end

      def first_period_date
        "Jan 1999".freeze
      end
    end
  end
end
