module Paf::Premises

Determine which premises rule is applicable

Public Class Methods

extended(base) click to toggle source
# File lib/paf/premises.rb, line 8
def self.extended(base)
  base.extend_premises_rule
end

Public Instance Methods

extend_premises_rule() click to toggle source
# File lib/paf/premises.rb, line 12
def extend_premises_rule
  require premises_rule_filename
  extend premises_rule_module
end

Private Instance Methods

premises_rule_filename() click to toggle source
# File lib/paf/premises.rb, line 19
def premises_rule_filename
  "paf/premises/rule#{rule_key}"
end
premises_rule_module() click to toggle source
# File lib/paf/premises.rb, line 23
def premises_rule_module
  Kernel.const_get("Paf::Premises::Rule#{rule_key}")
end
rule_key() click to toggle source
# File lib/paf/premises.rb, line 27
def rule_key
  self.class.premises_attrs.map { |attr| send(attr).vacant? ? 0 : 1 }.join
end