Sha256: 1d5084133e6f1c3ef1bcdecb0109dced0cb3c8fd2bfe00f5ad5c977824664934

Contents?: true

Size: 648 Bytes

Versions: 2

Compression:

Stored size: 648 Bytes

Contents

# frozen_string_literal: true

require 'pathname'

module TableBeet
  class Loader
    def initialize(config = {})
      @suffix = config[:suffix] || '_steps.rb'
      @directory = config[:path] || './spec'
    end

    #
    # @return  Integer  Size of loaded file
    #
    def load
      # https://github.com/jnicklas/turnip#where-to-place-steps
      paths.each { |f| Kernel.load(f, true) }
      paths.length
    end

    def paths
      Pathname.glob(pattern)
    end

    def display_pattern
      pattern
    end

    private

    def glob
      '**/*' + @suffix
    end

    def pattern
      File.join(@directory, glob)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
table_beet2-0.0.5 lib/table_beet/loader.rb
table_beet2-0.0.4 lib/table_beet/loader.rb