Sha256: a0cc4358a503bcf4157b6c8162f020510c8732a9f0ad8c63924a8e6f5139222c

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

require 'rails_admin'
module Enjoy::RailsAdminGroupPatch
  class << self
    def enjoy_cms_group(config, fields = {})
      return unless fields

      if fields.is_a?(Array)
        fields.each do |_group|
          _name_default = :default
          _name = _group.delete(:name) || _name_default
          _active_default = (_name == :default ? true : false)
          _fields_default = {}
          _group_fields = (_group.delete(:fields) || _fields_default)

          config.group _name do
            _group.each_pair do |name, val|

              # TODO: find more logical sulution
              begin
                begin
                  send name, val
                rescue
                  send name
                end
              end
            end

            _group_fields.each_pair do |name, type|
              if type.blank?
                field name
              else
                if type.is_a?(Array)
                  field name, type[0], &type[1]
                else
                  field name, type
                end
              end
            end


          end
        end

      else
        fields.each_pair do |name, type|
          if type.nil?
            config.field name
          else
            if type.is_a?(Array)
              config.field name, type[0], &type[1]
            else
              config.field name, type
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
enjoy_cms-0.4.1 lib/enjoy/rails_admin_ext/patches/enjoy_cms_group.rb