Sha256: e0e06a2c7368b69928c690d1c72094c593a507fc427fb068a5a0cd3ce652efe9

Contents?: true

Size: 1.64 KB

Versions: 3

Compression:

Stored size: 1.64 KB

Contents

require_relative "../lanes"
# require 'guard/jasmine'
require "guard/jest"
require 'guard/minitest'
require "net/http"
require "uri"
# require_relative "lanes_guard_plugin"

# require_relative "hot_reload_plugin"
require_relative 'command/jest'

module Lanes
    module GuardTasks

        class CustomMatchers
            attr_reader :client_matches, :server_matches#, :hot_reload

            def client(&block)
                @client_matches = block
            end
            def server(&block)
                @server_matches = block
            end
        end


        def self.run(dsl, options, &block)
            app_name = options[:name] || Pathname.getwd.basename.to_s
            matchers = CustomMatchers.new
            yield matchers

            jest_options = options.merge(
                logger: Lanes.logger,
                silent: false,
                jest_cmd: './node_modules/.bin/jest',
                config_file: ::Lanes::Command::Jest.new.configure.config_file
            )

            dsl.guard :jest, jest_options


            minitest_options = {
              all_on_start: false, test_folders: 'spec/server'
            }
            dsl.guard :minitest, minitest_options do
                dsl.watch(%r{^spec/server/spec_helper\.rb}) { 'test' }
                dsl.watch(%r{^spec/server/.*_spec\.rb})
                dsl.watch(%r{^spec/fixtures/#{app_name}/(.+)s\.yml})   { |m| "spec/server/#{m[1]}_spec.rb" }
                dsl.watch(%r{^lib/#{app_name}/(.+)\.rb})               { |m| "spec/server/#{m[1]}_spec.rb" }
                matchers.server_matches.call if matchers.server_matches
            end

        end

    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lanes-0.8.2 lib/lanes/guard_tasks.rb
lanes-0.8.1 lib/lanes/guard_tasks.rb
lanes-0.8.0 lib/lanes/guard_tasks.rb