class ModelsAuditor::Config
Constants
- CONFIG_OPTIONS
Public Class Methods
new()
click to toggle source
# File lib/models_auditor/config.rb, line 20 def initialize @indexed_relations = [] end
Public Instance Methods
default()
click to toggle source
# File lib/models_auditor/config.rb, line 24 def default @default ||= { audit_enabled: { config: '%w(staging production).include?(Rails.env)', val: true }, connection_namespace: { config: "'audit'", val: 'audit' }, audit_records_table_name: { config: "'audit_records'", val: 'audit_records' }, audit_requests_table_name: { config: "'audit_requests'", val: 'audit_requests' }, audit_migrations_dir: { config: "'audit_migrate'", val: 'audit_migrate' }, logger: { config: "Logger.new(Rails.root.join('log', 'models_auditor.log'))", val: Logger.new(Rails.root.join('log', 'models_auditor.log')) }, records_per_page: { config: '10', val: 10 }, fake_total_count: { config: 'true', val: true }, audit_controller_base: { config: "'ModelsAuditor::AuditBaseController'", val: 'ModelsAuditor::AuditBaseController' }, respond_to_json_enabled: { config: 'true', val: true }, respond_to_html_enabled: { config: 'false', val: false }, json_response_data_key: { config: "'entries'", val: 'entries' }, json_response_meta_key: { config: "'meta'", val: 'meta' }, log_output_formatter: { config: "'ModelsAuditor::DefaultFormatter'", val: 'ModelsAuditor::DefaultFormatter' }, } end
method_missing(method_sym, *args)
click to toggle source
Calls superclass method
# File lib/models_auditor/config.rb, line 85 def method_missing(method_sym, *args) method_name = method_sym.to_s option_name = method_name.tr('=', '') super if CONFIG_OPTIONS.exclude?(option_name.to_sym) if method_name =~ /^.*=$/ raise ArgumentError.new('Incorrect number of arguments') if args.size != 1 instance_variable_set("@#{option_name}", args[0]) unless ModelsAuditor.configured? else var_name = "@#{option_name}" instance_variable_defined?(var_name) ? instance_variable_get(var_name) : default[option_name.to_sym].try(:[], :val) end end