guard-exec 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: dbc0afaa0fc9ab724706df3dd7c6b8ab379827f0d1414920eca5986f98ae2e15
4
+ data.tar.gz: f69c71d79ce5ea4e5eb6f7aa477b0c603243f4f888a0f04004bb365cf00d23d4
5
+ SHA512:
6
+ metadata.gz: 75badba1936cb27dda0eaf4e970855ee6fb4df885d509c8a6c8ff268542c5bdd05b631436b2a703c40c3649c39c2946743e699d495b7075718c04369e6781762
7
+ data.tar.gz: fe9caeef58d147c36588f7c9c32be270079ea122e2d3fc14cc2d6f41311ff1726133a2770e1f227469a7df98b4930c7e96fdf5d7e5388842ddd70314e90f45dc
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
12
+ /spec/examples.txt
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
@@ -0,0 +1 @@
1
+ inherit_from: .rubocop_todo.yml
@@ -0,0 +1,120 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2018-12-06 21:38:44 -0300 using RuboCop version 0.61.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 2
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: TreatCommentsAsGroupSeparators, Include.
12
+ # Include: **/*.gemfile, **/Gemfile, **/gems.rb
13
+ Bundler/OrderedGems:
14
+ Exclude:
15
+ - 'Gemfile'
16
+
17
+ # Offense count: 1
18
+ # Cop supports --auto-correct.
19
+ Layout/LeadingBlankLines:
20
+ Exclude:
21
+ - 'guard-exec.gemspec'
22
+
23
+ # Offense count: 1
24
+ # Cop supports --auto-correct.
25
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
26
+ # SupportedStyles: space, no_space
27
+ # SupportedStylesForEmptyBraces: space, no_space
28
+ Layout/SpaceInsideBlockBraces:
29
+ Exclude:
30
+ - 'Gemfile'
31
+
32
+ # Offense count: 2
33
+ # Cop supports --auto-correct.
34
+ # Configuration parameters: EnforcedStyle.
35
+ # SupportedStyles: final_newline, final_blank_line
36
+ Layout/TrailingBlankLines:
37
+ Exclude:
38
+ - 'lib/guard/exec.rb'
39
+ - 'lib/guard/exec/templates/Guardfile'
40
+
41
+ # Offense count: 1
42
+ Style/Documentation:
43
+ Enabled: false
44
+
45
+ # Offense count: 5
46
+ # Cop supports --auto-correct.
47
+ # Configuration parameters: EnforcedStyle.
48
+ # SupportedStyles: compact, expanded
49
+ Style/EmptyMethod:
50
+ Exclude:
51
+ - 'lib/guard/exec.rb'
52
+
53
+ # Offense count: 2
54
+ # Cop supports --auto-correct.
55
+ Style/ExpandPathArguments:
56
+ Exclude:
57
+ - 'guard-exec.gemspec'
58
+
59
+ # Offense count: 1
60
+ # Cop supports --auto-correct.
61
+ # Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
62
+ # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
63
+ Style/HashSyntax:
64
+ Exclude:
65
+ - 'Rakefile'
66
+
67
+ # Offense count: 1
68
+ # Cop supports --auto-correct.
69
+ Style/MutableConstant:
70
+ Exclude:
71
+ - 'lib/guard/exec/version.rb'
72
+
73
+ # Offense count: 2
74
+ # Cop supports --auto-correct.
75
+ # Configuration parameters: PreferredDelimiters.
76
+ Style/PercentLiteralDelimiters:
77
+ Exclude:
78
+ - 'Guardfile'
79
+ - 'guard-exec.gemspec'
80
+
81
+ # Offense count: 1
82
+ # Cop supports --auto-correct.
83
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
84
+ # SupportedStyles: slashes, percent_r, mixed
85
+ Style/RegexpLiteral:
86
+ Exclude:
87
+ - 'Guardfile'
88
+
89
+ # Offense count: 29
90
+ # Cop supports --auto-correct.
91
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
92
+ # SupportedStyles: single_quotes, double_quotes
93
+ Style/StringLiterals:
94
+ Exclude:
95
+ - 'Gemfile'
96
+ - 'Guardfile'
97
+ - 'Rakefile'
98
+ - 'bin/console'
99
+ - 'guard-exec.gemspec'
100
+ - 'spec/guard/exec_spec.rb'
101
+ - 'spec/spec_helper.rb'
102
+
103
+ # Offense count: 1
104
+ # Cop supports --auto-correct.
105
+ Style/UnneededPercentQ:
106
+ Exclude:
107
+ - 'guard-exec.gemspec'
108
+
109
+ # Offense count: 10
110
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
111
+ # URISchemes: http, https
112
+ Metrics/LineLength:
113
+ Max: 114
114
+
115
+ Metrics/MethodLength:
116
+ Max: 13
117
+
118
+ Metrics/BlockLength:
119
+ Exclude:
120
+ - 'spec/**/*.rb'
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.0
5
+ before_install: gem install bundler -v 1.16.2
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in guard-exec.gemspec
6
+ gemspec
7
+
8
+ group :development do
9
+ gem 'rubocop', require: false
10
+ gem 'guard-rubocop', require: false
11
+ gem 'guard-rspec', require: false
12
+ end
@@ -0,0 +1,98 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ guard-exec (0.1.0)
5
+ colorize
6
+ guard (~> 2.1)
7
+ guard-compat (~> 1.1)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ ast (2.4.0)
13
+ coderay (1.1.2)
14
+ colorize (0.8.1)
15
+ diff-lcs (1.3)
16
+ ffi (1.9.25)
17
+ formatador (0.2.5)
18
+ guard (2.15.0)
19
+ formatador (>= 0.2.4)
20
+ listen (>= 2.7, < 4.0)
21
+ lumberjack (>= 1.0.12, < 2.0)
22
+ nenv (~> 0.1)
23
+ notiffany (~> 0.0)
24
+ pry (>= 0.9.12)
25
+ shellany (~> 0.0)
26
+ thor (>= 0.18.1)
27
+ guard-compat (1.2.1)
28
+ guard-rspec (4.7.3)
29
+ guard (~> 2.1)
30
+ guard-compat (~> 1.1)
31
+ rspec (>= 2.99.0, < 4.0)
32
+ guard-rubocop (1.3.0)
33
+ guard (~> 2.0)
34
+ rubocop (~> 0.20)
35
+ jaro_winkler (1.5.1)
36
+ listen (3.1.5)
37
+ rb-fsevent (~> 0.9, >= 0.9.4)
38
+ rb-inotify (~> 0.9, >= 0.9.7)
39
+ ruby_dep (~> 1.2)
40
+ lumberjack (1.0.13)
41
+ method_source (0.9.2)
42
+ nenv (0.3.0)
43
+ notiffany (0.1.1)
44
+ nenv (~> 0.1)
45
+ shellany (~> 0.0)
46
+ parallel (1.12.1)
47
+ parser (2.5.3.0)
48
+ ast (~> 2.4.0)
49
+ powerpack (0.1.2)
50
+ pry (0.12.2)
51
+ coderay (~> 1.1.0)
52
+ method_source (~> 0.9.0)
53
+ rainbow (3.0.0)
54
+ rake (10.5.0)
55
+ rb-fsevent (0.10.3)
56
+ rb-inotify (0.9.10)
57
+ ffi (>= 0.5.0, < 2)
58
+ rspec (3.8.0)
59
+ rspec-core (~> 3.8.0)
60
+ rspec-expectations (~> 3.8.0)
61
+ rspec-mocks (~> 3.8.0)
62
+ rspec-core (3.8.0)
63
+ rspec-support (~> 3.8.0)
64
+ rspec-expectations (3.8.2)
65
+ diff-lcs (>= 1.2.0, < 2.0)
66
+ rspec-support (~> 3.8.0)
67
+ rspec-mocks (3.8.0)
68
+ diff-lcs (>= 1.2.0, < 2.0)
69
+ rspec-support (~> 3.8.0)
70
+ rspec-support (3.8.0)
71
+ rubocop (0.61.1)
72
+ jaro_winkler (~> 1.5.1)
73
+ parallel (~> 1.10)
74
+ parser (>= 2.5, != 2.5.1.1)
75
+ powerpack (~> 0.1)
76
+ rainbow (>= 2.2.2, < 4.0)
77
+ ruby-progressbar (~> 1.7)
78
+ unicode-display_width (~> 1.4.0)
79
+ ruby-progressbar (1.10.0)
80
+ ruby_dep (1.5.0)
81
+ shellany (0.0.1)
82
+ thor (0.20.3)
83
+ unicode-display_width (1.4.0)
84
+
85
+ PLATFORMS
86
+ ruby
87
+
88
+ DEPENDENCIES
89
+ bundler (~> 1.16)
90
+ guard-exec!
91
+ guard-rspec
92
+ guard-rubocop
93
+ rake (~> 10.0)
94
+ rspec (~> 3.0)
95
+ rubocop
96
+
97
+ BUNDLED WITH
98
+ 1.16.2
@@ -0,0 +1,21 @@
1
+ clearing :on
2
+
3
+ guard :rspec, cmd: 'bundle exec rspec' do
4
+ require "guard/rspec/dsl"
5
+ dsl = Guard::RSpec::Dsl.new(self)
6
+
7
+ # Ruby files
8
+ ruby = dsl.ruby
9
+ dsl.watch_spec_files_for(ruby.lib_files)
10
+
11
+ # RSpec files
12
+ rspec = dsl.rspec
13
+ watch(rspec.spec_helper) { rspec.spec_dir }
14
+ watch(rspec.spec_support) { rspec.spec_dir }
15
+ watch(rspec.spec_files)
16
+ end
17
+
18
+ guard :rubocop do
19
+ watch(%r{.+\.rb$})
20
+ watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m[0]) }
21
+ end
@@ -0,0 +1,89 @@
1
+ # Guard::Exec
2
+ ![gem_version](https://img.shields.io/badge/gem__version-0.1.0-green.svg)
3
+
4
+ ## Install
5
+
6
+ Add the gem to your Gemfile (inside development group):
7
+
8
+ ``` ruby
9
+ gem 'guard-exec', require: false
10
+ ```
11
+
12
+ Add guard definition to your Guardfile by running this command:
13
+
14
+ ```
15
+ $ bundle exec guard init rspec
16
+ ```
17
+
18
+ ## Usage
19
+
20
+ Please read [Guard usage doc](https://github.com/guard/guard#readme).
21
+
22
+ ## Guardfile
23
+
24
+ Guard::Exec can be adapted to all kinds of projects.
25
+
26
+ ### Options
27
+
28
+ ```
29
+ # [command] [command_options] paths [commands_arguments]
30
+ # for crystal minitest:
31
+ $ crystal spec -d spec/router.cr -- --chaos
32
+ ```
33
+
34
+ The following options are available:
35
+
36
+ - name
37
+ The display name of your process in Guard, this is shown when Guard::Exec is starting
38
+ - color
39
+ The display color of yout proccess, Please read
40
+ [Colorize usage](https://github.com/fazibear/colorize).
41
+ - command
42
+ The command to run as you would run it from the command line `crystal spec`
43
+ - command_options
44
+ The command options or switches ` -d`
45
+ - commands_arguments
46
+ The command arguments ` -- --chaos`
47
+
48
+ ## Examples
49
+
50
+ ### Crystal minitest
51
+
52
+ ``` ruby
53
+ # crystal spec -- --chaos
54
+ guard :exec, name: 'Minitest', command: 'crystal spec', comand_arguments: '-- --chaos' do
55
+ watch(%r{^spec/(.*)_spec\.cr})
56
+ watch(%r{^src/[^/+]+/(.+)\.cr$}) { |m| "spec/#{m[1]}_spec.cr" }
57
+ end
58
+
59
+ ```
60
+
61
+ ### Elixir Test
62
+ ``` ruby
63
+ # mix test
64
+ guard :exec, name: 'Test', command: 'mix test' do
65
+ watch(%r{^test/(.*)_test\.exs})
66
+ watch(%r{^lib/(.+)\.ex$}) { |m| "test/#{m[1]}_test.exs" }
67
+ watch(%r{^test/test_helper.exs$}) { "test" }
68
+ end
69
+ ```
70
+
71
+ ### Elixir Credo
72
+ ``` ruby
73
+ # mix credo --strict --format=oneline
74
+ credo = {
75
+ name: 'Credo',
76
+ command: 'mix credo',
77
+ command_options: '--strict --format=oneline',
78
+ color: :yellow
79
+ }
80
+
81
+ guard :exec, credo do
82
+ watch(%r{\.(erl|ex|exs|eex|xrl|yrl)$})
83
+ end
84
+ ```
85
+
86
+
87
+ ## Contributing
88
+
89
+ Bug reports and pull requests are welcome on GitHub at https://github.com/clouw/guard-exec.
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "guard/exec"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,30 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "guard/exec/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "guard-exec"
8
+ spec.version = Guard::EXEC_VERSION
9
+ spec.authors = ["Ramón Soto"]
10
+ spec.email = ["ddsstr@gmail.com"]
11
+
12
+ spec.summary = %q{execute command on guard}
13
+
14
+ # Specify which files should be added to the gem when it is released.
15
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
16
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
17
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ end
19
+ spec.bindir = "exe"
20
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.require_paths = ["lib"]
22
+
23
+ spec.add_dependency 'colorize'
24
+ spec.add_dependency "guard", "~> 2.1"
25
+ spec.add_dependency "guard-compat", "~> 1.1"
26
+
27
+ spec.add_development_dependency "bundler", "~> 1.16"
28
+ spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "rspec", "~> 3.0"
30
+ end
@@ -0,0 +1,102 @@
1
+ require 'colorize'
2
+ require 'guard/compat/plugin'
3
+ require 'guard/exec/version'
4
+ require 'guard/exec/options'
5
+ require 'guard/exec/runner'
6
+
7
+ module Guard
8
+ class Exec < Plugin
9
+ attr_accessor :options, :runner
10
+ # Initializes a Guard plugin.
11
+ # Don't do any work here, especially as Guard plugins get initialized even if they are not in an active group!
12
+ #
13
+ # @param [Hash] options the custom Guard plugin options
14
+ # @option options [Array<Guard::Watcher>] watchers the Guard plugin file watchers
15
+ # @option options [Symbol] group the group this Guard plugin belongs to
16
+ # @option options [Boolean] any_return allow any object to be returned from a watcher
17
+ #
18
+ def initialize(options = {})
19
+ raise MissingCommandOption unless options[:command]
20
+
21
+ super
22
+
23
+ @options = Options.with_defaults(options)
24
+ @runner = Runner.new(@options)
25
+ end
26
+
27
+ # Called once when Guard starts. Please override initialize method to init stuff.
28
+ #
29
+ # @raise [:task_has_failed] when start has failed
30
+ # @return [Object] the task result
31
+ #
32
+ def start
33
+ end
34
+
35
+ # Called when `stop|quit|exit|s|q|e + enter` is pressed (when Guard quits).
36
+ #
37
+ # @raise [:task_has_failed] when stop has failed
38
+ # @return [Object] the task result
39
+ #
40
+ def stop
41
+ end
42
+
43
+ # Called when `reload|r|z + enter` is pressed.
44
+ # This method should be mainly used for "reload" (really!) actions like reloading passenger/spork/bundler/...
45
+ #
46
+ # @raise [:task_has_failed] when reload has failed
47
+ # @return [Object] the task result
48
+ #
49
+ def reload
50
+ end
51
+
52
+ # Called when just `enter` is pressed
53
+ # This method should be principally used for long action like running all specs/tests/...
54
+ #
55
+ # @raise [:task_has_failed] when run_all has failed
56
+ # @return [Object] the task result
57
+ #
58
+ def run_all
59
+ Compat::UI.info ['Running all', options[:name]].compact.join ' '
60
+
61
+ runner.run
62
+ end
63
+
64
+ # Called on file(s) additions that the Guard plugin watches.
65
+ #
66
+ # @param [Array<String>] paths the changes files or paths
67
+ # @raise [:task_has_failed] when run_on_additions has failed
68
+ # @return [Object] the task result
69
+ #
70
+ def run_on_additions(paths)
71
+ end
72
+
73
+ # Called on file(s) modifications that the Guard plugin watches.
74
+ #
75
+ # @param [Array<String>] paths the changes files or paths
76
+ # @raise [:task_has_failed] when run_on_modifications has failed
77
+ # @return [Object] the task result
78
+ #
79
+ def run_on_modifications(paths)
80
+ return if paths.empty?
81
+
82
+ Compat::UI.info("Running: [#{paths.join(', ')}]", reset: true)
83
+
84
+ runner.run(paths)
85
+ end
86
+
87
+ # Called on file(s) removals that the Guard plugin watches.
88
+ #
89
+ # @param [Array<String>] paths the changes files or paths
90
+ # @raise [:task_has_failed] when run_on_removals has failed
91
+ # @return [Object] the task result
92
+ #
93
+ def run_on_removals(paths)
94
+ end
95
+
96
+ class MissingCommandOption < StandardError
97
+ def message
98
+ 'missing required option :command'
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,31 @@
1
+ module Guard
2
+ class Exec < Plugin
3
+ module Options
4
+ DEFAULTS = {
5
+ command: nil,
6
+ command_options: nil,
7
+ command_arguments: nil,
8
+ name: nil,
9
+ color: :light_green
10
+ }.freeze
11
+
12
+ class << self
13
+ def with_defaults(options = {})
14
+ _deep_merge(DEFAULTS, options)
15
+ end
16
+
17
+ private
18
+
19
+ def _deep_merge(hash1, hash2)
20
+ hash1.merge(hash2) do |_key, oldval, newval|
21
+ if oldval.instance_of?(Hash) && newval.instance_of?(Hash)
22
+ _deep_merge(oldval, newval)
23
+ else
24
+ newval
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,44 @@
1
+ module Guard
2
+ class Exec < Plugin
3
+ class Runner
4
+ DEFAULT_NAME = 'command'.freeze
5
+
6
+ attr_accessor :options
7
+
8
+ def initialize(options)
9
+ @options = options
10
+ end
11
+
12
+ def run(paths = [])
13
+ command = build_command(paths)
14
+ show_command(command)
15
+ system(command)
16
+ end
17
+
18
+ def title
19
+ @title ||= "❱ #{name.capitalize}".colorize(options[:color])
20
+ end
21
+
22
+ private
23
+
24
+ def name
25
+ options[:name] || DEFAULT_NAME
26
+ end
27
+
28
+ def build_command(paths)
29
+ command = [
30
+ options[:command],
31
+ options[:command_options],
32
+ paths,
33
+ options[:command_arguments]
34
+ ]
35
+
36
+ command.reject { |el| el.nil? || el.empty? }.join(' ')
37
+ end
38
+
39
+ def show_command(command)
40
+ Compat::UI.info "\n#{title} [exec] : - #{command}\n\n"
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,30 @@
1
+ # directories %w(lib test)
2
+ # clearing :on
3
+
4
+ # # Crystal minitest
5
+ # # crystal spec -- --chaos
6
+ # guard :exec, name: 'Minitest', command: 'crystal spec', comand_arguments: '-- --chaos' do
7
+ # watch(%r{^spec/(.*)_spec\.cr})
8
+ # watch(%r{^src/[^/+]+/(.+)\.cr$}) { |m| "spec/#{m[1]}_spec.cr" }
9
+ # end
10
+
11
+ # # Elixir Test
12
+ # # mix test
13
+ # guard :exec, name: 'Test', command: 'mix test' do
14
+ # watch(%r{^test/(.*)_test\.exs})
15
+ # watch(%r{^lib/(.+)\.ex$}) { |m| "test/#{m[1]}_test.exs" }
16
+ # watch(%r{^test/test_helper.exs$}) { "test" }
17
+ # end
18
+
19
+ # # Elixir Credo
20
+ # # mix credo --strict --format=oneline
21
+ # credo = {
22
+ # name: 'Credo',
23
+ # command: 'mix credo',
24
+ # command_options: '--strict --format=oneline',
25
+ # color: :yellow
26
+ # }
27
+
28
+ # guard :exec, credo do
29
+ # watch(%r{\.(erl|ex|exs|eex|xrl|yrl)$})
30
+ # end
@@ -0,0 +1,3 @@
1
+ module Guard
2
+ EXEC_VERSION = '0.1.0'
3
+ end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: guard-exec
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ramón Soto
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-12-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: colorize
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: guard
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: guard-compat
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.16'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.16'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '10.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '10.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ description:
98
+ email:
99
+ - ddsstr@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".rspec"
106
+ - ".rubocop.yml"
107
+ - ".rubocop_todo.yml"
108
+ - ".travis.yml"
109
+ - Gemfile
110
+ - Gemfile.lock
111
+ - Guardfile
112
+ - README.md
113
+ - Rakefile
114
+ - bin/console
115
+ - bin/setup
116
+ - guard-exec.gemspec
117
+ - lib/guard/exec.rb
118
+ - lib/guard/exec/options.rb
119
+ - lib/guard/exec/runner.rb
120
+ - lib/guard/exec/templates/Guardfile
121
+ - lib/guard/exec/version.rb
122
+ homepage:
123
+ licenses: []
124
+ metadata: {}
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubyforge_project:
141
+ rubygems_version: 2.7.7
142
+ signing_key:
143
+ specification_version: 4
144
+ summary: execute command on guard
145
+ test_files: []