Sha256: 077358aa4af57a8b5e8ea19fc21a456bd59a6780a0dc688d883a18c7e6ba09cb
Contents?: true
Size: 1.99 KB
Versions: 2
Compression:
Stored size: 1.99 KB
Contents
module PolicyManager class Config mattr_accessor :exporter, :from_email, :is_admin_method, :logout_url, :user_language_method, :scripts, :admin_email_inbox, :error_notifier, :user_resource, :admin_user_resource, :paperclip def self.setup @@rules = [] @@portability_rules = [] @@portability_templates = [] @@scripts = [] yield self # sets this defaults after configuration @@user_resource ||= 'User' @@admin_user_resource ||= @@user_resource self end def self.error_notifier_method(error) puts error @@error_notifier.call(error) unless @@error_notifier.blank? end def self.admin_email(user) @@admin_email_inbox.is_a?(Proc) ? @@admin_email_inbox.call(user) : @@admin_email_inbox end def self.exporter=(opts) @@exporter = Exporter.new(opts) end def self.is_admin?(user) if has_different_admin_user_resource? user.is_a? admin_user_resource else raise Rails.logger.error("GDPR ERROR! please add is_admin_method to your gdpr initializer") if @@is_admin_method.blank? @@is_admin_method.call(user) end end def self.has_different_admin_user_resource? user_resource != admin_user_resource end def self.user_language(user) @@user_language_method.call(user) rescue :en end def self.rules @@rules ||= [] end def self.portability_rules @@portability_rules ||= [] end def self.add_rule(opts={}, &block) @@rules << PolicyManager::Rule.new(opts, &block) end def self.add_portability_rule(opts={}, &block) @@portability_rules << PolicyManager::PortabilityRule.new(opts, &block) end def self.add_script(opts={}, &block) @@scripts << PolicyManager::Script.new(opts, &block) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gdpr_rails-0.5.1 | lib/policy_manager/config.rb |
gdpr_rails-0.5.0 | lib/policy_manager/config.rb |