module Card::Rule::All
rule-related Card
instance methods
Public Instance Methods
preference(setting_code, user=nil)
click to toggle source
# File lib/card/rule/all.rb, line 17 def preference setting_code, user=nil preference_card(setting_code, user, skip_modules: true)&.db_content end
preference?()
click to toggle source
# File lib/card/rule/all.rb, line 42 def preference? name.parts.length > 2 && (Card.fetch_type_id(name.right) == SettingID) && (Card.fetch_type_id(name[0..-3]) == SetID) && valid_preferer? end
preference_card(setting_code, user=nil, options={})
click to toggle source
# File lib/card/rule/all.rb, line 21 def preference_card setting_code, user=nil, options={} Card.fetch preference_card_id(setting_code, user), options end
preference_card_id(setting_code, user=nil)
click to toggle source
# File lib/card/rule/all.rb, line 25 def preference_card_id setting_code, user=nil return unless (user_id = preference_user_id user) rule_id_lookup Card::Rule.preference_cache, "#{setting_code}+#{user_id}", "#{setting_code}+#{AllID}" end
rule(setting_code)
click to toggle source
# File lib/card/rule/all.rb, line 5 def rule setting_code rule_card(setting_code, skip_modules: true)&.db_content end
rule?()
click to toggle source
# File lib/card/rule/all.rb, line 33 def rule? standard_rule? || preference? end
rule_card(setting_code, options={})
click to toggle source
# File lib/card/rule/all.rb, line 9 def rule_card setting_code, options={} Card.fetch rule_card_id(setting_code), options end
rule_card_id(setting_code)
click to toggle source
# File lib/card/rule/all.rb, line 13 def rule_card_id setting_code rule_id_lookup Card::Rule.rule_cache, setting_code end
standard_rule?()
click to toggle source
# File lib/card/rule/all.rb, line 37 def standard_rule? (Card.fetch_type_id(name.right) == SettingID) && (Card.fetch_type_id(name.left) == SetID) end
Private Instance Methods
preference_user_id(user)
click to toggle source
# File lib/card/rule/all.rb, line 56 def preference_user_id user case user when Integer then user when Card then user.id when nil then Auth.current_id else raise Card::ServerError, "invalid preference user" end end
rule_id_lookup(lookup_hash, cache_suffix, fallback_suffix=nil)
click to toggle source
# File lib/card/rule/all.rb, line 66 def rule_id_lookup lookup_hash, cache_suffix, fallback_suffix=nil rule_lookup_keys.each do |lookup_key| rule_id = lookup_hash["#{lookup_key}+#{cache_suffix}"] rule_id ||= fallback_suffix && lookup_hash["#{lookup_key}+#{fallback_suffix}"] return rule_id if rule_id end nil end
valid_preferer?()
click to toggle source
# File lib/card/rule/all.rb, line 51 def valid_preferer? preferer = self[-2, skip_modules: true] (preferer.type_id == UserID) || (preferer.codename == :all) end