Sha256: 76e75a18f77d992c4e12f6770a6a441ceea2a857f23c59729d51257efef034e4

Contents?: true

Size: 1.49 KB

Versions: 11

Compression:

Stored size: 1.49 KB

Contents

module Admin
  module DisplayHelper

    def build_display(item, fields)
      fields.map do |attribute, type|
        value = if (type == :boolean) || (data = item.send(attribute))
                  send("display_#{type}", item, attribute)
                else
                  "—".html_safe
                end

        [@resource.human_attribute_name(attribute), value]
      end
    end

    def display_boolean(item, attribute)
      data = item.send(attribute)
      boolean_assoc = item.class.typus_boolean(attribute)
      (data ? boolean_assoc.rassoc("true") : boolean_assoc.rassoc("false")).first
    end

    def display_belongs_to(item, attribute)
      data = item.send(attribute)
      link_to data.to_label, { :controller => data.class.to_resource,
                               :action => data.class.typus_options_for(:default_action_on_item),
                               :id => data.id }
    end

    def display_file(item, attribute)
      typus_file_preview(item, attribute)
    end

    def display_selector(item, attribute)
      item.mapping(attribute)
    end

    def display_datetime(item, attribute)
      I18n.l(item.send(attribute), :format => @resource.typus_date_format(attribute))
    end

    def display_string(item, attribute)
      item.send(attribute)
    end

    alias_method :display_text, :display_string
    alias_method :display_position, :display_string
    alias_method :display_integer, :display_string
    alias_method :display_decimal, :display_string

  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
typus-3.0.11.rc3 app/helpers/admin/display_helper.rb
typus-3.1.0.rc6 app/helpers/admin/display_helper.rb
typus-3.1.0.rc5 app/helpers/admin/display_helper.rb
typus-3.1.0.rc4 app/helpers/admin/display_helper.rb
typus-3.1.0.rc3 app/helpers/admin/display_helper.rb
typus-3.1.0.rc2 app/helpers/admin/display_helper.rb
typus-3.0.11.rc2 app/helpers/admin/display_helper.rb
typus-3.0.11.rc1 app/helpers/admin/display_helper.rb
typus-3.1.0.rc1 app/helpers/admin/display_helper.rb
typus-3.0.10 app/helpers/admin/display_helper.rb
typus-3.0.9 app/helpers/admin/display_helper.rb