caravan 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
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