Sha256: 0fe121e04e2c06f05856dbba27005d7bda04405c2a7739db8ecb3333f04c1a91

Contents?: true

Size: 698 Bytes

Versions: 2

Compression:

Stored size: 698 Bytes

Contents

# frozen_string_literal: true

module Danica
  class Wrapper::Number
    include BaseOperations
    include Common

    attr_accessor :value

    default_value :priority, 10
    delegate :to_f, to: :value
    default_value :is_grouped?, false

    def initialize(value)
      @value = value
    end

    def to(_format, decimals: nil, **_options)
      return value.to_i.to_s if value.to_i == value
      return format("%.#{decimals}f", value).to_f.to_s if decimals

      value.to_s
    end

    def valued?
      value.present?
    end

    def signaled?
      value < 0
    end

    def ==(other)
      return false unless other.class == self.class

      value == other.value
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
danica-2.7.7 lib/danica/wrapper/number.rb
danica-2.7.6 lib/danica/wrapper/number.rb