1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
module RailsAdmin
module Adapters
module ActiveRecord
class Property
attr_reader :property, :model
def initialize(property, model)
@property = property
@model = model
end
def name
property.name.to_sym
end
def pretty_name
property.name.to_s.tr('_', ' ').capitalize
end
def type
if serialized?
:serialized
else
property.type
end
end
def length
property.limit
end
def nullable?
property.null
end
def serial?
model.primary_key == property.name
end
def association?
false
end
def read_only?
false
end
private
def serialized?
if Rails.version < '4.2'
model.serialized_attributes[property.name.to_s]
else
model.type_for_attribute(property.name).class == ::ActiveRecord::Type::Serialized
end
end
end
end
end
end
|