Class: Fleck::Configuration

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/fleck/configuration.rb', line 8

def initialize
  @logfile       = STDOUT
  @loglevel      = ::Logger::INFO
  @progname      = "Fleck"
  @default_host  = "127.0.0.1"
  @default_port  = 5672
  @default_user  = nil
  @default_pass  = nil
  @default_vhost = "/"
  @default_queue = "default"
end

Instance Attribute Details

#default_hostObject

Returns the value of attribute default_host.



6
7
8
# File 'lib/fleck/configuration.rb', line 6

def default_host
  @default_host
end

#default_passObject

Returns the value of attribute default_pass.



6
7
8
# File 'lib/fleck/configuration.rb', line 6

def default_pass
  @default_pass
end

#default_portObject

Returns the value of attribute default_port.



6
7
8
# File 'lib/fleck/configuration.rb', line 6

def default_port
  @default_port
end

#default_queueObject

Returns the value of attribute default_queue.



6
7
8
# File 'lib/fleck/configuration.rb', line 6

def default_queue
  @default_queue
end

#default_userObject

Returns the value of attribute default_user.



6
7
8
# File 'lib/fleck/configuration.rb', line 6

def default_user
  @default_user
end

#default_vhostObject

Returns the value of attribute default_vhost.



6
7
8
# File 'lib/fleck/configuration.rb', line 6

def default_vhost
  @default_vhost
end

#logfileObject

Returns the value of attribute logfile.



5
6
7
# File 'lib/fleck/configuration.rb', line 5

def logfile
  @logfile
end

#loglevelObject

Returns the value of attribute loglevel.



5
6
7
# File 'lib/fleck/configuration.rb', line 5

def loglevel
  @loglevel
end

#prognameObject

Returns the value of attribute progname.



5
6
7
# File 'lib/fleck/configuration.rb', line 5

def progname
  @progname
end

Instance Method Details

#default_optionsObject



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fleck/configuration.rb', line 20

def default_options
  opts = {}
  opts[:host]  = @default_host
  opts[:port]  = @default_port
  opts[:user]  = @default_user
  opts[:pass]  = @default_pass
  opts[:vhost] = @default_vhost
  opts[:queue] = @default_queue

  return opts
end

#formatterObject



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/fleck/configuration.rb', line 85

def formatter
  return @formatter if @formatter

  @formatter = proc do |severity, datetime, progname, msg|
    color = :blue
    case severity
    when 'DEBUG'
      color = "#512DA8"
    when 'INFO'
      color = "#33691E"
    when 'WARN'
      color = "#E65100"
    when 'ERROR', 'FATAL'
      color = "#B71C1C"
    else
      color = "#00BCD4"
    end
    "[#{datetime.strftime('%F %T.%L')}]".color(:cyan) + (progname ? " #{progname}".color(:yellow) : "") + " #{severity} ".color(color) + "#{msg}\n"
  end

  return @formatter
end

#loggerObject



55
56
57
# File 'lib/fleck/configuration.rb', line 55

def logger
  return @logger || reset_logger
end

#logger=(new_logger) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/fleck/configuration.rb', line 59

def logger=(new_logger)
  if new_logger.nil?
    @logger.close
    @logger = ::Logger.new(nil)
  else
    @logger.close
    @logger = new_logger.clone
    @logger.formatter = formatter
    @logger.progname  = @progname
    @logger.level     = @loglevel
  end

  return @logger
end

#reset_loggerObject



74
75
76
77
78
79
80
81
82
83
# File 'lib/fleck/configuration.rb', line 74

def reset_logger
  new_logger = ::Logger.new(@logfile)
  new_logger.formatter = formatter
  new_logger.progname  = @progname
  new_logger.level     = @loglevel
  @logger.close if @logger
  @logger = new_logger

  return @logger
end