Module: Qa::Authorities::Local
- Extended by:
- ActiveSupport::Autoload, AuthorityWithSubAuthority
- Defined in:
- lib/qa/authorities/local.rb,
lib/qa/authorities/local/registry.rb,
lib/qa/authorities/local/mysql_table_based_authority.rb
Defined Under Namespace
Classes: FileBasedAuthority, MysqlTableBasedAuthority, Registry, TableBasedAuthority
Class Method Summary
collapse
new, subauthorities, subauthority_class, subauthority_for, validate_subauthority!
Class Method Details
.config ⇒ Object
10
11
12
|
# File 'lib/qa/authorities/local.rb', line 10
def self.config
@config
end
|
.load_config(file) ⇒ Object
14
15
16
|
# File 'lib/qa/authorities/local.rb', line 14
def self.load_config(file)
@config = YAML.load_file(file)
end
|
.names ⇒ Object
Local sub-authorities are any YAML files in the subauthorities_path
29
30
31
32
33
34
|
# File 'lib/qa/authorities/local.rb', line 29
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
49
50
51
|
# File 'lib/qa/authorities/local.rb', line 49
def self.register_subauthority(subauthority, class_name)
registry.add(subauthority, class_name)
end
|
.registry ⇒ Object
41
42
43
44
45
46
47
|
# File 'lib/qa/authorities/local.rb', line 41
def self.registry
@registry ||= begin
Registry.new do |reg|
register_defaults(reg)
end
end
end
|
.subauthorities ⇒ Object
53
54
55
|
# File 'lib/qa/authorities/local.rb', line 53
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
20
21
22
23
24
25
26
|
# File 'lib/qa/authorities/local.rb', line 20
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
36
37
38
39
|
# File 'lib/qa/authorities/local.rb', line 36
def self.subauthority_for(subauthority)
validate_subauthority!(subauthority)
registry.instance_for(subauthority)
end
|