Sha256: 520be80fd3a75be60ec7e252d4f61e88cc4ede2d0237cbef302a5b8e4741f3df

Contents?: true

Size: 913 Bytes

Versions: 1

Compression:

Stored size: 913 Bytes

Contents

module Brightcontent
  module BaseHelper
    def render_list_field(item, field)
      render_if_exists("list_field_#{field}", item: item) || item.send(field).to_s.truncate(50)
    end

    def render_form_field(form, field)
      render_if_exists("form_field_#{field}", form: form, item: form.object) ||
      render_if_exists("brightcontent/fields/#{field_type(form, field)}", form: form, item: form.object, field: field) ||
      form.input(field.to_sym)
    end

    def link_for_scope(scope)
      case scope[:type]
      when :boolean
        polymorphic_url([parent, resource_class], scope[:as] => true)
      end
    end

    private

    def render_if_exists(*args)
      render *args
    rescue ActionView::MissingTemplate
      nil
    end

    def field_type(form, field)
      column = form.send(:find_attribute_column, field)
      form.send(:default_input_type, field, column, {})
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
brightcontent-core-2.0.31 app/helpers/brightcontent/base_helper.rb