class ReportsKits::Reports::ModelSettings

Attributes

key[RW]
model_class[RW]
model_configuration_type[RW]

Public Class Methods

new(model_class, model_configuration_type, key) click to toggle source
# File lib/reports_kits/reports/model_settings.rb, line 6
def initialize(model_class, model_configuration_type, key)
  self.model_class = model_class
  self.model_configuration_type = model_configuration_type
  self.key = key
end

Public Instance Methods

settings_from_model() click to toggle source
# File lib/reports_kits/reports/model_settings.rb, line 12
def settings_from_model
  return {} if model_configuration.blank?
  config_hashes = model_configuration.public_send(model_configuration_type)
  return {} if config_hashes.blank?
  config_hash = config_hashes.find do |hash|
    hash[:key] == key
  end
  config_hash || {}
end

Private Instance Methods

model_configuration() click to toggle source
# File lib/reports_kits/reports/model_settings.rb, line 24
def model_configuration
  return unless model_class && model_class.respond_to?(:reports_kit_configuration)
  model_class.reports_kit_configuration
end