lib/dato/cli.rb in dato-0.6.18 vs lib/dato/cli.rb in dato-0.7.0
- old
+ new
@@ -1,11 +1,10 @@
# frozen_string_literal: true
require 'thor'
require 'dato/dump/runner'
require 'dato/dump/ssg_detector'
-require 'dato/watch/site_change_watcher'
require 'listen'
module Dato
class Cli < Thor
package_name 'DatoCMS'
@@ -24,29 +23,30 @@
extra_headers: {
'X-Reason' => 'dump',
'X-SSG' => Dump::SsgDetector.new(Dir.pwd).detect
}
)
+ loader = Dato::Local::Loader.new(client, preview_mode)
+ print 'Fetching content from DatoCMS... '
+ loader.load
if watch_mode
- site_id = client.request(:get, '/site')['data']['id']
-
semaphore = Mutex.new
- thread_safe_dump(semaphore, config_file, client, preview_mode)
+ thread_safe_dump(semaphore, config_file, client, preview_mode, loader)
- Dato::Watch::SiteChangeWatcher.new(site_id).connect do
- thread_safe_dump(semaphore, config_file, client, preview_mode)
+ loader.watch do
+ thread_safe_dump(semaphore, config_file, client, preview_mode, loader)
end
watch_config_file(config_file) do
- thread_safe_dump(semaphore, config_file, client, preview_mode)
+ thread_safe_dump(semaphore, config_file, client, preview_mode, loader)
end
sleep
else
- Dump::Runner.new(config_file, client, preview_mode).run
+ Dump::Runner.new(config_file, client, preview_mode, loader).run
end
end
desc 'check', 'checks the presence of a DatoCMS token'
def check
@@ -76,12 +76,12 @@
only: /#{Regexp.quote(File.basename(config_file))}/,
&block
).start
end
- def thread_safe_dump(semaphore, config_file, client, preview_mode)
+ def thread_safe_dump(semaphore, config_file, client, preview_mode, loader)
semaphore.synchronize do
- Dump::Runner.new(config_file, client, preview_mode).run
+ Dump::Runner.new(config_file, client, preview_mode, loader).run
end
end
end
end
end