Merge pull request #2716 from jekyll/reform-watch

This commit is contained in:
Parker Moore 2014-08-10 20:28:38 -04:00
commit 47b38cf9ee
4 changed files with 2 additions and 59 deletions

View File

@ -44,7 +44,7 @@ Gem::Specification.new do |s|
s.add_runtime_dependency('jekyll-gist', '~> 1.0')
s.add_runtime_dependency('jekyll-coffeescript', '~> 1.0')
s.add_runtime_dependency('jekyll-sass-converter', '~> 1.0')
s.add_runtime_dependency('jekyll-watch', '~> 1.0')
s.add_runtime_dependency('jekyll-watch', '~> 1.1')
s.add_development_dependency('rake', "~> 10.1")
s.add_development_dependency('rdoc', "~> 3.11")

View File

@ -19,31 +19,6 @@ module Jekyll
super(base)
end
# Paths to ignore for the watch option
#
# options - A Hash of options passed to the command
#
# Returns a list of relative paths from source that should be ignored
def ignore_paths(options)
source = options['source']
destination = options['destination']
config_files = Configuration[options].config_files(options)
paths = config_files + Array(destination)
ignored = []
source_abs = Pathname.new(source).expand_path
paths.each do |p|
path_abs = Pathname.new(p).expand_path
begin
rel_path = path_abs.relative_path_from(source_abs).to_s
ignored << Regexp.new(Regexp.escape(rel_path)) unless rel_path.start_with?('../')
rescue ArgumentError
# Could not find a relative path
end
end
ignored
end
# Run Site#process and catch errors
#
# site - the Jekyll::Site object

View File

@ -64,7 +64,7 @@ module Jekyll
# Returns nothing.
def watch(site, options)
Deprecator.gracefully_require 'jekyll-watch'
Jekyll::Commands::Watch.watch(site, options)
Jekyll::Watcher.watch(options)
end
end # end of class << self

View File

@ -1,38 +1,6 @@
require 'helper'
class TestCommand < Test::Unit::TestCase
context "when calling .ignore_paths" do
context "when source is absolute" do
setup { @source = source_dir }
should "return an array with regex for destination" do
absolute = source_dir('dest')
relative = Pathname.new(source_dir('dest')).relative_path_from(Pathname.new('.').expand_path).to_s
[absolute, relative].each do |dest|
config = build_configs("source" => @source, "destination" => dest)
assert Command.ignore_paths(config).include?(/dest/), "failed with destination: #{dest}"
end
end
end
context "when source is relative" do
setup { @source = Pathname.new(source_dir).relative_path_from(Pathname.new('.').expand_path).to_s }
should "return an array with regex for destination" do
absolute = source_dir('dest')
relative = Pathname.new(source_dir('dest')).relative_path_from(Pathname.new('.').expand_path).to_s
[absolute, relative].each do |dest|
config = build_configs("source" => @source, "destination" => dest)
assert Command.ignore_paths(config).include?(/dest/), "failed with destination: #{dest}"
end
end
end
context "multiple config files" do
should "return an array with regex for config files" do
config = build_configs("config"=> ["_config.yaml", "_config2.yml"])
ignore_paths = Command.ignore_paths(config)
assert ignore_paths.include?(/_config\.yaml/), 'did not include _config.yaml'
assert ignore_paths.include?(/_config2\.yml/), 'did not include _config2.yml'
end
end
end
context "when calling .add_build_options" do
should "add common options" do
cmd = Object.new