Sha256: ba11f36369a9ae1a7511197c3387ac704d46536551beaa03c1d887f55ea0a911

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

# -*- encoding : utf-8 -*-
module RademadeAdmin::FieldHelper

  def field_to_label(field)
    if configured_field?(field) and field.values.first[:label].present?
      field.values.first[:label]
    else
      field.to_s.humanize
    end
  end

  def field_name(field)
    configured_field?(field) ? field.keys.first : field
  end

  def field_value(field, item)
    if configured_field?(field)
      if field.values.first[:method].present?
        method_name = field.values.first[:method]
      else
        method_name = field.keys.first
      end
    else
      method_name = field
    end
    item.send(method_name)
  end

  def pagination_option(number, name = 'paginate')
    hash_params = request.query_parameters.clone
    hash_params.delete(:page)
    hash_params[name.to_sym] = number

    options = '?' + hash_params.map do |k, v|
      "#{k.to_s}=#{v}"
    end.join('&')

    selected = number == request.query_parameters[name.to_sym].to_i

    content_tag(:option, number.to_s, selected: selected, value: request.path+options)
  end

  def input_attr(attrs = {})
    attrs.merge :wrapper_html => {:class => 'form-group'},
                :input_html => {:class => 'form-control'}
  end

  private

  def configured_field?(field)
    field.is_a? Hash
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rademade_admin-0.0.3 app/helpers/rademade_admin/field_helper.rb
rademade_admin-0.0.2 app/helpers/rademade_admin/field_helper.rb