class ReportsKit::Configuration

Constants

DEFAULT_PROPERTIES_METHOD

Attributes

autocomplete_results_method[RW]
cache_duration[RW]
cache_store[RW]
context_record_method[RW]
custom_methods[RW]
default_dimension_limit[RW]
default_properties[RW]
first_day_of_week[RW]
modify_context_params_method[RW]
properties_method[RW]
report_filename_method[RW]
use_concurrent_queries[RW]

Public Class Methods

new() click to toggle source
# File lib/reports_kit/configuration.rb, line 12
def initialize
  self.autocomplete_results_method = nil
  self.cache_duration = 5.minutes
  self.cache_store = nil
  self.custom_methods = {}
  self.default_dimension_limit = 30
  self.default_properties = nil
  self.first_day_of_week = :sunday
  self.modify_context_params_method = nil
  self.properties_method = DEFAULT_PROPERTIES_METHOD
  self.report_filename_method = nil
  self.use_concurrent_queries = false
end

Public Instance Methods

context_record(context) click to toggle source
# File lib/reports_kit/configuration.rb, line 45
def context_record(context)
  return unless context_record_method
  context.instance_eval(&context_record_method)
end
context_record_method=(context_record_method) click to toggle source
# File lib/reports_kit/configuration.rb, line 39
def context_record_method=(context_record_method)
  warn "[DEPRECATION] `context_record_method` is deprecated. Please use contextual filters instead: https://www.reportskit.co/subcategories/contextual_filters"

  @context_record_method = context_record_method
end
custom_method(method_name) click to toggle source
# File lib/reports_kit/configuration.rb, line 26
def custom_method(method_name)
  return if method_name.blank?
  method = evaluated_custom_methods[method_name.to_sym]
  raise ArgumentError.new("A method named '#{method_name}' is not defined") unless method
  method
end
evaluated_custom_methods() click to toggle source
# File lib/reports_kit/configuration.rb, line 33
def evaluated_custom_methods
  return custom_methods if custom_methods.is_a?(Hash)
  return custom_methods.call if custom_methods.is_a?(Proc)
  raise ArgumentError.new("Invalid type for custom_methods configuration: #{custom_methods.class}")
end