Class: TShield::Configuration

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ Configuration

Returns a new instance of Configuration.



10
11
12
13
14
# File 'lib/tshield/configuration.rb', line 10

def initialize(attributes)
  attributes.each do |key, value|
    send("#{key}=", value)
  end
end

Instance Attribute Details

#domainsObject

Returns the value of attribute domains.



7
8
9
# File 'lib/tshield/configuration.rb', line 7

def domains
  @domains
end

#requestObject

Returns the value of attribute request.



6
7
8
# File 'lib/tshield/configuration.rb', line 6

def request
  @request
end

#session_pathObject



42
43
44
# File 'lib/tshield/configuration.rb', line 42

def session_path
  @session_path || '/sessions'
end

Class Method Details

.singletonObject



16
17
18
# File 'lib/tshield/configuration.rb', line 16

def self.singleton
  @@configuration ||= load_configuration
end

Instance Method Details

#admin_request_pathObject



50
51
52
# File 'lib/tshield/configuration.rb', line 50

def admin_request_path
  @admin_request_path || '/admin/requests'
end

#admin_session_pathObject



46
47
48
# File 'lib/tshield/configuration.rb', line 46

def admin_session_path
  @admin_session_path || '/admin/sessions'
end

#get_domain_for(path) ⇒ Object



20
21
22
23
24
25
# File 'lib/tshield/configuration.rb', line 20

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



35
36
37
# File 'lib/tshield/configuration.rb', line 35

def get_excluded_headers(domain)
  domains[domain]['excluded_headers'] || []
end

#get_headers(domain) ⇒ Object



27
28
29
# File 'lib/tshield/configuration.rb', line 27

def get_headers(domain)
  domains[domain]['headers'] || {}
end

#get_name(domain) ⇒ Object



31
32
33
# File 'lib/tshield/configuration.rb', line 31

def get_name(domain)
  domains[domain]['name'] || domain.gsub(/.*:\/\//, '')
end

#options(path) ⇒ Object



39
40
# File 'lib/tshield/configuration.rb', line 39

def options(path)
end