Module: Speedup

Defined in:
lib/speedup-rails.rb,
lib/speedup/request.rb,
lib/speedup/version.rb,
lib/speedup/middleware.rb,
lib/speedup/controller_helpers.rb,
lib/speedup/collectors/collector.rb,
lib/speedup/collectors/bullet_collector.rb,
lib/speedup/collectors/queries_collector.rb,
lib/speedup/collectors/request_collector.rb,
lib/speedup/collectors/partials_collector.rb,
lib/speedup/collectors/rubyprof_collector.rb,
lib/speedup/collectors/miniprofiler_collector.rb

Defined Under Namespace

Modules: Collectors, ControllerHelpers Classes: Middleware, Request

Constant Summary collapse

VERSION =
"0.0.15"

Class Method Summary collapse

Class Method Details

.adapterObject



10
11
12
# File 'lib/speedup-rails.rb', line 10

def self.adapter
  @adapter
end

.adapter=(*adapter_options) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/speedup-rails.rb', line 14

def self.adapter=(*adapter_options)
  adapter, *parameters = *Array.wrap(adapter_options).flatten

  @adapter = case adapter
  when Symbol
    adapter_class_name = adapter.to_s.camelize
    adapter_class =
      begin
        require "speedup/adapters/#{adapter}"
      rescue LoadError => e
        raise "Could not find adapter for #{adapter} (#{e})"
      else
        Speedup::Adapters.const_get(adapter_class_name)
      end
    adapter_class.new(*parameters)
  when nil
    Speedup::Adapters::Memory.new
  else
    adapter
  end

  @adapter
end

.automount=(value) ⇒ Object



85
86
87
# File 'lib/speedup-rails.rb', line 85

def self.automount=(value)
  @automount = !!value
end

.automount?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/speedup-rails.rb', line 89

def self.automount?
  !!@automount
end

.collector_optionsObject



55
56
57
# File 'lib/speedup-rails.rb', line 55

def self.collector_options
  @collector_options ||= {}
end

.collectorsObject



105
106
107
# File 'lib/speedup-rails.rb', line 105

def self.collectors
  @collectors
end

.collectors=(collectors) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/speedup-rails.rb', line 59

def self.collectors=(collectors)
  collector_names = Array.wrap(collectors).map do |collector|
    if collector.is_a?(Hash)
      collector_name = collector.keys.first
      collector_options[collector_name] = collector[collector_name]
      collector_name
    else
      collector
    end
  end.uniq

  @collector_classes = collector_names.map do |collector_name|
    collector_class_name = collector_name.to_s.camelize + 'Collector'
    require "speedup/collectors/#{collector_name}_collector"
    Speedup::Collectors.const_get(collector_class_name)
  end
end

.cssObject



97
98
99
# File 'lib/speedup-rails.rb', line 97

def self.css
  @css || {}
end

.css=(value) ⇒ Object



93
94
95
# File 'lib/speedup-rails.rb', line 93

def self.css=(value)
  @css = value
end

.enabled?Boolean

Returns:

  • (Boolean)


38
39
40
41
# File 'lib/speedup-rails.rb', line 38

def self.enabled?
  # ['development', 'staging'].include?(Rails.env)
  !@temporary_disabled && !defined?(Rails::Console) && File.basename($0) != "rake"
end

.prepare_collectorsObject



101
102
103
# File 'lib/speedup-rails.rb', line 101

def self.prepare_collectors
  @collectors = @collector_classes.map{|col_kls| col_kls.new(collector_options[col_kls.key] || {}) }
end

.profile(&block) ⇒ Object



109
110
111
112
113
# File 'lib/speedup-rails.rb', line 109

def self.profile(&block)
  @rubyprof ||= @collectors.detect{|c| c.key == :rubyprof}
  raise "You need to enable rubyprof collector to profile!" unless @rubyprof
  @rubyprof.profile(&block)
end

.requestObject



51
52
53
# File 'lib/speedup-rails.rb', line 51

def self.request
  Thread.current[:speedup_rails]
end

.setup_request(request_id) ⇒ Object



47
48
49
# File 'lib/speedup-rails.rb', line 47

def self.setup_request(request_id)
  Thread.current[:speedup_rails] = Speedup::Request.new(request_id)
end

.show_bar=(value) ⇒ Object



77
78
79
# File 'lib/speedup-rails.rb', line 77

def self.show_bar=(value)
  @show_bar = !!value
end

.show_bar?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/speedup-rails.rb', line 81

def self.show_bar?
  !!@show_bar
end

.temporary_disabled=(val) ⇒ Object



43
44
45
# File 'lib/speedup-rails.rb', line 43

def self.temporary_disabled=(val)
  @temporary_disabled = !!val
end