falkorlib 0.2.11 → 0.2.12

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: 75815fa5eb90ae587f6e35f4cba78cdd46f10a7f
4
- data.tar.gz: ed4c21f7dd6af1d51a6911143a33e33b4767e27f
3
+ metadata.gz: b30dddfa9585e963002ffde18c2233028282f0c3
4
+ data.tar.gz: e19f0ce91512743338d9423c81093ddda90d702f
5
5
  SHA512:
6
- metadata.gz: fa1ef55091c1fdca957795c3aed4968bee2657abbb62206dc2dc6beb6c5ed2b3284027d854d9dad149413e1851ea6e8b7ff7a4353d1c08092403e2685633834b
7
- data.tar.gz: 38911492f3497f87a0b8633f6310c6e79200216ec54a0ba1c3cc295a6615fda09bf3cfe945d26735f0509125592770d2869ed23b1c9b1fe8e534a685066da94d
6
+ metadata.gz: 89bb6c7980ddd8fa72c8c561d2bd8ecf7ffbcc97f34a7bc9373ca5d8e4c23b406232d57fdec45c70e37c6ecd7dcc18dc6267e453abc2e284a76580d684f9b956
7
+ data.tar.gz: ea1babfa0cb0a798f888aaae50bb3d95df1cdf87bfa15c99cc3fcee2087cbecbf3aa4c3e79e62708fba2f31fe4247e4776982b0fa59821ba745215cc3e350976
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- falkorlib (0.2.11)
4
+ falkorlib (0.2.12)
5
5
  awesome_print (~> 1.2)
6
6
  configatron (~> 3.2)
7
7
  git_remote_branch (~> 0)
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  ################################################################################
3
- # Time-stamp: <Jeu 2014-06-26 23:05 svarrette>
3
+ # Time-stamp: <Sam 2014-07-12 21:43 svarrette>
4
4
  ################################################################################
5
5
 
6
6
  require "falkorlib"
@@ -9,24 +9,24 @@ require 'open3'
9
9
 
10
10
  module FalkorLib #:nodoc:
11
11
 
12
- # @abstract
13
- # Recipe for all my toolbox and versatile Ruby functions I'm using
14
- # everywhere.
15
- # You'll typically want to include the `FalkorLib::Common` module to bring
16
- # the corresponding definitions into yoru scope.
12
+ # @abstract
13
+ # Recipe for all my toolbox and versatile Ruby functions I'm using
14
+ # everywhere.
15
+ # You'll typically want to include the `FalkorLib::Common` module to bring
16
+ # the corresponding definitions into yoru scope.
17
+ #
18
+ # @example:
19
+ # require 'falkorlib'
20
+ # include FalkorLib::Common
21
+ #
22
+ # info 'exemple of information text'
23
+ # really_continue?
24
+ # run %{ echo 'this is an executed command' }
25
+ #
26
+ # Falkor.config.debug = true
27
+ # run %{ echo 'this is a simulated command that *will not* be executed' }
28
+ # error "that's an error text, let's exit with status code 1"
17
29
  #
18
- # @example:
19
- # require 'falkorlib'
20
- # include FalkorLib::Common
21
- #
22
- # info 'exemple of information text'
23
- # really_continue?
24
- # run %{ echo 'this is an executed command' }
25
- #
26
- # Falkor.config.debug = true
27
- # run %{ echo 'this is a simulated command that *will not* be executed' }
28
- # error "that's an error text, let's exit with status code 1"
29
- #
30
30
  module Common
31
31
  module_function
32
32
  ##################################
@@ -108,64 +108,116 @@ module FalkorLib #:nodoc:
108
108
 
109
109
  ## Execute a given command, return exit code and print nicely stdout and stderr
110
110
  def nice_execute(cmd)
111
- puts bold("[Running] #{cmd.gsub(/^\s*/, ' ')}")
112
- stdout, stderr, exit_status = Open3.capture3( cmd )
113
- unless stdout.empty?
114
- stdout.each_line do |line|
115
- print "** [out] #{line}"
116
- $stdout.flush
117
- end
118
- end
119
- unless stderr.empty?
120
- stderr.each_line do |line|
121
- $stderr.print red("** [err] #{line}")
122
- $stderr.flush
123
- end
124
- end
125
- exit_status
111
+ puts bold("[Running] #{cmd.gsub(/^\s*/, ' ')}")
112
+ stdout, stderr, exit_status = Open3.capture3( cmd )
113
+ unless stdout.empty?
114
+ stdout.each_line do |line|
115
+ print "** [out] #{line}"
116
+ $stdout.flush
117
+ end
118
+ end
119
+ unless stderr.empty?
120
+ stderr.each_line do |line|
121
+ $stderr.print red("** [err] #{line}")
122
+ $stderr.flush
123
+ end
124
+ end
125
+ exit_status
126
126
  end
127
127
 
128
128
  # Simpler version that use the system call
129
129
  def execute(cmd)
130
- puts bold("[Running] #{cmd.gsub(/^\s*/, ' ')}")
131
- system(cmd)
132
- $?
130
+ puts bold("[Running] #{cmd.gsub(/^\s*/, ' ')}")
131
+ system(cmd)
132
+ $?
133
133
  end
134
-
134
+
135
135
  ## Execute in a given directory
136
136
  def execute_in_dir(path, cmd)
137
- exit_status = 0
138
- Dir.chdir(path) do
139
- exit_status = run %{ #{cmd} }
140
- end
141
- exit_status
137
+ exit_status = 0
138
+ Dir.chdir(path) do
139
+ exit_status = run %{ #{cmd} }
140
+ end
141
+ exit_status
142
142
  end # execute_in_dir
143
143
 
144
-
145
-
146
144
  ## Execute a given command - exit if status != 0
147
145
  def exec_or_exit(cmd)
148
- status = execute(cmd)
149
- if (status.to_i != 0)
150
- error("The command '#{cmd}' failed with exit status #{status.to_i}")
146
+ status = execute(cmd)
147
+ if (status.to_i != 0)
148
+ error("The command '#{cmd}' failed with exit status #{status.to_i}")
151
149
  end
152
- status
150
+ status
153
151
  end
154
152
 
155
153
  ## "Nice" way to present run commands
156
154
  ## Ex: run %{ hostname -f }
157
155
  def run(cmds)
158
- exit_status = 0
156
+ exit_status = 0
159
157
  puts bold("[Running]\n#{cmds.gsub(/^\s*/, ' ')}")
160
- $stdout.flush
158
+ $stdout.flush
161
159
  #puts cmds.split(/\n */).inspect
162
160
  cmds.split(/\n */).each do |cmd|
163
161
  next if cmd.empty?
164
162
  system("#{cmd}") unless FalkorLib.config.debug
165
- exit_status = $?
163
+ exit_status = $?
166
164
  end
167
- exit_status
168
- end
165
+ exit_status
166
+ end
167
+
168
+ ## List items from a glob pattern
169
+ ## list_items
170
+ def list_items(glob_pattern, options = {})
171
+ list = { 0 => 'Exit' }
172
+ index = 1
173
+ raw_list = { }
174
+
175
+ Dir["#{glob_pattern}"].each do |elem|
176
+ #puts "=> element '#{elem}' - dir = #{File.directory?(elem)}; file = #{File.file?(elem)}"
177
+ next if (! options[:only_files].nil?) && options[:only_files] && File.directory?(elem)
178
+ next if (! options[:only_dirs].nil?) && options[:only_dirs] && File.file?(elem)
179
+ entry = File.basename(elem)
180
+ unless options[:pattern_include].nil?
181
+ select_entry = false
182
+ options[:pattern_include].each do |pattern|
183
+ #puts "considering pattern '#{pattern}' on entry '#{entry}'"
184
+ select_entry |= entry =~ /#{pattern}/
185
+ end
186
+ next unless select_entry
187
+ end
188
+ unless options[:pattern_exclude].nil?
189
+ select_entry = false
190
+ options[:pattern_exclude].each do |pattern|
191
+ #puts "considering pattern '#{pattern}' on entry '#{entry}'"
192
+ select_entry |= entry =~ /#{pattern}/
193
+ end
194
+ next if select_entry
195
+ end
196
+ #puts "selected entry = '#{entry}'"
197
+ list[index] = entry
198
+ raw_list[index] = elem
199
+ index += 1
200
+ end
201
+ text = options[:text].nil? ? "select the index" : options[:text]
202
+ default_idx = options[:default].nil? ? 0 : options[:default]
203
+ raise SystemExit.new('Empty list') if index == 1
204
+ # puts list.to_yaml
205
+ # answer = ask("=> #{text}", "#{default_idx}")
206
+ # raise SystemExit.new('exiting selection') if answer == '0'
207
+ # raise RangeError.new('Undefined index') if Integer(answer) >= list.length
208
+ # raw_list[Integer(answer)]
209
+ select_from(list, text, default_idx, raw_list)
210
+ end
211
+
212
+ ## Display a indexed list to select an i
213
+ def select_from(list, text = 'Select the index', default_idx = 0, raw_list = list)
214
+ puts list.to_yaml
215
+ answer = ask("=> #{text}", "#{default_idx}")
216
+ raise SystemExit.new('exiting selection') if answer == '0'
217
+ raise RangeError.new('Undefined index') if Integer(answer) >= list.length
218
+ raw_list[Integer(answer)]
219
+ end # select_from
220
+
169
221
 
170
222
  ###############################
171
223
  ### YAML File loading/store ###
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  ################################################################################
3
3
  # git.rake - Special tasks for the management of Git operations
4
- # Time-stamp: <Jeu 2014-06-26 10:33 svarrette>
4
+ # Time-stamp: <Lun 2014-08-18 21:22 svarrette>
5
5
  #
6
6
  # Copyright (c) 2014 Sebastien Varrette <Sebastien.Varrette@uni.lu>
7
7
  # http://varrette.gforge.uni.lu
@@ -21,7 +21,7 @@ namespace :git do
21
21
 
22
22
 
23
23
  ########### git:fetch ###########
24
- desc "Fetch the latest changes on remotes"
24
+ #desc "Fetch the latest changes on remotes"
25
25
  task :fetch do |t|
26
26
  info t.comment
27
27
  FalkorLib::Git.fetch()
@@ -34,9 +34,9 @@ namespace :git do
34
34
  when 'push'; "Push your modifications onto the remote branches"
35
35
  end
36
36
  ########### git:{up,push} ###########
37
- desc "#{description}"
37
+ #desc "#{description}"
38
38
  task op.to_sym do |t|
39
- info t.comment
39
+ info description # t.comment
40
40
  if remotes.empty? || ! remotes.include?( 'origin' )
41
41
  warn "No git remote configured... Exiting #{t}"
42
42
  next
@@ -79,7 +79,7 @@ namespace :git do
79
79
  namespace :submodules do
80
80
 
81
81
  ########### git:submodules:update ###########
82
- desc "Update the git submodules from '#{git_root_dir}'"
82
+ #desc "Update the git submodules from '#{git_root_dir}'"
83
83
  task :update do |t|
84
84
  info t.comment
85
85
  FalkorLib::Git.submodule_update( git_root_dir )
@@ -1,6 +1,6 @@
1
1
  ################################################################################
2
2
  # gitflow.rake - Special tasks for the management of Git [Flow] operations
3
- # Time-stamp: <Jeu 2014-06-26 10:40 svarrette>
3
+ # Time-stamp: <Lun 2014-08-18 21:18 svarrette>
4
4
  #
5
5
  # Copyright (c) 2014 Sebastien Varrette <Sebastien.Varrette@uni.lu>
6
6
  # http://varrette.gforge.uni.lu
@@ -17,7 +17,7 @@ namespace :git do
17
17
  git_root_dir = FalkorLib::Git.rootdir
18
18
 
19
19
  ########### git:init ###########
20
- desc "Initialize Git repository"
20
+ #desc "Initialize Git repository"
21
21
  task :init => [ 'git:flow:init' ]
22
22
 
23
23
  #.....................
@@ -76,7 +76,7 @@ end # namespace git
76
76
  namespace :version do
77
77
 
78
78
  ########### version:info ###########
79
- desc "Get versioning information"
79
+ #desc "Get versioning information"
80
80
  task :info do |t|
81
81
  include FalkorLib::Versioning
82
82
  version = get_version
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  ################################################################################
3
- # Time-stamp: <Mer 2014-06-25 15:38 svarrette>
3
+ # Time-stamp: <Lun 2014-08-18 21:19 svarrette>
4
4
  ################################################################################
5
5
  #
6
6
  # Default FalkorLib rake tasks
@@ -17,7 +17,7 @@ FalkorLib.config.debug = ARGV.include?('DEBUG')
17
17
  #.....................
18
18
  namespace :falkorlib do
19
19
  ########### falkorlib:conf ###########
20
- desc "Print the current configuration of FalkorLib"
20
+ #desc "Print the current configuration of FalkorLib"
21
21
  task :conf do
22
22
  puts FalkorLib.config.to_yaml
23
23
  end
@@ -28,7 +28,7 @@ end # namespace falkorlib
28
28
  namespace :bundle do
29
29
 
30
30
  ########### init ###########
31
- desc "Initialize your Bundler configuration from your Gemfile"
31
+ #desc "Initialize your Bundler configuration from your Gemfile"
32
32
  task :init do |t|
33
33
  info "#{t.comment}"
34
34
  run %{ bundle }
@@ -19,7 +19,7 @@ module FalkorLib #:nodoc:
19
19
  # MAJOR: Defines the major version
20
20
  # MINOR: Defines the minor version
21
21
  # PATCH: Defines the patch version
22
- MAJOR, MINOR, PATCH = 0, 2, 11
22
+ MAJOR, MINOR, PATCH = 0, 2, 12
23
23
 
24
24
  module_function
25
25
 
@@ -2,7 +2,7 @@
2
2
  #########################################
3
3
  # gitflow_spec.rb
4
4
  # @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
5
- # Time-stamp: <Jeu 2014-06-19 22:10 svarrette>
5
+ # Time-stamp: <Jeu 2014-07-03 23:58 svarrette>
6
6
  #
7
7
  # @description Check the Git Flow operations -- see https://github.com/nvie/gitflow
8
8
  #
@@ -16,7 +16,7 @@ require 'tmpdir'
16
16
  describe FalkorLib::GitFlow do
17
17
  include FalkorLib::Common
18
18
 
19
- if command?('git_flow')
19
+ if command?('git-flow')
20
20
 
21
21
 
22
22
  dir = Dir.mktmpdir
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/ruby
2
2
  #########################################
3
- # gitflow_spec.rb
3
+ # versioning_gem_spec.rb
4
4
  # @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
5
- # Time-stamp: <Mar 2014-07-01 12:26 svarrette>
5
+ # Time-stamp: <Mar 2014-07-01 17:29 svarrette>
6
6
  #
7
- # @description Check the Git Flow operations -- see https://github.com/nvie/gitflow
7
+ # @description Check the versioning operations on Gems
8
8
  #
9
9
  # Copyright (c) 2013 Sebastien Varrette <Sebastien.Varrette@uni.lu>
10
10
  # . http://varrette.gforge.uni.lu
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: falkorlib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.11
4
+ version: 0.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastien Varrette
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-01 00:00:00.000000000 Z
11
+ date: 2014-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake