Module: RequestInfo

Defined in:
lib/request_info/results.rb,
lib/request_info.rb,
lib/request_info/geoip.rb,
lib/request_info/railtie.rb,
lib/request_info/version.rb,
lib/request_info/detector_app.rb,
lib/request_info/env_analyzer.rb,
lib/request_info/configuration.rb,
lib/request_info/detectors/ip_detector.rb,
lib/request_info/detectors/locale_detector.rb,
lib/request_info/detectors/browser_detector.rb,
lib/request_info/detectors/timezone_detector.rb

Overview

Detects IP related information

Defined Under Namespace

Modules: Detectors Classes: Configuration, DetectorApp, EnvAnalyzer, GeoIP, Railtie, Results

Constant Summary collapse

CONFIGURATION_MUTEX =
Mutex.new
VERSION =
"0.3.0".freeze

Class Method Summary collapse

Class Method Details

.configurationObject



38
39
40
41
# File 'lib/request_info.rb', line 38

def configuration
  configure if @configuration.nil?
  @configuration
end

.configureObject



29
30
31
32
33
34
35
36
# File 'lib/request_info.rb', line 29

def configure
  CONFIGURATION_MUTEX.synchronize do
    @mutable_configuration ||= Configuration.new
    yield @mutable_configuration if block_given?
    @configuration = @mutable_configuration.dup.tap(&:freeze)
  end
  nil
end

.preloadObject



43
44
45
# File 'lib/request_info.rb', line 43

def preload
  GeoIP.instance
end

.resultsObject

Get detection results



19
20
21
22
# File 'lib/request_info.rb', line 19

def results
  Thread.current[:request_info_results] ||=
    RequestInfo::Results.new
end

.results=(value) ⇒ Object

Set results



25
26
27
# File 'lib/request_info.rb', line 25

def results=(value)
  Thread.current[:request_info_results] = value
end