Module: Qa::Authorities::Local
- Extended by:
- ActiveSupport::Autoload, AuthorityWithSubAuthority
- Defined in:
- lib/qa/authorities/local.rb,
lib/qa/authorities/local/registry.rb
Defined Under Namespace
Classes: FileBasedAuthority, Registry, TableBasedAuthority
Class Method Summary
collapse
new, subauthorities, subauthority_class, subauthority_for, validate_subauthority!
Class Method Details
.config ⇒ Object
9
10
11
|
# File 'lib/qa/authorities/local.rb', line 9
def self.config
@config
end
|
.load_config(file) ⇒ Object
13
14
15
|
# File 'lib/qa/authorities/local.rb', line 13
def self.load_config(file)
@config = YAML.load_file(file)
end
|
.names ⇒ Object
Local sub-authorities are any YAML files in the subauthorities_path
28
29
30
31
32
33
|
# File 'lib/qa/authorities/local.rb', line 28
def self.names
unless Dir.exists? subauthorities_path
raise Qa::ConfigDirectoryNotFound, "There's no directory at #{subauthorities_path}. You must create it in order to use local authorities"
end
Dir.entries(subauthorities_path).map { |f| File.basename(f, ".yml") if f.match(/yml$/) }.compact
end
|
.register_subauthority(subauthority, class_name) ⇒ Object
48
49
50
|
# File 'lib/qa/authorities/local.rb', line 48
def self.register_subauthority(subauthority, class_name)
registry.add(subauthority, class_name)
end
|
.registry ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/qa/authorities/local.rb', line 40
def self.registry
@registry ||= begin
Registry.new do |reg|
register_defaults(reg)
end
end
end
|
.subauthorities ⇒ Object
52
53
54
|
# File 'lib/qa/authorities/local.rb', line 52
def self.subauthorities
registry.keys
end
|
.subauthorities_path ⇒ Object
Path to sub-authority files is either the full path to a directory or the path to a directory relative to the Rails application
19
20
21
22
23
24
25
|
# File 'lib/qa/authorities/local.rb', line 19
def self.subauthorities_path
if config[:local_path].starts_with?(File::Separator)
config[:local_path]
else
File.join(Rails.root, config[:local_path])
end
end
|
.subauthority_for(subauthority) ⇒ Object
35
36
37
38
|
# File 'lib/qa/authorities/local.rb', line 35
def self.subauthority_for(subauthority)
validate_subauthority!(subauthority)
registry.instance_for(subauthority)
end
|