Sha256: 2a52897af4c50fd6f0a6a7f74dcea0b59dabf57d78fb4d6f4c3d6266f2cd98ce

Contents?: true

Size: 488 Bytes

Versions: 3

Compression:

Stored size: 488 Bytes

Contents

module PlayTime
  class Track
    class InvalidTrack < StandardError; end

    ALPHA = 'alpha'.freeze
    BETA = 'beta'.freeze
    ROLLOUT = 'rollout'.freeze
    PRODUCTION = 'production'.freeze

    TRACKS = [ALPHA, BETA, ROLLOUT, PRODUCTION].freeze

    def self.validate!(track)
      raise InvalidTrack.new("#{track} is an invalid track") unless valid?(track)
    end

    private

    def self.valid?(track)
      [ALPHA, BETA, ROLLOUT, PRODUCTION].include?(track)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
play_time-0.1.2 lib/play_time/track.rb
play_time-0.1.1 lib/play_time/track.rb
play_time-0.1.0 lib/play_time/track.rb