Method: Merit::RankRulesMethods#set_rank

Defined in:
lib/merit/rank_rules_methods.rb

#set_rank(*args, &block) ⇒ Object

Populates defined_rules hash with following hierarchy:

defined_rules[ModelToRank] = { levels => blocks }


14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/merit/rank_rules_methods.rb', line 14

def set_rank(*args, &block)
  options = args.extract_options!

  rule = Rule.new
  rule.block = block
  if options[:level_name].present?
    rule.level_name = "level_#{options[:level_name]}"
  else
    rule.level_name = 'level'
  end

  defined_rules[options[:to]] ||= {}
  defined_rules[options[:to]].merge!(options[:level] => rule)
end