module Rails::Surrender::Render::Configuration::InstanceLogic
Public Instance Methods
exclude_locally?(key)
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 43 def exclude_locally?(key) local_excludes.include?(key) && !local_user_includes.include?(key) end
locally_included_attributes()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 25 def locally_included_attributes [].push(resource_class.surrender_attributes) .push(ctrl_included_attributes) .push(user_included_attributes_to_render) .flatten.uniq .reject { |attr| exclude_locally?(attr) } end
locally_included_expands()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 33 def locally_included_expands [].push(user_included_local_expansions_to_render) .push(ctrl_included_expansions) .push(resource_class.surrender_expands) .flatten.uniq .each_with_object({}) { |key, result| result[key.to_sym] = [] } .deep_merge(nested_user_includes) .deep_merge(nested_ctrl_includes) end
nested_ctrl_excludes()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 21 def nested_ctrl_excludes next_level_asks_from(ctrl_exclude) end
nested_ctrl_includes()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 13 def nested_ctrl_includes next_level_asks_from(ctrl_include) end
nested_user_excludes()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 17 def nested_user_excludes next_level_asks_from(user_exclude) end
nested_user_includes()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 9 def nested_user_includes next_level_asks_from(user_include) end
Private Instance Methods
ctrl_included_attributes()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 77 def ctrl_included_attributes top_level_keys_from(ctrl_include).select { |include| attribute_type(include).in? %i[include associate] } end
ctrl_included_expansions()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 81 def ctrl_included_expansions local_ctrl_includes.select { |i| attribute_type(i) == :expand } end
local_excludes()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 49 def local_excludes local_ctrl_excludes.dup.push(local_user_excludes).flatten.uniq end
user_included_attributes()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 53 def user_included_attributes top_level_keys_from(user_include).select { |include| attribute_type(include).in? %i[include associate] } end
user_included_attributes_to_render()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 57 def user_included_attributes_to_render attrs = user_included_attributes unavailable_attrs = (attrs - resource_class.surrender_callable_attributes) return attrs if unavailable_attrs.empty? raise Error, I18n.t('surrender.error.query_string.include.not_available', param: unavailable_attrs) end
user_included_expansions()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 65 def user_included_expansions local_user_includes.select { |i| attribute_type(i) == :expand } end
user_included_local_expansions_to_render()
click to toggle source
# File lib/rails/surrender/render/configuration/instance_logic.rb, line 69 def user_included_local_expansions_to_render expansions = user_included_expansions unavailable_expansions = (expansions - resource_class.surrender_callable_expands) return expansions if unavailable_expansions.empty? raise Error, I18n.t('surrender.error.query_string.include.not_available', param: unavailable_expansions) end