class SimpleActivity::Rule

Public Class Methods

get_rules(target_type, rules_set=nil) click to toggle source

Get a set of rules for specific target, action, and type. The type is normally “cache”. It can also be other things once needed in external libs.

@param target [String] model class name as string. e.g. “Article”

@param rules_set [String] the specific set to get. Default nil

  • get all rules.

@return set of rule when matched. Returns nil when unmatching

# File lib/simple_activity/rule.rb, line 14
def self.get_rules(target_type, rules_set=nil)
  rules = all_rules.try(:[], target_type)
  rules_set ? rules.try(:[], rules_set) : rules
end

Private Class Methods

all_rules() click to toggle source
# File lib/simple_activity/rule.rb, line 21
def self.all_rules
  @@_all_rules ||= load_rules
end
load_rules() click to toggle source

@return rules or blank array

# File lib/simple_activity/rule.rb, line 26
def self.load_rules
  File.open("#{Rails.root}/app/models/activity/rules.yml") do |rules|
    YAML.load rules || []
  end
end