class Accessly::PermittedActions::Base
Public Class Methods
new(actors, segment_id)
click to toggle source
# File lib/accessly/permitted_actions/base.rb, line 7 def initialize(actors, segment_id) @actors = actors @segment_id = segment_id end
Protected Instance Methods
find_or_set_value(*keys, &query)
click to toggle source
# File lib/accessly/permitted_actions/base.rb, line 18 def find_or_set_value(*keys, &query) found_value = past_lookups.dig(*keys) if found_value.nil? found_value = query.call set_value(*keys, value: found_value) end found_value end
past_lookups()
click to toggle source
# File lib/accessly/permitted_actions/base.rb, line 14 def past_lookups @_past_lookups ||= {} end
set_value(*keys, value:)
click to toggle source
# File lib/accessly/permitted_actions/base.rb, line 29 def set_value(*keys, value:) lookup = past_lookups keys[0..-2].each do |key| lookup[key] ||= {} lookup = lookup[key] end lookup[keys[-1]] = value end