Sha256: da2e0fa81196f269e46da1dea9bbd4f450817b067f039df93d48d8c3c01e34b2

Contents?: true

Size: 932 Bytes

Versions: 3

Compression:

Stored size: 932 Bytes

Contents

module Guard
  class RSpec < Plugin
    module Options
      DEFAULTS = {
        all_on_start:    false,
        all_after_pass:  false,
        run_all:         { message: "Running all specs" },
        failed_mode:     :none, # :keep and :focus are other posibilities
        spec_paths:      %w(spec),
        cmd:             nil,
        cmd_additional_args: nil,
        launchy:         nil,
        notification:    true,
        title:           "RSpec results"
      }.freeze

      class << self
        def with_defaults(options = {})
          _deep_merge(DEFAULTS, options)
        end

        private

        def _deep_merge(hash1, hash2)
          hash1.merge(hash2) do |_key, oldval, newval|
            if oldval.instance_of?(Hash) && newval.instance_of?(Hash)
              _deep_merge(oldval, newval)
            else
              newval
            end
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
guard-rspec-4.7.1 lib/guard/rspec/options.rb
guard-rspec-4.7.0 lib/guard/rspec/options.rb
guard-rspec-4.6.5 lib/guard/rspec/options.rb