Class: TShield::Configuration
- Inherits:
-
Object
- Object
- TShield::Configuration
- Defined in:
- lib/tshield/configuration.rb
Instance Attribute Summary collapse
-
#domains ⇒ Object
Returns the value of attribute domains.
-
#request ⇒ Object
Returns the value of attribute request.
- #session_path ⇒ Object
-
#tcp_servers ⇒ Object
Returns the value of attribute tcp_servers.
Class Method Summary collapse
Instance Method Summary collapse
- #admin_request_path ⇒ Object
- #admin_session_path ⇒ Object
- #cache_request?(domain) ⇒ Boolean
- #get_after_filters(domain) ⇒ Object
- #get_before_filters(domain) ⇒ Object
- #get_domain_for(path) ⇒ Object
- #get_excluded_headers(domain) ⇒ Object
- #get_filters(domain) ⇒ Object
- #get_headers(domain) ⇒ Object
- #get_name(domain) ⇒ Object
-
#initialize(attributes) ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize(attributes) ⇒ Configuration
Returns a new instance of Configuration.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/tshield/configuration.rb', line 14 def initialize(attributes) attributes.each do |key, value| send("#{key}=", value) end if File.exists?('filters') Dir.entries('filters').each do |entry| next if entry =~ /^\.\.?$/ puts "loading filter #{entry}" entry.gsub!('.rb', '') require File.join('.', 'filters', entry) end end end |
Instance Attribute Details
#domains ⇒ Object
Returns the value of attribute domains.
10 11 12 |
# File 'lib/tshield/configuration.rb', line 10 def domains @domains end |
#request ⇒ Object
Returns the value of attribute request.
9 10 11 |
# File 'lib/tshield/configuration.rb', line 9 def request @request end |
#session_path ⇒ Object
72 73 74 |
# File 'lib/tshield/configuration.rb', line 72 def session_path @session_path || '/sessions' end |
#tcp_servers ⇒ Object
Returns the value of attribute tcp_servers.
11 12 13 |
# File 'lib/tshield/configuration.rb', line 11 def tcp_servers @tcp_servers end |
Class Method Details
.singleton ⇒ Object
29 30 31 |
# File 'lib/tshield/configuration.rb', line 29 def self.singleton @@configuration ||= load_configuration end |
Instance Method Details
#admin_request_path ⇒ Object
80 81 82 |
# File 'lib/tshield/configuration.rb', line 80 def admin_request_path @admin_request_path || '/admin/requests' end |
#admin_session_path ⇒ Object
76 77 78 |
# File 'lib/tshield/configuration.rb', line 76 def admin_session_path @admin_session_path || '/admin/sessions' end |
#cache_request?(domain) ⇒ Boolean
58 59 60 61 |
# File 'lib/tshield/configuration.rb', line 58 def cache_request?(domain) return true unless domains[domain].include?('cache_request') domains[domain]['cache_request'] end |
#get_after_filters(domain) ⇒ Object
53 54 55 56 |
# File 'lib/tshield/configuration.rb', line 53 def get_after_filters(domain) get_filters(domain) .select { |k| k.ancestors.include?(TShield::AfterFilter) } end |
#get_before_filters(domain) ⇒ Object
48 49 50 51 |
# File 'lib/tshield/configuration.rb', line 48 def get_before_filters(domain) get_filters(domain) .select { |k| k.ancestors.include?(TShield::BeforeFilter) } end |
#get_domain_for(path) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/tshield/configuration.rb', line 33 def get_domain_for(path) domains.each do |url, config| config['paths'].each { |p| return url if path =~ Regexp.new(p) } end nil end |
#get_excluded_headers(domain) ⇒ Object
68 69 70 |
# File 'lib/tshield/configuration.rb', line 68 def get_excluded_headers(domain) domains[domain]['excluded_headers'] || [] end |
#get_filters(domain) ⇒ Object
63 64 65 66 |
# File 'lib/tshield/configuration.rb', line 63 def get_filters(domain) (domains[domain]['filters'] || []) .collect { |f| Class.const_get(f) } end |
#get_headers(domain) ⇒ Object
40 41 42 |
# File 'lib/tshield/configuration.rb', line 40 def get_headers(domain) domains[domain]['headers'] || {} end |
#get_name(domain) ⇒ Object
44 45 46 |
# File 'lib/tshield/configuration.rb', line 44 def get_name(domain) domains[domain]['name'] || domain.gsub(/.*:\/\//, '') end |