Sha256: 4bc4f493b178bb7c57e8ffd4b08b24ffdb0eaf38b200bf5216028450b5a43499

Contents?: true

Size: 681 Bytes

Versions: 1

Compression:

Stored size: 681 Bytes

Contents

# frozen_string_literal: true

require "active_support/number_helper"

module Phlexi
  module Table
    module Components
      class Number < Base
        include Concerns::TablesValue

        def render_value(value)
          p(**attributes) {
            format_number(value)
          }
        end

        protected

        def build_attributes
          super

          @options = attributes.delete(:options) || {}
        end

        private

        def format_number(value)
          ActiveSupport::NumberHelper.number_to_delimited(value, **@options)
        end

        def normalize_value(value)
          Float(value.to_s)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
phlexi-table-0.0.1 lib/phlexi/table/components/number.rb