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