gloo 0.7.0 → 0.7.5

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
  SHA256:
3
- metadata.gz: 2dc6eeb25e3bf4c7facfb697ba8329768c028160a1784eb28f164cb7b4003385
4
- data.tar.gz: 8fe4173c140780a134f19b48e253f3144434cce1c9724c2a4ffa26c5c511c7de
3
+ metadata.gz: fcdba5aa6b493f3f3232e5ecce212c6a1721484e0a7b9a2b556a9c8d6079c676
4
+ data.tar.gz: 4ae56c869dc3030f6dc69e5eab122510b1697fdd863c4063ae2444b517c90ab8
5
5
  SHA512:
6
- metadata.gz: 8b3abba9ee1fe27d7c089314726c368bc7be08ba418572ee15193a2be81f3cad34cb7fdf4c1abe314da186bae5bc27d5b0bae18dc28f1a61ef77ed18f510a5b5
7
- data.tar.gz: 56a36064fbf90ade2952b695c51a8a338ec1f43219c9302c2b66f6bf487d20aa29b2f72dfb9fb59d30264be38c4a4cf76f504015ffb6cd981629528b122d0b35
6
+ metadata.gz: e8147b2d8cdf485f64fc8afff2fd1b68e4a5f0817299288af3db70452ca6f149aa6213c19572711d0d420e78a87ab957e4278a883f27517d0ed761ede4a87652
7
+ data.tar.gz: d516779527dbf11c70c92d2da87b920fe1e9a9ee81b0c5c392f152bba4e60947045420d63c30d306fa42816b81f9a3f9738f0e31146a0b71d39614ae4027c2c9
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gloo (0.7.0)
4
+ gloo (0.7.4)
5
5
  activesupport (~> 5.2, >= 5.2.4.3)
6
6
  chronic (~> 0.10, >= 0.10.2)
7
7
  colorize (~> 0.8, >= 0.8.1)
@@ -0,0 +1 @@
1
+ 0.7.5
@@ -8,7 +8,17 @@ module Gloo
8
8
  module App
9
9
  class Info
10
10
 
11
- VERSION = '0.7.0'.freeze
11
+ #
12
+ # Load the version from the VERSION file.
13
+ #
14
+ def self.get_version
15
+ f = File.dirname( File.absolute_path( __FILE__ ) )
16
+ f = File.dirname( File.dirname( f ) )
17
+ f = File.join( f, 'VERSION' )
18
+ return File.read( f )
19
+ end
20
+
21
+ VERSION = Gloo::App::Info.get_version
12
22
  APP_NAME = 'Gloo'.freeze
13
23
 
14
24
  #
@@ -181,6 +181,15 @@ module Gloo
181
181
  return $settings.log_path
182
182
  end
183
183
 
184
+ # ---------------------------------------------------------------------
185
+ # Special chars
186
+ # ---------------------------------------------------------------------
187
+
188
+ # Carriage return (line feed)
189
+ def msg_line
190
+ return "\n"
191
+ end
192
+
184
193
  # ---------------------------------------------------------------------
185
194
  # Screen Messages
186
195
  # ---------------------------------------------------------------------
@@ -32,6 +32,9 @@ GLOO SYSTEM OBJECTS
32
32
  gloo.hostname # Get the system hostname.
33
33
  gloo.user # Get the logged in User.
34
34
 
35
+ SPECIAL CHARS
36
+ gloo.line # A carriage return (line feed) character.
37
+
35
38
  FILE SYSTEM
36
39
  gloo.user_home # Get the user's home directory.
37
40
  gloo.working_dir # Get the working directory.
@@ -16,6 +16,7 @@ GIT OBJECT TYPE
16
16
  get_changes - Get the list of pending changes.
17
17
  commit - Commit changes.
18
18
  get_branch - Get the current branch.
19
+ review - Review pending changes.
19
20
 
20
21
  EXAMPLE
21
22
 
@@ -34,4 +34,4 @@ ERB OBJECT TYPE
34
34
  show e.erb.result
35
35
 
36
36
  SEE ALSO
37
- eval, system
37
+ eval, system, execute
@@ -21,4 +21,4 @@ EVAL OBJECT TYPE
21
21
  result [string] : 21
22
22
 
23
23
  SEE ALSO
24
- system, erb
24
+ system, erb, execute
@@ -24,6 +24,8 @@ FILE OBJECT TYPE
24
24
  regular file. <It> will be true or false.
25
25
  check_is_dir - Check to see if the file specified is a
26
26
  diretory. <It> will be true or false.
27
+ find_match - Look for the existence of a file matching
28
+ the file's pattern. <It> will be true or false.
27
29
 
28
30
  EXAMPLE
29
31
 
@@ -38,4 +40,9 @@ FILE OBJECT TYPE
38
40
  tell exists.f to check_is_file
39
41
  show "is a file? " + it
40
42
 
43
+ f [file] : /Users/me/gloo/*.gemspec
44
+ pattern [script] :
45
+ tell f to find_match
46
+ show it
47
+
41
48
  SEE ALSO
@@ -29,4 +29,4 @@ SYSTEM OBJECT TYPE
29
29
  result [string] :
30
30
 
31
31
  SEE ALSO
32
- eval, erb
32
+ execute, eval, erb
@@ -0,0 +1,27 @@
1
+ EXECUTE VERB
2
+ NAME: execute
3
+ SHORTCUT: exec
4
+
5
+ DESCRIPTION
6
+ Execute a shell command.
7
+
8
+ SYNTAX
9
+ exec <expression>
10
+
11
+ PARAMETERS
12
+ expression
13
+ - Evaluate the expression and execute in the shell.
14
+
15
+ RESULT
16
+ none
17
+
18
+ ERRORS
19
+ Missing Expression!
20
+ - No expression is provided as parameter to the verb.
21
+
22
+ EXAMPLE
23
+
24
+ > exec 'rake test'
25
+
26
+ SEE ALSO
27
+ system, eval, erb
@@ -40,7 +40,9 @@ module Gloo
40
40
  # Get a list of message names that this object receives.
41
41
  #
42
42
  def self.messages
43
- return super + %w[validate check_changes get_changes commit get_branch]
43
+ actions = %w[validate commit get_branch review]
44
+ changes = %w[check_changes get_changes]
45
+ return super + changes + actions
44
46
  end
45
47
 
46
48
  #
@@ -57,6 +59,16 @@ module Gloo
57
59
  $engine.heap.it.set_to branch
58
60
  end
59
61
 
62
+ #
63
+ # Review pending changes.
64
+ #
65
+ def msg_review
66
+ $log.debug 'Reviewing pending changes'
67
+ cmd = "cd #{path_value}; git diff"
68
+ $log.debug cmd
69
+ system cmd
70
+ end
71
+
60
72
  #
61
73
  # Commit pending changes.
62
74
  #
@@ -36,8 +36,9 @@ module Gloo
36
36
  def self.messages
37
37
  basic = %w[read write]
38
38
  checks = %w[check_exists check_is_file check_is_dir]
39
+ search = %w[find_match]
39
40
  show = %w[show page open]
40
- return super + basic + show + checks
41
+ return super + basic + show + checks + search
41
42
  end
42
43
 
43
44
  #
@@ -124,6 +125,14 @@ module Gloo
124
125
  $engine.heap.it.set_to result
125
126
  end
126
127
 
128
+ #
129
+ # Look for any file matching pattern.
130
+ #
131
+ def msg_find_match
132
+ result = !Dir.glob( value ).empty?
133
+ $engine.heap.it.set_to result
134
+ end
135
+
127
136
  end
128
137
  end
129
138
  end
@@ -0,0 +1,56 @@
1
+ # Author:: Eric Crane (mailto:eric.crane@mac.com)
2
+ # Copyright:: Copyright (c) 2020 Eric Crane. All rights reserved.
3
+ #
4
+ # Execute a shell command.
5
+ #
6
+
7
+ module Gloo
8
+ module Verbs
9
+ class Execute < Gloo::Core::Verb
10
+
11
+ KEYWORD = 'execute'.freeze
12
+ KEYWORD_SHORT = 'exec'.freeze
13
+ MISSING_EXPR_ERR = 'Missing Expression!'.freeze
14
+
15
+ #
16
+ # Run the verb.
17
+ #
18
+ def run
19
+ if @tokens.token_count < 2
20
+ $engine.err MISSING_EXPR_ERR
21
+ return
22
+ end
23
+
24
+ expr = Gloo::Expr::Expression.new( @tokens.params )
25
+ cmd = expr.evaluate
26
+ $log.debug "starting cmd: #{cmd}"
27
+
28
+ pid = fork { exec( cmd ) }
29
+ Process.wait pid
30
+
31
+ # pid = spawn cmd
32
+ # Process.wait pid
33
+ $log.debug "done executing cmd: #{cmd}"
34
+
35
+ # system expr.evaluate #, chdir: Dir.pwd
36
+ # `#{expr.evaluate}`
37
+ # exec expr.evaluate
38
+ end
39
+
40
+ #
41
+ # Get the Verb's keyword.
42
+ #
43
+ def self.keyword
44
+ return KEYWORD
45
+ end
46
+
47
+ #
48
+ # Get the Verb's keyword shortcut.
49
+ #
50
+ def self.keyword_shortcut
51
+ return KEYWORD_SHORT
52
+ end
53
+
54
+ end
55
+ end
56
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gloo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Crane
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-11 00:00:00.000000000 Z
11
+ date: 2020-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -202,6 +202,7 @@ files:
202
202
  - exe/gloo
203
203
  - exe/o
204
204
  - gloo.gemspec
205
+ - lib/VERSION
205
206
  - lib/gloo.rb
206
207
  - lib/gloo/app/args.rb
207
208
  - lib/gloo/app/engine.rb
@@ -301,6 +302,7 @@ files:
301
302
  - lib/gloo/help/verbs/cls.txt
302
303
  - lib/gloo/help/verbs/context.txt
303
304
  - lib/gloo/help/verbs/create.txt
305
+ - lib/gloo/help/verbs/execute.txt
304
306
  - lib/gloo/help/verbs/help.txt
305
307
  - lib/gloo/help/verbs/if.txt
306
308
  - lib/gloo/help/verbs/list.txt
@@ -364,6 +366,7 @@ files:
364
366
  - lib/gloo/verbs/cls.rb
365
367
  - lib/gloo/verbs/context.rb
366
368
  - lib/gloo/verbs/create.rb
369
+ - lib/gloo/verbs/execute.rb
367
370
  - lib/gloo/verbs/help.rb
368
371
  - lib/gloo/verbs/if.rb
369
372
  - lib/gloo/verbs/list.rb