Module: Flipside::Keys

Defined in:
app/models/flipside/keys.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
10
# File 'app/models/flipside/keys.rb', line 7

def self.included(base)
  validate_roles! base
  base.add_check { |key| enabled_for? key.to_s }
end

.validate_roles!(base) ⇒ Object



12
13
14
15
# File 'app/models/flipside/keys.rb', line 12

def self.validate_roles!(base)
  return if base.ancestors.include? Roles
  raise "Internal error in Flipside: Roles module has not been loaded"
end

Instance Method Details

#enabled_for?(key) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
23
24
# File 'app/models/flipside/keys.rb', line 17

def enabled_for?(key)
  return false if key.blank?

  roles.where(
    class_name: Key::KEY_CLASS,
    method: key
  ).exists?
end