rake_deploy_lib 0.1.3 → 0.2.0

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: 83bc0e4ac9bd22ba33a072416ed17a726ef193f3
4
- data.tar.gz: f76db8179be2e464f563abedfb6b8702410fcbcc
3
+ metadata.gz: 1bc70a9c1d6713de920331a54c1fcc81519b16e7
4
+ data.tar.gz: f447ce7d8ebd6d6ff09f799a9222b51efc9b017c
5
5
  SHA512:
6
- metadata.gz: 957e9ee5a462cd3366622d6c9679ecd0fac1db70af5b0a837cad3adf54c9de580f1ef401c82957234a34619b2514421f7e959aafb258da179bd8507f632c5943
7
- data.tar.gz: 3fc10b0b2465dfa680fd6df7e3882de443641cdec1f420cac2b6f8b8bf10ad7bd530e8cae2616030f5b05dd2d1ea53d92ea77f430f0f3cf9f77145e6bad9d7b9
6
+ metadata.gz: e9dd6559d4c9d54321287349c271c375476ac977ec53bf4efcfe5d55a613d254e2fb72bb6d606426fdbd82f49059c3ecb79b641b2338d1f21ecf94f4e9ab67d8
7
+ data.tar.gz: 5eb5c25b853169c240fe67865498f14f78696c1cbee0e8612dbf40dbaf3972592b35ec6c1b635858db4487984faabec38ea40088a1c79c003661e7c412bb2ef7
data/README.md CHANGED
@@ -7,6 +7,7 @@ The Gem depends on rsync! The OS (Operating System) needs support for the rsync
7
7
 
8
8
  ## Status
9
9
  This is an alpha stage version of the Gem. More methods are follow.
10
+ [![Gem Version](https://badge.fury.io/rb/rake_deploy_lib.svg)](https://badge.fury.io/rb/rake_deploy_lib)
10
11
 
11
12
  ## Installation
12
13
 
@@ -25,7 +26,7 @@ Or install it yourself as:
25
26
  $ gem install rake_deploy_lib
26
27
 
27
28
  ## Usage
28
- ### RakeDeployLib.deploy
29
+ ### .deploy
29
30
 
30
31
  ```
31
32
  RakeDeployLib.deploy(@local, @user, @host, @remote, @excludes)
@@ -41,6 +42,47 @@ Please be aware, that files will be deleted at remote host, if they don't exist
41
42
  * Files: e.g. "myfile.txt" or ".gitignore"
42
43
  * Directories: e.g. "mydirectory/" be aware of the trailing / (slash)
43
44
 
45
+ ### .task_delimiter
46
+ Retuns a formated title. You can use this title to output formated messages.
47
+
48
+ **Example**
49
+ ```
50
+ RakeDeployLib.task_delimiter(task_title, line_break_delimiter=3, header_char = "*", footer_char = "-")
51
+ RakeDeployLib.task_delimiter("Install npm packages", 3, "*", "-")
52
+ ```
53
+
54
+ Output:
55
+ ```
56
+ ************************
57
+ * Install npm packages *
58
+ ------------------------
59
+ ```
60
+ **Paramters**
61
+ * task_title (mendotory) - string "Install npm packages"
62
+ * line_break_delimiter (optional) - line breaks before output Title as integer (default is 3)
63
+ * header_char (optional) - one character as upper frame (default is *)
64
+ * footer_char (optional) - one character as bottom frame (default is -)
65
+
66
+ **Return**
67
+ Returns a string with line breaks
68
+
69
+ ### .are_you_sure
70
+ Outputs a question to the user and prompst for answer with yes.
71
+ User are able to use "y", "Y", "yes", "Yes", "YES" as positiv answer.
72
+
73
+ **Example**
74
+ ```
75
+ RakeDeployLib.are_you_sure("Are you sure you want to deploy? (yes|no):")
76
+ ```
77
+ **Paramters**
78
+ * question (optional) - string (default is "Are you sure? (yes|no):")
79
+
80
+ **Return**
81
+ If answer is not yes, an exit command will stop the whole script.
82
+
83
+ **Dependencies**
84
+ Methode uses RakeDeployLib.task_delimiter for prompting the question
85
+
44
86
  ## Development
45
87
 
46
88
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -15,14 +15,14 @@ module RakeDeployLib
15
15
  # * excludes (optional) - an arrey of files or directories to exclude.
16
16
  # * Files: e.g. "myfile.txt" or ".gitignore"
17
17
  # * Directories: e.g. "mydirectory/" be aware of the trailing / (slash)
18
- def RakeDeployLib.deploy(local, user, host, remote, excludes)
18
+ def RakeDeployLib.deploy(local, user, host, remote, excludes = "")
19
19
  if (!local || !user || !host || !remote)
20
20
  return false
21
21
  end
22
22
  cmd_rsync = "rsync -rz --delete "
23
23
  cmd_exclude = ""
24
24
 
25
- if excludes
25
+ if excludes != ""
26
26
  excludes.each do |to_exclude|
27
27
  cmd_exclude = "#{cmd_exclude}--exclude=#{to_exclude} "
28
28
  end
@@ -35,4 +35,49 @@ module RakeDeployLib
35
35
  return false
36
36
  end
37
37
  end
38
+
39
+ # Retuns a formated title. You can use this title to output formated messages.
40
+ # Example call: RakeDeployLib.task_delimiter("Install npm packages", 3, "*", "-")
41
+ # Example output:
42
+ # ' ************************ '
43
+ # ' * Install npm packages * '
44
+ # ' ------------------------ '
45
+ #
46
+ # * task_title (mendotory) - string "Install npm packages"
47
+ # * line_break_delimiter (optional) - line breaks before output Title as integer (default is 3)
48
+ # * header_char (optional) - one character as upper frame (default is *)
49
+ # * footer_char (optional) - one character as bottom frame (default is -)
50
+ #
51
+ # returns a string with line breaks
52
+ def RakeDeployLib.task_delimiter(task_title, line_break_delimiter=3, header_char = "*", footer_char = "-")
53
+ raise "\n\n\nTask tile missing!" if !task_title
54
+ output = ""
55
+ line_break_delimiter.times{output += "\n"}
56
+ width_count = task_title.length + 4
57
+ width_count.times{output += "#{header_char}"}
58
+ output += "\n" + "#{header_char} #{task_title} #{header_char}" + "\n"
59
+ width_count.times{output += "#{footer_char}"}
60
+ output += "\n"
61
+ return output
62
+ end
63
+
64
+ # Outputs a question to the user and prompst for answer with yes.
65
+ # User are able to use "y", "Y", "yes", "Yes", "YES" as positiv answer.
66
+ # Example call: RakeDeployLib.are_you_sure("Are you sure you want to deploy? (yes|no):")
67
+ #
68
+ # * question (optional) - string (default is "Are you sure? (yes|no):")
69
+ #
70
+ # If answer is not yes, an exit command will stop the whole script.
71
+ # Methode uses RakeDeployLib.task_delimiter for prompting the question
72
+ def RakeDeployLib.are_you_sure(question = "Are you sure? (yes|no):")
73
+ yes_prompt = ["y", "Y", "yes", "Yes", "YES"]
74
+ puts RakeDeployLib.task_delimiter(question, 6, "-")
75
+ user_prompt = STDIN.gets.chomp
76
+ if !yes_prompt.include?(user_prompt)
77
+ puts "You answered with: #{user_prompt}"
78
+ puts "Me, my self and I will stop now."
79
+ puts ""
80
+ exit
81
+ end
82
+ end
38
83
  end
@@ -1,3 +1,3 @@
1
1
  module RakeDeployLib
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.0"
3
3
  end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_deploy_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ulrich Lutz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-08-23 00:00:00.000000000 Z
11
+ date: 2016-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -82,12 +82,17 @@ files:
82
82
  - etc/unittest_directories/03_excludes_local/foodir/foo11.txt
83
83
  - etc/unittest_directories/04_excludes_remote/foo01.txt
84
84
  - etc/unittest_directories/04_excludes_remote/foo02.txt
85
+ - etc/unittest_directories/11_includes/foodir/foo.txt
86
+ - etc/unittest_directories/11_includes/foodir/foodir/foo.txt
87
+ - etc/unittest_directories/11_includes/foodir/foodir/foodir/foo.txt
88
+ - etc/unittest_directories/11_includes/foodir/foodir/foodir2/foo.txt
85
89
  - etc/unittest_directories/test.txt
86
90
  - lib/rake_deploy_lib.rb
87
91
  - lib/rake_deploy_lib/version.rb
88
92
  - rake_deploy_lib-0.1.0.gem
89
93
  - rake_deploy_lib-0.1.1.gem
90
94
  - rake_deploy_lib-0.1.2.gem
95
+ - rake_deploy_lib-0.1.3.gem
91
96
  - rake_deploy_lib.gemspec
92
97
  homepage: https://github.com/crowzero/rake_deploy_lib
93
98
  licenses: