Sha256: 2520370d9d73604844fe299c8eb71a01ee82ad08bceca57870ede036b38b8165

Contents?: true

Size: 685 Bytes

Versions: 11

Compression:

Stored size: 685 Bytes

Contents

# frozen_string_literal: true

require "active_support/number_helper"

module Phlexi
  module Display
    module Components
      class Number < Base
        include Concerns::DisplaysValue

        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

11 entries across 11 versions & 1 rubygems

Version Path
phlexi-display-0.0.12 lib/phlexi/display/components/number.rb
phlexi-display-0.0.11 lib/phlexi/display/components/number.rb
phlexi-display-0.0.10 lib/phlexi/display/components/number.rb
phlexi-display-0.0.9 lib/phlexi/display/components/number.rb
phlexi-display-0.0.8 lib/phlexi/display/components/number.rb
phlexi-display-0.0.7 lib/phlexi/display/components/number.rb
phlexi-display-0.0.6 lib/phlexi/display/components/number.rb
phlexi-display-0.0.5 lib/phlexi/display/components/number.rb
phlexi-display-0.0.4 lib/phlexi/display/components/number.rb
phlexi-display-0.0.3 lib/phlexi/display/components/number.rb
phlexi-display-0.0.2 lib/phlexi/display/components/number.rb