Class: RuleSet

Inherits:
Object
  • Object
show all
Defined in:
lib/RuleSet.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(meta_map) ⇒ RuleSet

Returns a new instance of RuleSet.

Parameters:

  • meta_map (Hash)

    The rules to apply to each data type.



23
24
25
26
27
28
29
# File 'lib/RuleSet.rb', line 23

def initialize(meta_map)

  @meta_map = meta_map
  @rules = {}
  @types = Set.new()

end

Instance Attribute Details

#rulesObject

Returns the value of attribute rules.



18
19
20
# File 'lib/RuleSet.rb', line 18

def rules
  @rules
end

Instance Method Details

#resultArray

Get the results of the rules.

Returns:

  • (Array)

    The rules.



69
70
71
72
73
74
75
76
77
78
79
# File 'lib/RuleSet.rb', line 69

def result()

  rules = {}

  @rules.each do |key, rule|
    rules[rule.class] = rule.result()
  end

  return rules

end

#train(meta) ⇒ Object

Train rule set on metadata.

Parameters:

  • meta (Meta)

    The metadata to train on.



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/RuleSet.rb', line 36

def train(meta)

  unless meta.nil? || meta[:type].nil?

    meta_type = meta[:type]
    @types << meta_type

    # Get rule types for this meta type.
    if @meta_map.key? meta_type
      @meta_map[meta_type].each do |rule_type|

        # Ensure rule exists.
        if @rules[rule_type].nil?
          @rules << rule_type.new()
        end

        # Train rule.
        @rules[rule_type].train(meta)

      end
    end

    return self

  end

end