Class: TCellAgent::AppSensorRuleManager
- Inherits:
-
Object
- Object
- TCellAgent::AppSensorRuleManager
- Defined in:
- lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb
Instance Attribute Summary collapse
-
#rule_info ⇒ Object
Returns the value of attribute rule_info.
Instance Method Summary collapse
- #get_ruleset_for(rule_type) ⇒ Object
-
#initialize(filename = nil) ⇒ AppSensorRuleManager
constructor
A new instance of AppSensorRuleManager.
- #load_default_rules_file ⇒ Object
- #load_rules_file(filename) ⇒ Object
Constructor Details
#initialize(filename = nil) ⇒ AppSensorRuleManager
Returns a new instance of AppSensorRuleManager.
9 10 11 12 13 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 9 def initialize(filename=nil) @rule_info = {} load_rules_file(filename) if filename end |
Instance Attribute Details
#rule_info ⇒ Object
Returns the value of attribute rule_info.
7 8 9 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 7 def rule_info @rule_info end |
Instance Method Details
#get_ruleset_for(rule_type) ⇒ Object
40 41 42 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 40 def get_ruleset_for(rule_type) @rule_info.fetch(rule_type, nil) end |
#load_default_rules_file ⇒ Object
15 16 17 18 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 15 def load_default_rules_file filename = File.join(File.dirname(__FILE__), "baserules.json") load_rules_file(filename) end |
#load_rules_file(filename) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 20 def load_rules_file(filename) @rule_info = {} if File.file?(filename) rules_from_file = JSON.parse(File.open(filename).read) rule_types = rules_from_file.fetch("sensors", {}) rule_types.each do |sensor_name, sensor_config| rule_set = AppSensorRuleSet.new() rule_set.set_safe_pattern_from_string(sensor_config.fetch("safe_pattern", nil)) sensor_config.fetch("patterns", []).each do |pattern_config| rule_set.add_pattern_from_dict(pattern_config) end @rule_info[sensor_name] = rule_set end end end |