Sha256: 82508874c721fd3d097b06c1a02dcde885878cefd9484c5fc17002d42c96cd4d

Contents?: true

Size: 1.09 KB

Versions: 9

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

module ActiveElement
  module Components
    module Util
      # Maps ActiveRecord record fields to values for display (e.g. in tables).
      class DisplayValueMapping
        include RecordMapping

        def numeric_value
          value_from_record
        end

        def json_value
          ActiveElement.json_pretty_print(value_from_record)
        end

        def string_value
          value_from_record
        end

        def datetime_value
          value_from_record.strftime('%Y-%m-%d %H:%M:%S')
        end

        def time_value
          value_from_record.strftime('%H:%M:%S')
        end

        def date_value
          value_from_record.strftime('%Y-%m-%d')
        end

        def boolean_value
          component.controller.render_to_string(
            partial: 'active_element/components/fields/boolean',
            locals: { value: value_from_record }
          )
        end

        def geometry_value
          require 'rgeo/geo_json'
          Util.json_pretty_print(RGeo::GeoJSON.encode(value_from_record))
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
active_element-0.0.10 lib/active_element/components/util/display_value_mapping.rb
active_element-0.0.9 lib/active_element/components/util/display_value_mapping.rb
active_element-0.0.8 lib/active_element/components/util/display_value_mapping.rb
active_element-0.0.7 lib/active_element/components/util/display_value_mapping.rb
active_element-0.0.6 lib/active_element/components/util/display_value_mapping.rb
active_element-0.0.5 lib/active_element/components/util/display_value_mapping.rb
active_element-0.0.4 lib/active_element/components/util/display_value_mapping.rb
active_element-0.0.3 lib/active_element/components/util/display_value_mapping.rb
active_element-0.0.2 lib/active_element/components/util/display_value_mapping.rb