class Omniperm::Config

Attributes

config_file[RW]
determine_strategy[RW]
rules[RW]
whitelisted_strategies[RW]

Public Class Methods

new() click to toggle source
# File lib/omniperm/config.rb, line 22
def initialize
  @authorizable_name = 'service'
  # @config_file = "config/#{@authorizable_name}_authorizations.yml" # for multi contexts
  @config_file = 'config/omniperm.yml'
  @whitelisted_strategies = []
  begin
    @rules = YAML.load_file(@config_file)
  rescue
    @rules = {}
  end
  @determine_strategy = -> (obj){
    return "default"
  }
end

Public Instance Methods

__omniperm_determine_strategy(obj) click to toggle source
# File lib/omniperm/config.rb, line 45
def __omniperm_determine_strategy(obj)
  self.instance_exec(obj, &Omniperm.config.determine_strategy)
end
config_file=(config_file) click to toggle source
# File lib/omniperm/config.rb, line 37
def config_file=(config_file)
  @config_file = config_file
  @rules = YAML.load_file(@config_file)
end
determine_strategy=(new_strategy) click to toggle source
# File lib/omniperm/config.rb, line 42
def determine_strategy=(new_strategy)
  @determine_strategy = new_strategy
  Object.class_eval do
    def __omniperm_determine_strategy(obj)
      self.instance_exec(obj, &Omniperm.config.determine_strategy)
    end
  end
end