Class: Trainspotter::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/trainspotter/configuration.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.setting(name, default: nil, &block) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/trainspotter/configuration.rb', line 4

def setting(name, default: nil, &block)
  attr_writer name

  ivar = :"@#{name}"
  define_method(name) do
    unless instance_variable_defined?(ivar)
      instance_variable_set(ivar, block ? instance_eval(&block) : default)
    end
    instance_variable_get(ivar)
  end
end

Instance Method Details

#available_log_filesObject



52
53
54
# File 'lib/trainspotter/configuration.rb', line 52

def available_log_files
  Dir.glob(File.join(log_directory, "*.log")).map { |f| File.basename(f) }.sort
end

#default_log_fileObject



56
57
58
# File 'lib/trainspotter/configuration.rb', line 56

def default_log_file
  "#{Rails.env}.log"
end

#filter_request?(path) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/trainspotter/configuration.rb', line 60

def filter_request?(path)
  filtered_paths.any? { |pattern| pattern.match?(path) }
end

#internal_request?(request) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/trainspotter/configuration.rb', line 64

def internal_request?(request)
  request.controller&.start_with?("Trainspotter::")
end