Sha256: 8daccb48b26cf5895a1cd0dd753851c80f4093f752af6011af6801ba22f4c067

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

require "hanami/cli"
require "zeitwerk"

# @see Hanami::RSpec
# @since 2.0.0
module Hanami
  # RSpec and testing support for Hanami applications.
  #
  # @since 2.0.0
  # @api private
  module RSpec
    # @since 2.0.0
    # @api private
    def self.gem_loader
      @gem_loader ||= Zeitwerk::Loader.new.tap do |loader|
        root = File.expand_path("..", __dir__)
        loader.tag = "hanami-rspec"
        loader.inflector = Zeitwerk::GemInflector.new("#{root}/hanami-rspec.rb")
        loader.push_dir(root)
        loader.ignore(
          "#{root}/hanami-rspec.rb",
          "#{root}/hanami/rspec/{rake_tasks,version}.rb"
        )
        loader.inflector.inflect("rspec" => "RSpec")
      end
    end

    gem_loader.setup
    require_relative "rspec/version"
    require_relative "rspec/rake_tasks"

    if Hanami::CLI.within_hanami_app?
      Hanami::CLI.after "install", Commands::Install
      Hanami::CLI.after "generate slice", Commands::Generate::Slice
      Hanami::CLI.after "generate action", Commands::Generate::Action
      Hanami::CLI.after "generate part", Commands::Generate::Part
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hanami-rspec-2.2.0.rc1 lib/hanami/rspec.rb
hanami-rspec-2.2.0.beta2 lib/hanami/rspec.rb
hanami-rspec-2.2.0.beta1 lib/hanami/rspec.rb
hanami-rspec-2.1.0 lib/hanami/rspec.rb
hanami-rspec-2.1.0.rc2 lib/hanami/rspec.rb
hanami-rspec-2.1.0.rc1 lib/hanami/rspec.rb