module Rails::Surrender::Render::Configuration::InclusionMapperLogic
Public Instance Methods
expanding_elements()
click to toggle source
# File lib/rails/surrender/render/configuration/inclusion_mapper_logic.rb, line 9 def expanding_elements list = resource_class_surrender_attributes_that_expand + resource_class_surrender_expands + resource_class_subclass_surrender_attributes_that_expand + resource_class_subclass_surrender_expands + user_included_joins_required + ctrl_included_joins_required .flatten.uniq list .map { |e| element_from(e) } .reject do |element| element.klass.in?(history) || element.name.in?(local_user_excludes) || (element.name.in?(local_ctrl_excludes) && !element.name.in?(local_user_includes)) end end
Private Instance Methods
ctrl_included_joins_required()
click to toggle source
# File lib/rails/surrender/render/configuration/inclusion_mapper_logic.rb, line 56 def ctrl_included_joins_required top_level_keys_from(ctrl_include).select { |include| attribute_type(include).in? %i[expand associate] } end
element_from(item)
click to toggle source
# File lib/rails/surrender/render/configuration/inclusion_mapper_logic.rb, line 60 def element_from(item) item_name = resource_class.reflections.key?(item.to_s) ? item.to_s : item.to_s.sub('_ids', '').pluralize item_klass = resource_class.reflections[item_name].klass Element.new name: item_name, klass: item_klass, continue: (item.to_s == item_name) end
resource_class_subclass_surrender_attributes_that_expand()
click to toggle source
# File lib/rails/surrender/render/configuration/inclusion_mapper_logic.rb, line 39 def resource_class_subclass_surrender_attributes_that_expand resource_class.subclasses.map do |subclass| subclass.surrender_attributes .select { |attr| attr.match /_ids$/ } .map { |attr| attr.to_s.sub('_ids', '').pluralize } .select { |include| attribute_type(include, resource_class: sc).in? %i[expand associate] } end end
resource_class_subclass_surrender_expands()
click to toggle source
# File lib/rails/surrender/render/configuration/inclusion_mapper_logic.rb, line 48 def resource_class_subclass_surrender_expands resource_class.subclasses.map(&:surrender_expands) end
resource_class_surrender_attributes_that_expand()
click to toggle source
# File lib/rails/surrender/render/configuration/inclusion_mapper_logic.rb, line 28 def resource_class_surrender_attributes_that_expand resource_class.surrender_attributes .select { |attr| attr.match /_ids$/ } .map { |attr| attr.to_s.sub('_ids', '').pluralize } .select { |include| attribute_type(include).in? %i[expand associate] } end
resource_class_surrender_expands()
click to toggle source
# File lib/rails/surrender/render/configuration/inclusion_mapper_logic.rb, line 35 def resource_class_surrender_expands resource_class.surrender_expands end
user_included_joins_required()
click to toggle source
# File lib/rails/surrender/render/configuration/inclusion_mapper_logic.rb, line 52 def user_included_joins_required top_level_keys_from(user_include).select { |include| attribute_type(include).in? %i[expand associate] } end