gloo 0.7.0 → 0.7.5

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
  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