Sha256: b837d185ab8017e0ffdde3a02bfb140e65b366fbccafa5e15e225af9b6967c18

Contents?: true

Size: 933 Bytes

Versions: 3

Compression:

Stored size: 933 Bytes

Contents

# frozen_string_literal: true

module Wayfarer
  module CLI
    class Base < Thor
      include Thor::Actions

      def self.source_root
        File.expand_path("templates", __dir__)
      end

    private

      def mock_redis
        Wayfarer.config.redis.factory = ->(_) { MockRedis.new }
      end

      def load_environment
        load_rails || load_plain
      end

      def free_agent_pool
        Wayfarer::Networking::Pool.instance.free
      end

      def load_rails
        begin
          require "rails/app_loader"
        rescue LoadError
          return
        end

        return unless Rails::AppLoader.find_executable

        require File.expand_path("config/application", Dir.pwd)
        require File.expand_path("config/boot", Dir.pwd)
        require File.expand_path("config/environment", Dir.pwd)
      end

      def load_plain
        Wayfarer::CLI::Runner.loader.setup
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
wayfarer-0.4.6 lib/wayfarer/cli/base.rb
wayfarer-0.4.5 lib/wayfarer/cli/base.rb
wayfarer-0.4.4 lib/wayfarer/cli/base.rb