Module: EacRubyGemSupport::Rspec::Setup

Extended by:
ActiveSupport::Concern
Defined in:
lib/eac_ruby_gem_support/rspec/setup.rb,
lib/eac_ruby_gem_support/rspec/setup/rubocop.rb

Defined Under Namespace

Modules: Rubocop

Constant Summary collapse

SETUPS =
%w[load_path example_persistence filesystem_helper shared_examples rubocop].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(setup_obj) ⇒ Object



12
13
14
# File 'lib/eac_ruby_gem_support/rspec/setup.rb', line 12

def self.extended(setup_obj)
  SETUPS.each { |s| setup_obj.send("setup_#{s}") }
end

Instance Method Details

#example_persistence_pathPathname

Returns:

  • (Pathname)


36
37
38
# File 'lib/eac_ruby_gem_support/rspec/setup.rb', line 36

def example_persistence_path
  root_tmp.join('example_status_persistence')
end

#root_tmpPathname

The root directory for temporary files.

Returns:

  • (Pathname)


42
43
44
45
46
47
# File 'lib/eac_ruby_gem_support/rspec/setup.rb', line 42

def root_tmp
  r = ::Pathname.new(::Dir.tmpdir)
        .join("#{app_root_path.expand_path.to_path.variableize}_specs_tmp")
  r.mkpath unless r.exist?
  r
end

#setup_example_persistenceObject



26
27
28
# File 'lib/eac_ruby_gem_support/rspec/setup.rb', line 26

def setup_example_persistence
  rspec_config.example_status_persistence_file_path = example_persistence_path.to_path
end

#setup_filesystem_helperObject



16
17
18
19
20
# File 'lib/eac_ruby_gem_support/rspec/setup.rb', line 16

def setup_filesystem_helper
  rspec_config.include ::EacRubyGemSupport::Rspec::Helpers::Filesystem
  rspec_config.include ::EacRubyGemSupport::Rspec::Helpers::Utils
  rspec_config.after(:each) { purge_temp_files }
end

#setup_load_pathObject



22
23
24
# File 'lib/eac_ruby_gem_support/rspec/setup.rb', line 22

def setup_load_path
  $LOAD_PATH.push app_root_path.join('lib').to_path
end

#setup_shared_examplesObject



30
31
32
33
# File 'lib/eac_ruby_gem_support/rspec/setup.rb', line 30

def setup_shared_examples
  require 'eac_ruby_gem_support/rspec/shared_examples/spec_paths'
  require 'eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures'
end