Sha256: 26689b5baf14a8e18d1743028398d55d8f3987aa58904d482486038073b23acd

Contents?: true

Size: 473 Bytes

Versions: 6

Compression:

Stored size: 473 Bytes

Contents

module Flipper
  module Types
    class Percentage < Type
      attr_reader :value

      def initialize(value)
        value = value.to_i

        if value < 0 || value > 100
          raise ArgumentError, "value must be a positive number less than or equal to 100, but was #{value}"
        end

        @value = value
      end

      def eql?(other)
        self.class.eql?(other.class) && value == other.value
      end
      alias_method :==, :eql?
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
flipper-0.6.3 lib/flipper/types/percentage.rb
flipper-0.6.2 lib/flipper/types/percentage.rb
flipper-0.6.1 lib/flipper/types/percentage.rb
flipper-0.6.0 lib/flipper/types/percentage.rb
flipper-0.5.0 lib/flipper/types/percentage.rb
flipper-0.4.0 lib/flipper/types/percentage.rb