Module: Consent
- Defined in:
- lib/consent.rb,
lib/consent/dsl.rb,
lib/consent/view.rb,
lib/consent/rspec.rb,
lib/consent/action.rb,
lib/consent/ability.rb,
lib/consent/railtie.rb,
lib/consent/subject.rb,
lib/consent/version.rb,
lib/consent/permission.rb,
lib/consent/permissions.rb,
lib/generators/consent/permissions_generator.rb
Defined Under Namespace
Modules: Rspec
Classes: Ability, Action, DSL, Permission, Permissions, PermissionsGenerator, Railtie, Subject, View
Constant Summary
collapse
- FULL_ACCESS =
%w(1 true).freeze
- VERSION =
'0.3.1'.freeze
Class Method Summary
collapse
Class Method Details
.default_views ⇒ Object
14
15
16
|
# File 'lib/consent.rb', line 14
def self.default_views
@default_views ||= {}
end
|
.define(key, label, options = {}, &block) ⇒ Object
27
28
29
30
31
32
|
# File 'lib/consent.rb', line 27
def self.define(key, label, options = {}, &block)
defaults = options.fetch(:defaults, {})
subjects[key] = Subject.new(key, label).tap do |subject|
DSL.build(subject, defaults, &block)
end
end
|
.load_subjects!(paths) ⇒ Object
22
23
24
25
|
# File 'lib/consent.rb', line 22
def self.load_subjects!(paths)
permission_files = paths.map { |dir| dir.join('*.rb') }
Dir[*permission_files].each(&Kernel.method(:load))
end
|
.permissions(permissions) ⇒ Object
34
35
36
|
# File 'lib/consent.rb', line 34
def self.permissions(permissions)
Permissions.new(permissions)
end
|
.subjects ⇒ Object
18
19
20
|
# File 'lib/consent.rb', line 18
def self.subjects
@subjects ||= {}
end
|