Sha256: c7b67dd5ee517635fb7ced063b21c79687f0fc3f61593dd9e15c4270409d545e

Contents?: true

Size: 1.33 KB

Versions: 20

Compression:

Stored size: 1.33 KB

Contents

module GreenButtonData
  module Parser
    class LocalTimeParameters
      include SAXMachine
      include Dst
      include Utilities

      element :dstStartRule, as: :dst_start_rule do |string|
        string.to_i 16
      end

      element :dstEndRule, as: :dst_end_rule do |string|
        string.to_i 16
      end

      def dst_starts_at(year = Time.now.year)
        byte_to_dst_datetime @dst_start_rule, year
      end

      def dst_ends_at(year = Time.now.year)
        byte_to_dst_datetime @dst_end_rule, year
      end

      element :dstOffset, class: Integer, as: :dst_offset
      element :tzOffset, class: Integer, as: :tz_offset

      def total_offset
        @dst_offset + @tz_offset
      end

      def total_offset_hours
        total_offset / 3600
      end

      # ESPI Namespacing
      element :'espi:dstStartRule', as: :dst_start_rule
      element :'espi:dstEndRule', as: :dst_end_rule
      element :'espi:dstOffset', class: Integer, as: :dst_offset
      element :'espi:tzOffset', class: Integer, as: :tz_offset

      # Special case for PG&E which uses generic namespacing
      element :'ns0:dstStartRule', as: :dst_start_rule
      element :'ns0:dstEndRule', as: :dst_end_rule
      element :'ns0:dstOffset', class: Integer, as: :dst_offset
      element :'ns0:tzOffset', class: Integer, as: :tz_offset
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
green-button-data-2.0.1 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-2.0.0 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-1.0.3 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-1.0.1 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-1.0.0 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.7.5 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.7.4 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.7.3 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.7.2 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.7.1 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.7.0 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.6.0 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.5.0 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.4.2 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.4.1 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.3.2 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.4.0 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.4.0.alpha.pre.1 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.3.1 lib/green-button-data/parser/local_time_parameters.rb
green-button-data-0.3.0 lib/green-button-data/parser/local_time_parameters.rb