Module: Pechkin

Defined in:
lib/pechkin.rb,
lib/pechkin/api.rb,
lib/pechkin/cli.rb,
lib/pechkin/config.rb,
lib/pechkin/channel.rb,
lib/pechkin/message.rb,
lib/pechkin/version.rb,
lib/pechkin/connector.rb

Overview

:nodoc:

Defined Under Namespace

Modules: CLI, Generator, Helpers, Version Classes: Chanel, Config, Connector, Message, PechkinAPI, SlackConnector, TelegramConnector

Class Method Summary collapse

Class Method Details

.create(config) ⇒ Object



100
101
102
# File 'lib/pechkin/api.rb', line 100

def create(config)
  Class.new(PechkinAPI).configure(config)
end

.runObject



13
14
15
16
17
18
19
20
21
22
# File 'lib/pechkin.rb', line 13

def run
  options = CLI.parse(ARGV)
  configuration = Config.new(options.config_file)
  setup_logging(options.log_dir) if options.log_dir
  app = Pechkin.create(configuration)
  PechkinAPI.logger.info 'Starting pechkin service...'
  Rack::Server.start(app: app,
                     Port: options.port || configuration.port,
                     pid: options.pid_file)
end

.setup_logging(log_dir) ⇒ Object



24
25
26
27
28
29
# File 'lib/pechkin.rb', line 24

def setup_logging(log_dir)
  logger = ::Logger.new(File.join(log_dir, 'pechkin.log'), 'daily')
  logger.level = ::Logger::INFO

  PechkinAPI.logger = logger
end