Sha256: eb915bb976ff3011757edc217a2ff6466d74626af43068a01693e89d31ec4d02

Contents?: true

Size: 1 KB

Versions: 23

Compression:

Stored size: 1 KB

Contents

module ActiveAdminAddons
  class NumberBuilder < CustomBuilder
    NUMBER_TYPES = {
      currency: :number_to_currency,
      human: :number_to_human,
      human_size: :number_to_human_size,
      percentage: :number_to_percentage,
      phone: :number_to_phone,
      delimiter: :number_with_delimiter,
      precision: :number_with_precision
    }

    def render
      options[:as] = options.fetch(:as, :delimiter)
      if !NUMBER_TYPES.keys.include?(options[:as])
        raise "Invalid number type. Options are: #{NUMBER_TYPES.keys}"
      end
      context.send(NUMBER_TYPES[options[:as]], data, options)
    end
  end

  module ::ActiveAdmin
    module Views
      class TableFor
        def number_column(*args, &block)
          column(*args) { |model| NumberBuilder.render(self, model, *args, &block) }
        end
      end
      class AttributesTable
        def number_row(*args, &block)
          row(*args) { |model| NumberBuilder.render(self, model, *args, &block) }
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
activeadmin_addons-0.12.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.11.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.10.1 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.10.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.9.3 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.9.2 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.9.1 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.9.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.8.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.7.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.6.4 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.6.3 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.6.2 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.6.1 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.6.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.5.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.4.0 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.3.4 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.3.3 lib/activeadmin_addons/addons/number.rb
activeadmin_addons-0.3.2 lib/activeadmin_addons/addons/number.rb