Sha256: fb1af4b6a9e024b84576f2e025b7bf5d5afc04806192d13cc4a2d48811ef8c9f

Contents?: true

Size: 552 Bytes

Versions: 8

Compression:

Stored size: 552 Bytes

Contents

module Barometer
  module Data
    class Sun
      include Virtus.value_object

      attribute :rise, ::Time
      attribute :set, ::Time

      def nil?
        !(rise || set)
      end

      def after_rise?(time)
        time >= rise
      end

      def before_set?(time)
        time <= set
      end

      def to_s
        [_to_s('rise', rise), _to_s('set', set)].compact.join(', ')
      end

      private

      def _to_s(prefix, value)
        return unless value
        "#{prefix}: #{value.strftime('%H:%M')}"
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
barometer-0.9.7 lib/barometer/data/sun.rb
barometer-0.9.6 lib/barometer/data/sun.rb
barometer-0.9.5 lib/barometer/data/sun.rb
barometer-0.9.4 lib/barometer/data/sun.rb
barometer-0.9.3 lib/barometer/data/sun.rb
barometer-0.9.2 lib/barometer/data/sun.rb
barometer-0.9.1 lib/barometer/data/sun.rb
barometer-0.9.0 lib/barometer/data/sun.rb