Sha256: 708668509b5acbb6e437a61a28af65a7ff69f3712762f86f37dc804f25c8b3b7
Contents?: true
Size: 1.34 KB
Versions: 15
Compression:
Stored size: 1.34 KB
Contents
require 'rails_admin/config/fields/types/string' module RailsAdmin module Config module Fields module Types class Enum < RailsAdmin::Config::Fields::Base RailsAdmin::Config::Fields::Types::register(self) register_instance_option :partial do :form_enumeration end register_instance_option :enum_method do @enum_method ||= (bindings[:object].class.respond_to?("#{name}_enum") || bindings[:object].respond_to?("#{name}_enum")) ? "#{name}_enum" : name end register_instance_option :enum do bindings[:object].class.respond_to?(enum_method) ? bindings[:object].class.send(enum_method) : bindings[:object].send(enum_method) end register_instance_option :pretty_value do if enum.is_a?(::Hash) enum.reject{|k,v| v.to_s != value.to_s}.keys.first.to_s.presence || value.presence || ' - ' elsif enum.is_a?(::Array) && enum.first.is_a?(::Array) enum.find{|e|e[1].to_s == value.to_s}.try(:first).to_s.presence || value.presence || ' - ' else value.presence || ' - ' end end register_instance_option :multiple? do properties && [:serialized].include?(properties[:type]) end end end end end end
Version data entries
15 entries across 15 versions & 2 rubygems