class RademadeAdmin::Model::Adapter::Data
Public Class Methods
new(model)
click to toggle source
Initialization method
# File lib/rademade_admin/model/adapter/data.rb, line 9 def initialize(model) @model = model end
Public Instance Methods
association_fields()
click to toggle source
Returns array of relations keys
@return [Array]
# File lib/rademade_admin/model/adapter/data.rb, line 42 def association_fields relations.keys.map &:to_sym end
columns()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 55 def columns @columns ||= _model_fields end
field(name)
click to toggle source
@return [RademadeAdmin::Model::Info::Field]
# File lib/rademade_admin/model/adapter/data.rb, line 62 def field(name) fields[name.to_sym] end
fields()
click to toggle source
Returns array of fields with class [RademadeAdmin::Model::Info::Field]
@return [Array]
# File lib/rademade_admin/model/adapter/data.rb, line 51 def fields @fields ||= _map_fields end
has_many()
click to toggle source
@return [Array]
# File lib/rademade_admin/model/adapter/data.rb, line 69 def has_many @has_many_relations ||= relations.filter { |rel| has_many_relations.include?(rel.type) } end
has_one()
click to toggle source
@return [Array]
# File lib/rademade_admin/model/adapter/data.rb, line 76 def has_one @has_one_relations ||= relations.filter { |rel| has_one_relations.include?(rel.type) } end
has_relation?(name)
click to toggle source
@return [Bool]
# File lib/rademade_admin/model/adapter/data.rb, line 25 def has_relation?(name) not relation(name).nil? end
relation(name)
click to toggle source
@return [RademadeAdmin::Model::Info::Relation]
# File lib/rademade_admin/model/adapter/data.rb, line 33 def relation(name) relations[name.to_sym] end
relations()
click to toggle source
Return array of RademadeAdmin::Model::Info::Relation
@return [Array]
# File lib/rademade_admin/model/adapter/data.rb, line 18 def relations @relations ||= _map_relations end
uploader(name)
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 84 def uploader(name) uploaders[name.to_sym] end
uploaders()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 80 def uploaders @uploaders ||= _map_uploaders end
Protected Instance Methods
_map_fields()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 102 def _map_fields raise NotImplementedError, 'Not defined _map_fields for class' end
_map_relations()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 98 def _map_relations raise NotImplementedError, 'Not defined _map_relations for class' end
_map_uploaders()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 106 def _map_uploaders uploaders = {} return uploaders unless @model.respond_to?(:uploaders) _model_uploaders.each do |name, uploader| uploaders[name] = RademadeAdmin::Model::Info::Uploader.new(name, uploader) end uploaders end
_model_fields()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 119 def _model_fields fields.keys end
_model_uploaders()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 115 def _model_uploaders @model.uploaders end
has_many_relations()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 90 def has_many_relations [] end
has_one_relations()
click to toggle source
# File lib/rademade_admin/model/adapter/data.rb, line 94 def has_one_relations [] end