Sha256: 8189af443725ae6509c3629015ac819f2ff39569717ad3a32e48958a74f6a028

Contents?: true

Size: 625 Bytes

Versions: 20

Compression:

Stored size: 625 Bytes

Contents

require_relative "base"

module Administrate
  module Field
    class Number < Field::Base
      def to_s
        data.nil? ? "-" : format_string % value
      end

      private

      def format_string
        prefix + "%.#{decimals}f" + suffix
      end

      def prefix
        options[:prefix].to_s
      end

      def suffix
        options[:suffix].to_s
      end

      def decimals
        _left, right = data.to_s.split(".")
        default = right.nil? ? 0 : right.size
        options.fetch(:decimals, default)
      end

      def value
        data * options.fetch(:multiplier, 1)
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 3 rubygems

Version Path
administrate-0.14.0 lib/administrate/field/number.rb
viniBaxterDesk-22.0.0 lib/administrate/field/number.rb
viniBaxterDesk-0.21.0 lib/administrate/field/number.rb
viniBaxterDesk-0.20.0 lib/administrate/field/number.rb
viniBaxterDesk-0.14.0 lib/administrate/field/number.rb
viniBaxterDesk-0.13.2 lib/administrate/field/number.rb
viniBaxterDesk-0.13.1 lib/administrate/field/number.rb
administrate-0.13.0 lib/administrate/field/number.rb
administrate-0.12.0 lib/administrate/field/number.rb
administrate-0.11.0 lib/administrate/field/number.rb
semantic-administrate-0.10.1 lib/administrate/field/number.rb
semantic-administrate-0.10.0 lib/administrate/field/number.rb
administrate-0.10.0 lib/administrate/field/number.rb
semantic-administrate-0.1.1 lib/administrate/field/number.rb
administrate-0.9.0 lib/administrate/field/number.rb
semantic-administrate-0.1.0 lib/administrate/field/number.rb
administrate-0.8.1 lib/administrate/field/number.rb
administrate-0.8.0 lib/administrate/field/number.rb
administrate-0.7.0 lib/administrate/field/number.rb
administrate-0.6.0 lib/administrate/field/number.rb