Module: Pingr

Defined in:
lib/pingr.rb,
lib/pingr/request.rb,
lib/pingr/version.rb,
lib/pingr/search_engines/base.rb,
lib/pingr/search_engines/bing.rb,
lib/pingr/search_engines/google.rb

Defined Under Namespace

Modules: SearchEngines Classes: PingrError, Request

Constant Summary collapse

VERSION =
'0.2.3'

Class Method Summary collapse

Class Method Details

.loggerObject

A custom logger to keep track of the Pings

Returns:

  • a Logger object. By default, the log clears itself every week



43
44
45
46
47
48
49
# File 'lib/pingr.rb', line 43

def self.logger
  @logger ||= if defined?(Rails)
    Rails.logger
  else
    Logger.new(logger_name, shift_age = 'weekly')
  end
end

.logger=(_logger) ⇒ Object

Sets the logger to be used. If the developer would like to use their own custom logger, let 'em.



53
54
55
# File 'lib/pingr.rb', line 53

def self.logger=(_logger)
  @logger = _logger
end

.logger_nameObject (private)

Private: The name of the Logger used by Pingr. If we've detected a Rails app, sets up a log file in the log directory. Otherwise, use STDOUT

Returns:

  • a String with the logger name or an IO object



64
65
66
67
68
69
70
# File 'lib/pingr.rb', line 64

def self.logger_name
  if defined?(Rails)
    Rails.root.join('log', "#{Rails.env}.log").to_s
  else
    STDOUT
  end
end

.modeObject

The mode Pingr is running in

Returns:

  • a Symbol either :test or :live



30
31
32
33
34
35
36
37
38
# File 'lib/pingr.rb', line 30

def self.mode
  @mode ||= begin
    if defined?(Rails) && Rails.env.production?
      :live
    else
      :test
    end
  end
end

.mode=(mode_name) ⇒ Object

Set the mode Pingr is running in

Parameters:

  • mode_name

    A Symbol or String value for the mode. Must be one of :test or :live

Raises:

  • PingrError if an invalid value is passed



19
20
21
22
23
24
25
# File 'lib/pingr.rb', line 19

def self.mode=(mode_name)
  unless mode_name.to_s =~ /test|live/
    raise PingrError, "Unknown mode: #{mode_name}"
  end

  @mode = mode_name.to_sym
end