def apply
      self.client ||= Client.new(to_hash)
      self.cache ||= Cache.new(client, to_hash)
      poller = Poller.new(cache, to_hash)
      process_guard = ProcessGuard.new(cache, poller, to_hash)
      I18n.backend = I18nBackend.new(cache)

      if middleware && development?
        middleware.use RequestSync, :cache => cache
      end

      @applied = true
      logger.info "Client #{VERSION} ready"
      logger.info "Environment Info: #{environment_info}"

      unless test?
        process_guard.start
      end
    end
def apply
      self.client ||= Client.new(to_hash)
      self.cache ||= Cache.new(client, to_hash)
      poller = Poller.new(cache, to_hash)
      process_guard = ProcessGuard.new(cache, poller, to_hash)
      I18n.backend = I18nBackend.new(cache)

      if middleware && development?
        middleware.use RequestSync, :cache => cache
      end

      @applied = true
      logger.info "Client #{VERSION} ready"
      logger.info "Environment Info: #{environment_info}"

      unless test?
        process_guard.start
      end
    end
Applies the configuration (internal).

 Called automatically when {CopycopterClient.configure} is called in the application.

 This creates the {I18nBackend} and puts them together.

 When {#test?} returns +false+, the poller will be started.