psychic-runner 0.0.6 → 0.0.7

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: ddeb92cd3cc077d00d420c884f093a58caeb73b2
4
- data.tar.gz: 3cf00eaa3ce0715e3080296136e5a5cc18350032
3
+ metadata.gz: 966decba16f73cabfd0e9c5ec9b06264da9cff30
4
+ data.tar.gz: 124f2dda5812f6ef48ab04e626f0f1fc92a612e5
5
5
  SHA512:
6
- metadata.gz: c78919ea3b15b03a7ff6c8cc33029908d79a268d5d0891202421bc7b4dd060255875f2f6257ed5b57bdb6d08f453c98b36e773bf3dc097f0e55bd7e9e496ec80
7
- data.tar.gz: 45d34b63d64c64fa3dca6ae70defe7fc04e93eac5320993d3335f5ed94aab182940ff00c0b7f9d319ef130f2471ffbac8d5bcb2767631b6058e1d49c542e5d7d
6
+ metadata.gz: 2677291d81e7f08bf56415062a19f2b4eee25fdb3e8a539c2d4b5b84e1e1e8ab65470a5c2b137e91f5c5c3b4a91e550739f93ed077dac6e28776f5d5c006d265
7
+ data.tar.gz: 2528ceea531136d5b1e1125965fdb95e29a1074398a3f1fb32bc918ecf34066491c762f4ee16264195e35bda8fe144783898ff1d9a48deb6b21f77682f0db438
data/bin/psychic CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- require 'psychic/cli'
2
+ require 'psychic/runner/cli'
3
3
 
4
4
  Psychic::CLI.start
data/lib/psychic/cli.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'English'
2
2
  require 'thor'
3
- require 'psychic/runner'
4
3
 
5
4
  module Psychic
6
5
  class CLI < Thor
@@ -24,60 +23,5 @@ module Psychic
24
23
  self.class.extra_args
25
24
  end
26
25
  end
27
-
28
- desc 'task <name>', 'Executes any task by name'
29
- def task(task_name)
30
- result = runner.execute_task(task_name, *extra_args)
31
- result.error!
32
- say_status :success, task_name
33
- rescue Psychic::Shell::ExecutionError => e
34
- say_status :failed, task_name, :red
35
- say e.execution_result if e.execution_result
36
- end
37
-
38
- BUILT_IN_TASKS.each do |task_name|
39
- desc task_name, "Executes the #{task_name} task"
40
- define_method(task_name) do
41
- task(task_name)
42
- end
43
- end
44
-
45
- desc 'sample <name>', 'Executes a code sample'
46
- # rubocop:disable Metrics/LineLength
47
- method_option :interactive, desc: 'Prompt for parameters?', enum: %w(always missing), lazy_default: 'missing'
48
- method_option :parameters, desc: 'YAML file containing key/value parameters. Default: psychic-parameters.yaml'
49
- method_option :parameter_mode, desc: 'How should the parameters be passed?', enum: %w(tokens arguments env)
50
- method_option :dry_run, desc: 'Do not execute - just show what command would be run', lazy_default: true
51
- # rubocop:enable Metrics/LineLength
52
- def sample(*sample_names)
53
- sample_names.each do | sample_name |
54
- say_status :executing, sample_name
55
- begin
56
- run_sample sample_name
57
- rescue Errno::ENOENT
58
- say_status :failed, "No code sample found for #{sample_name}", :red
59
- # TODO: Fail on missing? Fail fast?
60
- end
61
- end
62
- end
63
-
64
- private
65
-
66
- def run_sample(sample_name)
67
- result = runner.run_sample(sample_name, *extra_args)
68
- if options.dry_run
69
- say_status :dry_run, sample_name
70
- else
71
- result.error!
72
- say_status :success, sample_name
73
- end
74
- end
75
-
76
- def runner
77
- runner_opts = Util.symbolized_hash(options).merge(
78
- cwd: Dir.pwd, cli: shell, parameters: options.parameters
79
- )
80
- @runner ||= Psychic::Runner.new(runner_opts)
81
- end
82
26
  end
83
27
  end
@@ -0,0 +1,62 @@
1
+ require 'psychic/runner'
2
+
3
+ module Psychic
4
+ module Runner
5
+ class CLI < Psychic::CLI
6
+ desc 'task <name>', 'Executes any task by name'
7
+ def task(task_name)
8
+ result = runner.execute_task(task_name, *extra_args)
9
+ result.error!
10
+ say_status :success, task_name
11
+ rescue Psychic::Shell::ExecutionError => e
12
+ say_status :failed, task_name, :red
13
+ say e.execution_result if e.execution_result
14
+ end
15
+
16
+ BUILT_IN_TASKS.each do |task_name|
17
+ desc task_name, "Executes the #{task_name} task"
18
+ define_method(task_name) do
19
+ task(task_name)
20
+ end
21
+ end
22
+
23
+ desc 'sample <name>', 'Executes a code sample'
24
+ # rubocop:disable Metrics/LineLength
25
+ method_option :interactive, desc: 'Prompt for parameters?', enum: %w(always missing), lazy_default: 'missing'
26
+ method_option :parameters, desc: 'YAML file containing key/value parameters. Default: psychic-parameters.yaml'
27
+ method_option :parameter_mode, desc: 'How should the parameters be passed?', enum: %w(tokens arguments env)
28
+ method_option :dry_run, desc: 'Do not execute - just show what command would be run', lazy_default: true
29
+ # rubocop:enable Metrics/LineLength
30
+ def sample(*sample_names)
31
+ sample_names.each do | sample_name |
32
+ say_status :executing, sample_name
33
+ begin
34
+ run_sample sample_name
35
+ rescue Errno::ENOENT
36
+ say_status :failed, "No code sample found for #{sample_name}", :red
37
+ # TODO: Fail on missing? Fail fast?
38
+ end
39
+ end
40
+ end
41
+
42
+ private
43
+
44
+ def run_sample(sample_name)
45
+ result = runner.run_sample(sample_name, *extra_args)
46
+ if options.dry_run
47
+ say_status :dry_run, sample_name
48
+ else
49
+ result.error!
50
+ say_status :success, sample_name
51
+ end
52
+ end
53
+
54
+ def runner
55
+ runner_opts = Util.symbolized_hash(options).merge(
56
+ cwd: Dir.pwd, cli: shell, parameters: options.parameters
57
+ )
58
+ @runner ||= Psychic::Runner.new(runner_opts)
59
+ end
60
+ end
61
+ end
62
+ end
@@ -1,5 +1,5 @@
1
1
  module Psychic
2
2
  class Runner
3
- VERSION = '0.0.6'
3
+ VERSION = '0.0.7'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: psychic-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Lincoln
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-17 00:00:00.000000000 Z
11
+ date: 2014-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -191,6 +191,7 @@ files:
191
191
  - lib/psychic/logger.rb
192
192
  - lib/psychic/runner.rb
193
193
  - lib/psychic/runner/base_runner.rb
194
+ - lib/psychic/runner/cli.rb
194
195
  - lib/psychic/runner/cold/shell_script_runner.rb
195
196
  - lib/psychic/runner/cold_runner_registry.rb
196
197
  - lib/psychic/runner/hot_runner.rb