class Rails::Surrender::Render::Configuration
Container for config structure when rendering or generating the inclusion object.
Container for config structure when rendering or generating the inclusion object.
Container for config structure when rendering or generating the inclusion object.
Constants
- Element
Attributes
ctrl_exclude[RW]
ctrl_include[RW]
history[RW]
reload_resource[RW]
reload_resource?[RW]
resource_class[RW]
user_exclude[RW]
user_include[RW]
Public Class Methods
new( resource_class: nil, reload_resource: false, user_exclude: [], user_include: [], ctrl_exclude: [], ctrl_include: [], history: [] )
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 26 def initialize( resource_class: nil, reload_resource: false, user_exclude: [], user_include: [], ctrl_exclude: [], ctrl_include: [], history: [] ) @resource_class = resource_class @reload_resource = reload_resource @user_exclude = user_exclude.compact @user_include = user_include @ctrl_exclude = ctrl_exclude.compact @ctrl_include = ctrl_include @history = history validate_user_includes! end
Private Instance Methods
attribute_type(attr, klass: resource_class)
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 74 def attribute_type(attr, klass: resource_class) return :expand if klass.reflections.keys.include?(attr.to_s) return :associate if klass.reflections.keys.include?(attr.to_s.sub('_ids', '').pluralize) return :include if klass.attribute_names.include?(attr.to_s) return :include if klass.instance_methods.include?(attr) :none end
invalid_local_user_includes()
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 54 def invalid_local_user_includes local_user_includes.select { |include| attribute_type(include) == :none } end
local_ctrl_excludes()
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 58 def local_ctrl_excludes top_level_keys_from(ctrl_exclude) end
local_ctrl_includes()
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 62 def local_ctrl_includes top_level_keys_from(ctrl_include) end
local_user_excludes()
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 66 def local_user_excludes top_level_keys_from(user_exclude) end
local_user_includes()
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 70 def local_user_includes top_level_keys_from(user_include) end
next_level_asks_from(list)
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 87 def next_level_asks_from(list) list.select { |x| x.is_a? Hash }.reduce({}, :merge).symbolize_keys end
top_level_keys_from(list)
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 83 def top_level_keys_from(list) list.map { |x| x.is_a?(Hash) ? x.keys : x }.flatten.map(&:to_sym).uniq end
validate_user_includes!()
click to toggle source
# File lib/rails/surrender/render/configuration.rb, line 48 def validate_user_includes! return if invalid_local_user_includes.empty? raise Error, I18n.t('surrender.error.query_string.include.not_available', param: invalid_local_user_includes) end