guard-konacha 0.3.1 → 1.0.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.
- checksums.yaml +15 -0
- data/LICENSE +1 -1
- data/Readme.md +14 -34
- data/lib/guard/konacha.rb +7 -13
- data/lib/guard/konacha/formatter.rb +66 -0
- data/lib/guard/konacha/runner.rb +46 -139
- data/lib/guard/konacha/server.rb +32 -0
- data/lib/guard/konacha/templates/Guardfile +4 -2
- data/lib/guard/konacha/version.rb +1 -1
- metadata +19 -52
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YTQ3Njc0ZWMxYmZjYzM1N2RlMjgzNzc4M2ZmYzUyZGQ5NmQ3NTkzZg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZjZjNmI1ZDMzMWIzZDZhNzY1ZjNiYmM2M2JiZjliZWM5NTRmZmExMg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MmJmM2FlNTA1MTY1YzM2NDkxYzc2MWIzZjZmMWJmZDMwYTU5NWI1MGU2OGNj
|
10
|
+
Y2E1OWIxMWY3NTk0NzFlM2IzOTA1ZTk1MmVlMmE4NTRmYjZkYmZhZmEyYTEw
|
11
|
+
YzY2NDRlMWQ4YjkxYmYwNWY2NTJmMjcyZDU3NzQwZGJlOThmYWY=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MzJjMjFjMjk2YWQ2ZmY5MjA4MWFkMmUzNzk1N2FjYjZlY2ViZmJjMmFlNDMy
|
14
|
+
OWVhZDA5Zjc1Mzc0YjMyYjVjZjZjYzg2MDc2NzU1MDM1MzE1Zjc2MGFiYzI1
|
15
|
+
OTc3NzNhNGI5Mzc3ZmNiMmUyNDkzNWY4ZDI1OTljOGVmOGM1OTg=
|
data/LICENSE
CHANGED
data/Readme.md
CHANGED
@@ -1,55 +1,35 @@
|
|
1
|
-
# Guard::Konacha [](https://travis-ci.org/alexgb/guard-konacha)
|
1
|
+
# Guard::Konacha [](https://travis-ci.org/alexgb/guard-konacha)
|
2
2
|
|
3
3
|
Automatically run your [Konacha](https://github.com/jfirebaugh/konacha) tests through [Guard](https://github.com/guard/guard/).
|
4
4
|
|
5
5
|
## Install
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
$ gem install guard-konacha
|
10
|
-
|
11
|
-
Or add to your Gemfile:
|
7
|
+
If you haven't already, start by installing and configuring [Konacha](https://github.com/jfirebaugh/konacha). Then add the `guard-konacha` gem to your Gemfile:
|
12
8
|
|
9
|
+
# Gemfile
|
13
10
|
gem 'guard-konacha'
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
Add guard definitions to your `Guardfile`
|
18
|
-
|
19
|
-
guard :konacha do
|
20
|
-
watch(%r{^app/assets/javascripts/(.*)\.js(\.coffee)?$}) { |m| "#{m[1]}_spec.js" }
|
21
|
-
watch(%r{^spec/javascripts/.+_spec(\.js|\.js\.coffee)$})
|
22
|
-
end
|
12
|
+
And install
|
23
13
|
|
24
|
-
|
14
|
+
$ bundle install
|
25
15
|
|
26
|
-
|
16
|
+
## Setup
|
27
17
|
|
28
|
-
|
29
|
-
# ...
|
30
|
-
end
|
18
|
+
Add the default configurations to your Guardfile.
|
31
19
|
|
32
|
-
|
33
|
-
driver:
|
20
|
+
$ bundle exec guard init konacha
|
34
21
|
|
35
|
-
|
36
|
-
guard :konacha, :driver => :webkit do
|
37
|
-
# ...
|
38
|
-
end
|
22
|
+
## Run
|
39
23
|
|
40
|
-
|
24
|
+
And that's it. Your Konacha powered JavaScript tests will now run whenever your JavaScript assets or spec files change.
|
41
25
|
|
42
|
-
|
43
|
-
guard :konacha, :driver => :poltergeist do
|
44
|
-
# ...
|
45
|
-
end
|
26
|
+
$ bundle exec guard
|
46
27
|
|
47
|
-
|
48
|
-
default `localhost` and `3500`, the configuration settings `:host` and `:port` will help you there.
|
28
|
+
## Additionally
|
49
29
|
|
50
|
-
|
30
|
+
I recommend using the [capybara-webkit](https://github.com/thoughtbot/capybara-webkit) or [poltergeist](https://github.com/jonleighton/poltergeist) drivers rather than the default selenium based driver. See [Konacha instructions](https://github.com/jfirebaugh/konacha#configuration).
|
51
31
|
|
52
|
-
|
32
|
+
To get system notifications see [Guard instructions](https://github.com/guard/guard/wiki/System-notifications).
|
53
33
|
|
54
34
|
## Contributors
|
55
35
|
|
data/lib/guard/konacha.rb
CHANGED
@@ -1,10 +1,15 @@
|
|
1
1
|
require 'guard'
|
2
2
|
require 'guard/guard'
|
3
|
+
require 'rails'
|
4
|
+
require 'konacha'
|
3
5
|
|
4
6
|
module Guard
|
5
7
|
class Konacha < Guard
|
6
8
|
|
7
9
|
autoload :Runner, 'guard/konacha/runner'
|
10
|
+
autoload :Formatter, 'guard/konacha/formatter'
|
11
|
+
autoload :Server, 'guard/konacha/server'
|
12
|
+
|
8
13
|
attr_accessor :runner
|
9
14
|
|
10
15
|
def initialize(watchers=[], options={})
|
@@ -13,18 +18,11 @@ module Guard
|
|
13
18
|
end
|
14
19
|
|
15
20
|
def start
|
16
|
-
runner.
|
17
|
-
runner.launch_konacha("Start")
|
18
|
-
runner.run_all_on_start
|
19
|
-
end
|
20
|
-
|
21
|
-
def reload
|
22
|
-
runner.kill_konacha
|
23
|
-
runner.launch_konacha("Reload")
|
21
|
+
runner.start
|
24
22
|
end
|
25
23
|
|
26
24
|
def run_all
|
27
|
-
runner.
|
25
|
+
runner.run
|
28
26
|
end
|
29
27
|
|
30
28
|
def run_on_changes(paths)
|
@@ -33,9 +31,5 @@ module Guard
|
|
33
31
|
# for guard 1.0.x and earlier
|
34
32
|
alias :run_on_change :run_on_changes
|
35
33
|
|
36
|
-
def stop
|
37
|
-
runner.kill_konacha
|
38
|
-
end
|
39
|
-
|
40
34
|
end
|
41
35
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module Guard
|
2
|
+
class Konacha
|
3
|
+
class Formatter < ::Konacha::Formatter
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
super($stdout)
|
7
|
+
end
|
8
|
+
|
9
|
+
def reset
|
10
|
+
io.puts ""
|
11
|
+
@examples = []
|
12
|
+
end
|
13
|
+
|
14
|
+
def dump_summary(duration, example_count, failure_count, pending_count); end
|
15
|
+
def dump_failures; end
|
16
|
+
def dump_pending; end
|
17
|
+
|
18
|
+
def success?
|
19
|
+
failed_examples.empty?
|
20
|
+
end
|
21
|
+
|
22
|
+
def write_summary
|
23
|
+
io.puts ""
|
24
|
+
io.puts [
|
25
|
+
failed_examples_message,
|
26
|
+
pending_examples_message
|
27
|
+
].reject(&:empty?).join("\n\n")
|
28
|
+
io.puts ""
|
29
|
+
io.puts summary_line
|
30
|
+
end
|
31
|
+
|
32
|
+
def summary_line
|
33
|
+
"#{examples.size} examples, #{failed_examples.size} failed, #{pending_examples.size} pending"
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
|
40
|
+
def failed_examples
|
41
|
+
@examples.select(&:failed?).select(&:exception)
|
42
|
+
end
|
43
|
+
|
44
|
+
def pending_examples
|
45
|
+
@examples.select(&:pending?)
|
46
|
+
end
|
47
|
+
|
48
|
+
def failed_examples_message
|
49
|
+
failed_examples.map { |e| failure_message(e) }.join("\n\n")
|
50
|
+
end
|
51
|
+
|
52
|
+
def failure_message(example)
|
53
|
+
" \xE2\x9C\x96 ".red + "#{example.metadata['path']}\n" + super
|
54
|
+
end
|
55
|
+
|
56
|
+
def pending_examples_message
|
57
|
+
pending_examples.map { |e| pending_message(e) }.join("\n\n")
|
58
|
+
end
|
59
|
+
|
60
|
+
def pending_message(example)
|
61
|
+
" \xE2\x97\x8B ".yellow + "#{example.metadata['path']}\n" + super
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
data/lib/guard/konacha/runner.rb
CHANGED
@@ -1,182 +1,89 @@
|
|
1
|
-
require 'net/http'
|
2
|
-
require 'childprocess'
|
3
|
-
require 'capybara'
|
4
|
-
require 'active_support/core_ext/module/delegation'
|
5
|
-
require 'active_support/core_ext/object/blank'
|
6
|
-
require 'konacha/reporter'
|
7
|
-
require 'konacha/formatter'
|
8
|
-
require 'konacha/runner'
|
9
|
-
|
10
1
|
module Guard
|
11
2
|
class Konacha
|
12
3
|
class Runner
|
13
4
|
|
14
5
|
DEFAULT_OPTIONS = {
|
15
|
-
:
|
16
|
-
:spec_dir => 'spec/javascripts',
|
17
|
-
:run_all => true,
|
18
|
-
:all_on_start => true,
|
19
|
-
:driver => :selenium,
|
20
|
-
:host => 'localhost',
|
21
|
-
:port => 3500,
|
6
|
+
:run_all_on_start => :true,
|
22
7
|
:notification => true,
|
23
|
-
:
|
8
|
+
:rails_environment_file => './config/environment'
|
24
9
|
}
|
25
10
|
|
26
|
-
attr_reader :options
|
11
|
+
attr_reader :options, :formatter
|
27
12
|
|
28
13
|
def initialize(options={})
|
29
14
|
@options = DEFAULT_OPTIONS.merge(options)
|
30
|
-
UI.info "Guard::Konacha Initialized"
|
31
|
-
end
|
32
|
-
|
33
|
-
def launch_konacha(action)
|
34
|
-
UI.info "#{action}ing Konacha", :reset => true
|
35
|
-
spawn_konacha
|
36
|
-
end
|
37
|
-
|
38
|
-
def kill_konacha
|
39
|
-
clear_session!
|
40
|
-
if @process
|
41
|
-
@process.stop(5)
|
42
|
-
UI.info "Konacha Stopped", :reset => true
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def run(paths=[])
|
47
|
-
return UI.info("Konacha server not running") unless konacha_running?
|
48
15
|
|
49
|
-
|
16
|
+
# Require project's rails environment file to load Konacha
|
17
|
+
# configuration
|
18
|
+
require_rails_environment
|
19
|
+
raise "Konacha not loaded" unless defined? ::Konacha
|
50
20
|
|
51
|
-
|
52
|
-
|
21
|
+
# Custom formatter to handle multiple runs
|
22
|
+
@formatter = Formatter.new
|
23
|
+
::Konacha.config.formatters = [@formatter]
|
53
24
|
|
54
|
-
|
55
|
-
|
56
|
-
:failures => 0,
|
57
|
-
:pending => 0,
|
58
|
-
:duration => 0
|
59
|
-
}
|
25
|
+
# Reusable session to increase performance
|
26
|
+
@session = Capybara::Session.new(::Konacha.driver, Server.new)
|
60
27
|
|
61
|
-
|
62
|
-
individual_result = run_tests(url, paths[index])
|
28
|
+
::Konacha.mode = :runner
|
63
29
|
|
64
|
-
|
65
|
-
|
66
|
-
test_results[:pending] += individual_result[:pending]
|
67
|
-
test_results[:duration] += individual_result[:duration]
|
68
|
-
end
|
69
|
-
|
70
|
-
result_line = "#{test_results[:examples]} examples, #{test_results[:failures]} failures"
|
71
|
-
result_line << ", #{test_results[:pending]} pending" if test_results[:pending] > 0
|
72
|
-
text = [
|
73
|
-
result_line,
|
74
|
-
"in #{"%.2f" % test_results[:duration]} seconds"
|
75
|
-
].join "\n"
|
76
|
-
|
77
|
-
UI.info text if urls.length > 1
|
30
|
+
UI.info "Guard::Konacha Initialized"
|
31
|
+
end
|
78
32
|
|
79
|
-
|
80
|
-
|
81
|
-
::Guard::Notifier.notify(text, :title => 'Konacha Specs', :image => image )
|
82
|
-
end
|
33
|
+
def start
|
34
|
+
run if options[:run_all_on_start]
|
83
35
|
end
|
84
36
|
|
85
|
-
|
86
|
-
|
87
|
-
:failures => 0,
|
88
|
-
:pending => 0,
|
89
|
-
:duration => 0,
|
90
|
-
}
|
37
|
+
def run(paths = [''])
|
38
|
+
formatter.reset
|
91
39
|
|
92
|
-
|
93
|
-
|
94
|
-
unless valid_spec? url
|
95
|
-
UI.warning "No spec found for: #{path}"
|
96
|
-
return EMPTY_RESULT
|
40
|
+
paths.each do |path|
|
41
|
+
runner.run konacha_path(path)
|
97
42
|
end
|
98
43
|
|
99
|
-
|
100
|
-
|
101
|
-
return {
|
102
|
-
:examples => runner.reporter.example_count,
|
103
|
-
:failures => runner.reporter.failure_count,
|
104
|
-
:pending => runner.reporter.pending_count,
|
105
|
-
:duration => runner.reporter.duration
|
106
|
-
}
|
44
|
+
formatter.write_summary
|
45
|
+
notify
|
107
46
|
rescue => e
|
108
|
-
UI.error
|
109
|
-
@session = nil
|
110
|
-
end
|
111
|
-
|
112
|
-
def run_all
|
113
|
-
run if @options[:run_all]
|
47
|
+
UI.error(e)
|
114
48
|
end
|
115
49
|
|
116
|
-
def run_all_on_start
|
117
|
-
run_all if @options[:all_on_start]
|
118
|
-
end
|
119
50
|
|
120
51
|
private
|
121
52
|
|
122
|
-
def konacha_url(path = nil)
|
123
|
-
url_path = path.gsub(/^#{@options[:spec_dir]}\/?/, '').gsub(/\.coffee$/, '').gsub(/\.js$/, '') unless path.nil?
|
124
|
-
"#{konacha_base_url}/#{url_path}?mode=runner&unique=#{unique_id}"
|
125
|
-
end
|
126
|
-
|
127
|
-
def unique_id
|
128
|
-
"#{Time.now.to_i}#{rand(100)}"
|
129
|
-
end
|
130
|
-
|
131
|
-
def session
|
132
|
-
UI.info "Starting Konacha-Capybara session using #{@options[:driver]} driver, this can take a few seconds..." if @session.nil?
|
133
|
-
@session ||= Capybara::Session.new @options[:driver]
|
134
|
-
end
|
135
53
|
|
136
|
-
def
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
cmd_parts.split
|
147
|
-
end
|
148
|
-
|
149
|
-
def spawn_konacha
|
150
|
-
unless @process
|
151
|
-
@process = ChildProcess.build(*spawn_konacha_command)
|
152
|
-
@process.io.inherit! if ::Guard.respond_to?(:options) && ::Guard.options && ::Guard.options[:verbose]
|
153
|
-
@process.start
|
154
|
-
|
155
|
-
Timeout::timeout(@options[:spawn_wait]) do
|
156
|
-
until konacha_running?
|
157
|
-
sleep(0.2)
|
54
|
+
def require_rails_environment
|
55
|
+
if @options[:rails_environment_file]
|
56
|
+
require @options[:rails_environment_file]
|
57
|
+
else
|
58
|
+
dir = '.'
|
59
|
+
while File.expand_path(dir) != '/' do
|
60
|
+
env_file = File.join(dir, 'config/environment.rb')
|
61
|
+
if File.exist?(env_file)
|
62
|
+
require File.expand_path(env_file)
|
63
|
+
break
|
158
64
|
end
|
65
|
+
dir = File.join(dir, '..')
|
159
66
|
end
|
160
67
|
end
|
161
68
|
end
|
162
69
|
|
163
|
-
def
|
164
|
-
|
70
|
+
def runner
|
71
|
+
::Konacha::Runner.new(@session)
|
165
72
|
end
|
166
73
|
|
167
|
-
def
|
168
|
-
|
169
|
-
rescue Errno::ECONNREFUSED
|
74
|
+
def konacha_path(path)
|
75
|
+
'/' + path.gsub(/^#{::Konacha.config[:spec_dir]}\/?/, '').gsub(/\.coffee$/, '').gsub(/\.js$/, '')
|
170
76
|
end
|
171
77
|
|
172
|
-
def
|
173
|
-
|
78
|
+
def unique_id
|
79
|
+
"#{Time.now.to_i}#{rand(100)}"
|
174
80
|
end
|
175
81
|
|
176
|
-
def
|
177
|
-
|
178
|
-
|
179
|
-
|
82
|
+
def notify
|
83
|
+
if options[:notification]
|
84
|
+
image = @formatter.success? ? :success : :failed
|
85
|
+
::Guard::Notifier.notify(@formatter.summary_line, :title => "Konacha Specs", :image => image)
|
86
|
+
end
|
180
87
|
end
|
181
88
|
|
182
89
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Guard
|
2
|
+
class Konacha
|
3
|
+
class Server < Rack::Builder
|
4
|
+
|
5
|
+
def self.new
|
6
|
+
super do
|
7
|
+
use CacheBuster
|
8
|
+
run ::Konacha.application
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class CacheBuster
|
13
|
+
|
14
|
+
def initialize(app)
|
15
|
+
@app = app
|
16
|
+
end
|
17
|
+
|
18
|
+
def call(env)
|
19
|
+
status, headers, body = @app.call(env)
|
20
|
+
|
21
|
+
headers.delete('Last-Modified')
|
22
|
+
headers.delete('ETag')
|
23
|
+
headers.delete('Cache-Control')
|
24
|
+
|
25
|
+
[status, headers, body]
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -1,7 +1,9 @@
|
|
1
1
|
### Guard::Konacha
|
2
2
|
# available options:
|
3
|
-
# - :
|
4
|
-
# - :
|
3
|
+
# - :run_all_on_start, defaults to :true
|
4
|
+
# - :notification, defaults to :true
|
5
|
+
# - :rails_environment_file, location of rails environment file,
|
6
|
+
# should be able to find it automatically
|
5
7
|
guard :konacha do
|
6
8
|
watch(%r{^app/assets/javascripts/(.*)\.js(\.coffee)?$}) { |m| "#{m[1]}_spec.js" }
|
7
9
|
watch(%r{^spec/javascripts/.+_spec(\.js|\.js\.coffee)$})
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-konacha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Alex Gibbons
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-08-01 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: guard
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,55 +27,34 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: konacha
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ! '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: '
|
33
|
+
version: '3.0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ! '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: '
|
40
|
+
version: '3.0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '2.2'
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '2.2'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: childprocess
|
42
|
+
name: rspec
|
64
43
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
44
|
requirements:
|
67
45
|
- - ! '>='
|
68
46
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
70
|
-
type: :
|
47
|
+
version: '2.13'
|
48
|
+
type: :development
|
71
49
|
prerelease: false
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
51
|
requirements:
|
75
52
|
- - ! '>='
|
76
53
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
54
|
+
version: '2.13'
|
78
55
|
- !ruby/object:Gem::Dependency
|
79
|
-
name:
|
56
|
+
name: timecop
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
58
|
requirements:
|
83
59
|
- - ! '>='
|
84
60
|
- !ruby/object:Gem::Version
|
@@ -86,15 +62,13 @@ dependencies:
|
|
86
62
|
type: :development
|
87
63
|
prerelease: false
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
65
|
requirements:
|
91
66
|
- - ! '>='
|
92
67
|
- !ruby/object:Gem::Version
|
93
68
|
version: '0'
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
|
-
name:
|
70
|
+
name: simplecov
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
72
|
requirements:
|
99
73
|
- - ! '>='
|
100
74
|
- !ruby/object:Gem::Version
|
@@ -102,15 +76,13 @@ dependencies:
|
|
102
76
|
type: :development
|
103
77
|
prerelease: false
|
104
78
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
79
|
requirements:
|
107
80
|
- - ! '>='
|
108
81
|
- !ruby/object:Gem::Version
|
109
82
|
version: '0'
|
110
83
|
- !ruby/object:Gem::Dependency
|
111
|
-
name:
|
84
|
+
name: poltergeist
|
112
85
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
86
|
requirements:
|
115
87
|
- - ! '>='
|
116
88
|
- !ruby/object:Gem::Version
|
@@ -118,7 +90,6 @@ dependencies:
|
|
118
90
|
type: :development
|
119
91
|
prerelease: false
|
120
92
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
93
|
requirements:
|
123
94
|
- - ! '>='
|
124
95
|
- !ruby/object:Gem::Version
|
@@ -130,14 +101,18 @@ executables: []
|
|
130
101
|
extensions: []
|
131
102
|
extra_rdoc_files: []
|
132
103
|
files:
|
104
|
+
- lib/guard/konacha/formatter.rb
|
133
105
|
- lib/guard/konacha/runner.rb
|
106
|
+
- lib/guard/konacha/server.rb
|
134
107
|
- lib/guard/konacha/templates/Guardfile
|
135
108
|
- lib/guard/konacha/version.rb
|
136
109
|
- lib/guard/konacha.rb
|
137
110
|
- LICENSE
|
138
111
|
- Readme.md
|
139
112
|
homepage: https://github.com/alexgb/guard-konacha
|
140
|
-
licenses:
|
113
|
+
licenses:
|
114
|
+
- MIT
|
115
|
+
metadata: {}
|
141
116
|
post_install_message:
|
142
117
|
rdoc_options:
|
143
118
|
- --charset=UTF-8
|
@@ -146,27 +121,19 @@ rdoc_options:
|
|
146
121
|
require_paths:
|
147
122
|
- lib
|
148
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
124
|
requirements:
|
151
125
|
- - ! '>='
|
152
126
|
- !ruby/object:Gem::Version
|
153
127
|
version: '0'
|
154
|
-
segments:
|
155
|
-
- 0
|
156
|
-
hash: -145410006532593905
|
157
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
-
none: false
|
159
129
|
requirements:
|
160
130
|
- - ! '>='
|
161
131
|
- !ruby/object:Gem::Version
|
162
132
|
version: '0'
|
163
|
-
segments:
|
164
|
-
- 0
|
165
|
-
hash: -145410006532593905
|
166
133
|
requirements: []
|
167
134
|
rubyforge_project:
|
168
|
-
rubygems_version:
|
135
|
+
rubygems_version: 2.0.3
|
169
136
|
signing_key:
|
170
|
-
specification_version:
|
171
|
-
summary: Guard
|
137
|
+
specification_version: 4
|
138
|
+
summary: Guard plugin for Konacha
|
172
139
|
test_files: []
|