Sha256: e7c0acf663566b786b70b8e5ced55e5f7a2e05c7bc4ee5017e4ffe3b94215a54

Contents?: true

Size: 904 Bytes

Versions: 2

Compression:

Stored size: 904 Bytes

Contents

# frozen_string_literal: true

require 'socket'
require 'timeout'

require 'nonnative/version'
require 'nonnative/error'
require 'nonnative/configuration'
require 'nonnative/process'
require 'nonnative/logger'

module Nonnative
  class << self
    def logger
      @logger ||= Nonnative::Logger.create
    end

    def configuration
      @configuration ||= Nonnative::Configuration.new
    end

    def configure
      yield configuration if block_given?

      require "nonnative/#{configuration.strategy}"
    end

    def start
      @process ||= Nonnative::Process.new(configuration)
      result, pid = @process.start
      return if result

      logger.error('Process has started though did respond in time', pid: pid)
    end

    def stop
      result, pid = @process.stop
      return if result

      logger.error('Process has stopped though did respond in time', pid: pid)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nonnative-0.8.0 lib/nonnative.rb
nonnative-0.7.0 lib/nonnative.rb