lib/admin_it/field/field.rb in admin_it-1.0.9 vs lib/admin_it/field/field.rb in admin_it-1.0.10

- old
+ new

@@ -13,11 +13,12 @@ extend DataBehavior extend ExtendIt::Dsl extend DisplayableName include ExtendIt::Callbacks - TYPES = %i(unknown integer float string date relation enum) + TYPES = %i(unknown integer float string date datetime time relation enum + binary) define_callbacks :initialize dsl do dsl_accessor :type, default: TYPES[0] @@ -27,20 +28,20 @@ dsl_boolean :readable, :writable, :visible, :sortable dsl_block :read, :write, :render, :display def hide - @visible = false + dsl_set(:visible, false) end def show - @visible = true + dsl_set(:visible, true) end end class << self - attr_reader :type, :read, :write, :render, :display + attr_reader :read, :write, :render, :display, :type protected def default_display_name field_name @@ -63,30 +64,32 @@ @sortable.nil? ? @sortable = true : @sortable == true end inherited_class_reader :field_name, :entity_class - def self.create(name, _entity_class, - type: :unknown, - readable: true, - writable: true, - visible: true, - sortable: true - ) + def self.create(name, _entity_class, **opts) +# type: :unknown, +# readable: true, +# writable: true, +# visible: true, +# sortable: true +# ) base = self +# _type, _readable, _writable, _visible, _sortable = +# type, readable, writable, visible, sortable Class.new(base) do @field_name, @entity_class = name, _entity_class import_data_module(base) - @readable = readable == true - @writable = writable == true - @visible = visible == true - @sortable = sortable == true - self.type = type + @readable = opts[:readable].nil? ? true : opts[:readable] == true + @writable = opts[:writable].nil? ? true : opts[:writable] == true + @visible = opts[:visible].nil? ? true : opts[:visible] == true + @sortable = opts[:sortable].nil? ? true : opts[:sortable] == true + self.type = opts[:type] end end def self.type=(value) - TYPES.include?(value) ? value : TYPES[0] + @type = TYPES.include?(value) ? value : TYPES[0] end def self.placeholder @placeholder ||= display_name end