Class: TCellAgent::AppSensorRuleManager
- Inherits:
-
Object
- Object
- TCellAgent::AppSensorRuleManager
- Includes:
- Singleton
- 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 ⇒ AppSensorRuleManager
constructor
A new instance of AppSensorRuleManager.
- #load_default_rules_file ⇒ Object
- #load_rules_file(filename) ⇒ Object
Constructor Details
#initialize ⇒ AppSensorRuleManager
Returns a new instance of AppSensorRuleManager.
12 13 14 15 16 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 12 def initialize @rule_info = {} load_default_rules_file end |
Instance Attribute Details
#rule_info ⇒ Object
Returns the value of attribute rule_info.
10 11 12 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 10 def rule_info @rule_info end |
Instance Method Details
#get_ruleset_for(rule_type) ⇒ Object
43 44 45 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 43 def get_ruleset_for(rule_type) @rule_info.fetch(rule_type, nil) end |
#load_default_rules_file ⇒ Object
18 19 20 21 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 18 def load_default_rules_file filename = File.join(File.dirname(__FILE__), "baserules.json") load_rules_file(filename) end |
#load_rules_file(filename) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/tcell_agent/appsensor/rules/appsensor_rule_manager.rb', line 23 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 |