Sha256: 65b2337b9aaa4bc120c3bb0b4ac2845d9bfe08f534583d518d3c141112883698

Contents?: true

Size: 713 Bytes

Versions: 1

Compression:

Stored size: 713 Bytes

Contents

module Rats
  class Meridian < Data

    VALID_MERIDIANS = (4..6)

    def self.padding_width; 1; end
    def self.padding_value; " "; end

    def self.transform(value)
      return unless value
      value = value.to_s.upcase.reverse.chomp('W').reverse
      value.to_i > 0 ? value.to_i : nil
    end

    def to_s; "W" + self.value.to_s; end

    def fullname
      template = "West of the %s Meridian"
      case @value.to_i
      when 4
        sprintf(template, 'Fourth')
      when 5
        sprintf(template, 'Fifth')
      when 6
        sprintf(template, 'Sixth')
      else
        ''
      end
    end

    private

    def validate!
      VALID_MERIDIANS.include?(self.value.to_i)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rats-0.5.0 lib/rats/data/meridian.rb