caravan 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4b237145d830cb90dcb215844fe2a8f47bb424f
4
- data.tar.gz: 0de0d122559370b7644d8c25abbaa16832d5d915
3
+ metadata.gz: d7cb3d50e30c03443ec81f6e32d799ba13fafc90
4
+ data.tar.gz: 668c9d16e7e21172a99d864070c6a8979086ec8c
5
5
  SHA512:
6
- metadata.gz: fa4eb26ce60c3d9477fa6bb7d8d1740ee8d2c12da73a9724c80d97df4dedcea090ae20faa32918c50ca20eb2ba8edc4ea7a1c2cfe0b1724103130a4a0a8d28e0
7
- data.tar.gz: 739b1a57cc965e786a95544bf6c9df863b8b37c425abacfbcdf9965ba59d49a6a1c97e0bf4dfe4e58dc1e2f503e64992bca175ddeb1bad18e371fa3c7ab9e17e
6
+ metadata.gz: 47f1ce0935393ea018d42d627d14e72e23521fbb579cfd009b2838802413ffb07b6d436e07c94dde3aaf15fdc0ce9efdbdf5609230cfcaf2e3c7a55f89139dbe
7
+ data.tar.gz: fd655b71e0e447e395d3f879682dc52a945e7f809883ffe5413769ff04e378701c467ef69275d20236cf9006eb766c4ad2f4e6f2873ec10ad7b9855e0c2e2371
data/README.md CHANGED
@@ -24,6 +24,7 @@ $ caravan --help
24
24
  -d, --dest DEST_PATH Destination path
25
25
  -m, --mode DEPLOY_MODE Deploy mode
26
26
  -i, --ignore IGNORE_FILES Ignore files
27
+ -o, --once Deploy for once
27
28
  -b, --debug Debug mode
28
29
  --version Show version
29
30
  ```
data/exe/caravan CHANGED
@@ -30,6 +30,11 @@ option_parser = OptionParser.new do |opts|
30
30
  end
31
31
  end
32
32
 
33
+ options[:once] = false
34
+ opts.on("-o", "--once", "Deploy for once") do
35
+ options[:once] = true
36
+ end
37
+
33
38
  options[:debug] = false
34
39
  opts.on("-b", "--debug", "Debug mode") do
35
40
  options[:debug] = true
@@ -47,8 +52,8 @@ end
47
52
 
48
53
  option_parser.parse!(ARGV)
49
54
  merged_conf = Caravan::Config.merge(options, Caravan.process_conf(options[:src]))
50
- if merged_conf.key?('src') && merged_conf.key?('dst') && merged_conf.key?('deploy_mode')
55
+ if merged_conf.key?("src") && merged_conf.key?("dst") && merged_conf.key?("deploy_mode")
51
56
  Caravan.start(merged_conf)
52
57
  else
53
- Caravan::Message.error('No src, dst, deploy_mode specified. Cannot deploy.')
58
+ Caravan::Message.error("No src, dst, deploy_mode specified. Cannot deploy.")
54
59
  end
data/lib/caravan.rb CHANGED
@@ -32,6 +32,10 @@ module Caravan
32
32
 
33
33
  Caravan::Message.success("Starting to watch #{src_path}...")
34
34
  deployer.after_create
35
+ if merged_conf["once"]
36
+ deploy_at_once(deployer)
37
+ exit(0)
38
+ end
35
39
  listener.start
36
40
 
37
41
  trap("INT") do
@@ -44,6 +48,12 @@ module Caravan
44
48
  sleep_forever
45
49
  end
46
50
 
51
+ def deploy_at_once(deployer)
52
+ deployer.before_deploy
53
+ deployer.run
54
+ deployer.after_deploy
55
+ end
56
+
47
57
  def create_listener(deployer, src_path)
48
58
  Listen.to(src_path) do |modified, added, removed|
49
59
  # rubocop:disable Lint/NonLocalExitFromIterator
@@ -45,6 +45,7 @@ module Caravan
45
45
  merged_conf["debug"] = options[:debug] if options.key?(:debug)
46
46
  merged_conf["deploy_mode"] = options[:mode] if options.key?(:mode)
47
47
  merged_conf["exclude"] = options[:ignore] if options.key?(:ignore)
48
+ merged_conf["once"] = options[:once] if options.key?(:once)
48
49
 
49
50
  merged_conf
50
51
  end
@@ -1,3 +1,3 @@
1
1
  module Caravan
2
- VERSION = "0.5.1".freeze
2
+ VERSION = "0.5.2".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caravan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Zhang