slayer 0.4.0.beta2 → 0.4.0.beta3

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: b6ddcd92133adc30cc39358c00cfd4cf8494d879
4
- data.tar.gz: b427f2b04fe18881c4448de84e06e2593a1bcece
3
+ metadata.gz: bc1abc0497cd05cba5c5a1aecbd39cafe49f6fa9
4
+ data.tar.gz: 8678738d7df065faa235dd87fae989fc5d13ec0a
5
5
  SHA512:
6
- metadata.gz: 578355462582a7e68883d7aa7d73f9e52f4d8870d797c63f3f75061c9ccdd445342e9f51c0348583a022403e3a7569503808952764b07816536627eca2cf5a95
7
- data.tar.gz: 6ce3eda0fce30e75602a50fefd714d3df12baf17a89f1fdd37914c6b47120fd1488830ac4e6a8a63fbae6b8c2410a51ddce178296b56788ebba1d9543a102865
6
+ metadata.gz: 2f0eac2da4477755087461d3604032a0c144f02816b9d6a35d490b58dbdd533fb4c29423439ae0872343a3175c6317617fdbdb94d43827a44d5f998d0bd41cf4
7
+ data.tar.gz: 749f72cead7773c2a66d134649dadd0b4b924f495c51e6b46b7a32ef7964f7741990afa1b594f6a0da368b51a29fd4fe705a43f36060865d83b1a41f5e14abad
@@ -1,7 +1,14 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ if [[ $DOCKER_CONTAINER -ne 1 ]]; then
4
+ if [[ $(docker-compose ps -q | wc -l) -gt 0 ]]; then
5
+ source bin/helpers/docker
6
+ runOnDocker ruby
7
+ fi
8
+ fi
9
+
3
10
  echo "Starting unit tests"
4
- bundle exec rake test
11
+ bundle exec rake spec
5
12
  if [ $? -ne 0 ]; then
6
13
  echo ""
7
14
  echo ""
data/.gitignore CHANGED
@@ -1,14 +1,17 @@
1
- *.gem
2
1
  /.bundle/
3
2
  /.yardoc
4
- /Gemfile.lock
5
3
  /_yardoc/
6
4
  /coverage/
7
5
  /doc/
8
6
  /pkg/
9
7
  /spec/reports/
10
8
  /tmp/
9
+ *.gem
10
+ /Gemfile.lock
11
11
  /log*/*
12
12
  .byebug_history
13
13
 
14
+ # rspec failure tracking
15
+ .rspec_status
16
+
14
17
  .DS_Store
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -5,8 +5,12 @@ AllCops:
5
5
  Include:
6
6
  - 'lib/**/*.rb'
7
7
  - 'test/**/*.rb'
8
+ - 'spec/**/*.rb'
9
+ - '**/Gemfile'
10
+ - '**/Rakefile'
8
11
  Exclude:
9
12
  - 'bin/**/*'
13
+ - 'test/fixtures/**/*.rb'
10
14
 
11
15
 
12
16
  Style/RedundantSelf:
@@ -21,19 +25,19 @@ Style/GuardClause:
21
25
  Style/ClassAndModuleChildren:
22
26
  Enabled: false
23
27
 
24
- Style/EmptyLinesAroundClassBody:
28
+ Layout/EmptyLinesAroundClassBody:
25
29
  Enabled: false
26
30
 
27
31
  Style/FrozenStringLiteralComment:
28
32
  Enabled: false
29
33
 
30
- Style/CommentIndentation:
34
+ Layout/CommentIndentation:
31
35
  Enabled: false
32
36
 
33
37
  Style/BracesAroundHashParameters:
34
38
  Enabled: false
35
39
 
36
- Style/IndentationConsistency:
40
+ Layout/IndentationConsistency:
37
41
  EnforcedStyle: rails
38
42
 
39
43
  Metrics/LineLength:
@@ -42,9 +46,13 @@ Metrics/LineLength:
42
46
  Metrics/ClassLength:
43
47
  Max: 120
44
48
 
45
- Style/EmptyLineBetweenDefs:
49
+ Layout/EmptyLineBetweenDefs:
46
50
  AllowAdjacentOneLineDefs: true
47
51
 
52
+ Naming/UncommunicativeMethodParamName:
53
+ AllowedNames:
54
+ - _
55
+
48
56
  # Temporarily disabled until this can be resolved in the todo file
49
57
  # Style/Documentation:
50
58
  # Exclude:
@@ -1,6 +1,6 @@
1
1
  sudo: false
2
- before_install: gem update --system
2
+ before_install: gem install bundler -v 1.16.1
3
3
  language: ruby
4
4
  rvm:
5
5
  - 2.3.0
6
- - 2.4.0
6
+ - 2.4.2
@@ -0,0 +1,9 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+ ### Added
9
+ - Added documentation for CHANGELOG to README
@@ -0,0 +1,16 @@
1
+ FROM ruby:2.5.1-alpine
2
+ MAINTAINER wyatt@apsis.io
3
+
4
+ RUN apk add --no-cache --update \
5
+ bash \
6
+ alpine-sdk \
7
+ sqlite-dev
8
+
9
+ ENV APP_HOME /app
10
+ WORKDIR $APP_HOME
11
+
12
+ COPY . $APP_HOME/
13
+
14
+ EXPOSE 3000
15
+
16
+ CMD ["bash"]
data/README.md CHANGED
@@ -238,7 +238,7 @@ To use with RSpec, update your `spec_helper.rb` file to include:
238
238
 
239
239
  `require 'slayer/rspec'`
240
240
 
241
- This provides you with two new matchers: `be_successful_result` and `be_failed_result`, both of which can be chained with a `with_status` expectation:
241
+ This provides you with two new matchers: `be_successful_result` and `be_failed_result`, both of which can be chained with a `with_status`, `with_message`, or `with_value` expectations:
242
242
 
243
243
  ```ruby
244
244
  RSpec.describe RSpecCommand do
@@ -248,15 +248,19 @@ RSpec.describe RSpecCommand do
248
248
 
249
249
  it { is_expected.to be_success_result }
250
250
  it { is_expected.not_to be_failed_result }
251
- it { is_expected.not_to be_successful_result.with_status(:no_status) }
251
+ it { is_expected.to be_success_result.with_status(:no_status) }
252
+ it { is_expected.to be_success_result.with_message("message") }
253
+ it { is_expected.to be_success_result.with_value("value") }
252
254
  end
253
255
 
254
256
  context 'should fail' do
255
257
  subject(:result) { RSpecCommand.call(should_pass: false) }
256
258
 
257
259
  it { is_expected.to be_failed_result }
258
- it { is_expected.not_to be_failed_result }
259
- it { is_expected.not_to be_failed_result.with_status(:no_status) }
260
+ it { is_expected.not_to be_success_result }
261
+ it { is_expected.to be_failed_result.with_status(:no_status) }
262
+ it { is_expected.to be_failed_result.with_message("message") }
263
+ it { is_expected.to be_failed_result.with_value("value") }
260
264
  end
261
265
  end
262
266
  end
@@ -264,6 +268,35 @@ end
264
268
 
265
269
  ### Minitest
266
270
 
271
+ To use with Minitest, update your 'test_helper' file to include:
272
+
273
+ `require slayer/minitest`
274
+
275
+ This provides you with new assertions: `assert_success` and `assert_failed`:
276
+
277
+ ```ruby
278
+ require "minitest/autorun"
279
+
280
+ class MinitestCommandTest < Minitest::Test
281
+ def setup
282
+ @success_result = MinitestCommand.call(should_pass: true)
283
+ @failed_result = MinitestCommand.call(should_pass: false)
284
+ end
285
+
286
+ def test_is_success
287
+ assert_success @success_result, status: :no_status, message: 'message', value: 'value'
288
+ refute_failed @success_result, status: :no_status, message: 'message', value: 'value'
289
+ end
290
+
291
+ def test_is_failed
292
+ assert_failed @failed_result, status: :no_status, message: 'message', value: 'value'
293
+ refute_success @failed_result, status: :no_status, message: 'message', value: 'value'
294
+ end
295
+ end
296
+ ```
297
+
298
+ **Note:** There is no current integration for `Minitest::Spec`.
299
+
267
300
  ## Rails Integration
268
301
 
269
302
  While Slayer is independent of any framework, we do offer a first-class integration with Ruby on Rails. To install the Rails extensions, add this line to your application's Gemfile:
@@ -349,10 +382,18 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
349
382
 
350
383
  To generate documentation run `yard`. To view undocumented files run `yard stats --list-undoc`.
351
384
 
385
+ ### Development w/ Docker
386
+
387
+ $ docker-compose up
388
+ $ bin/ssh_to_container
389
+ $ bin/console
390
+
352
391
  ## Contributing
353
392
 
354
393
  Bug reports and pull requests are welcome on GitHub at https://github.com/apsislabs/slayer.
355
394
 
395
+ Any PRs should be accompanied with documentation in `README.md`, and changes documented in [`CHANGELOG.md`](https://keepachangelog.com/).
396
+
356
397
  ## License
357
398
 
358
399
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -1,10 +1,17 @@
1
1
  require 'bundler/gem_tasks'
2
- require 'rake/testtask'
2
+ require 'rspec/core/rake_task'
3
3
 
4
- Rake::TestTask.new(:test) do |t|
5
- t.libs << 'test'
6
- t.libs << 'lib'
7
- t.test_files = FileList['test/**/*_test.rb']
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ if defined? Chandler
7
+ # Set Chandler options
8
+ Chandler::Tasks.configure do |config|
9
+ config.changelog_path = 'CHANGELOG.md'
10
+ config.github_repository = 'apsislabs/slayer'
11
+ end
12
+
13
+ # Add chandler as a prerequisite for `rake release`
14
+ task 'release:rubygem_push' => 'chandler:push'
8
15
  end
9
16
 
10
- task default: :test
17
+ task default: :spec
@@ -11,4 +11,4 @@ require "slayer"
11
11
  # Pry.start
12
12
 
13
13
  require "irb"
14
- IRB.start
14
+ IRB.start(__FILE__)
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # runOnDocker SERVICE
4
+ runOnDocker() {
5
+ if [[ $DOCKER_CONTAINER -ne 1 ]]; then
6
+ echo "On Host. Executing command on container"
7
+ docker-compose exec -T $1 $0
8
+ exit $?
9
+ fi
10
+ }
11
+
12
+ export -f runOnDocker
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+ source bin/helpers/docker
3
+ runOnDocker ruby
4
+
5
+ echo "== Starting rubocop =="
6
+ bundle exec rubocop --format worst --format simple --format offenses --auto-correct
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env bash
2
+ source bin/helpers/docker
3
+ runOnDocker ruby
4
+
5
+ echo "== Starting unit tests =="
6
+ bundle exec rake test
7
+ if [ $? -ne 0 ]; then
8
+ echo -e "\n== Tests failed; push aborted! ==\n"
9
+ exit 1
10
+ fi
11
+
12
+ echo "== Starting rubocop =="
13
+ bundle exec rubocop --format worst --format simple --format offenses
14
+ if [ $? -ne 0 ]; then
15
+ echo -e "\n== Rubocop failed; push aborted! ==\n"
16
+ echo -e "To auto-correct errors run:"
17
+ echo -e "\tbin/rubo_fix"
18
+ exit 1
19
+ fi
data/bin/setup CHANGED
@@ -3,7 +3,7 @@ set -euo pipefail
3
3
  IFS=$'\n\t'
4
4
  set -vx
5
5
 
6
- bundle install
6
+ bundle check || bundle install
7
7
 
8
8
  # Do any other automated setup that you need to do here
9
9
  bin/install-githooks
@@ -0,0 +1,3 @@
1
+ #! /bin/bash
2
+
3
+ docker-compose run ruby sh
@@ -0,0 +1,19 @@
1
+ version: '3'
2
+
3
+ services:
4
+ ruby:
5
+ build: .
6
+ volumes:
7
+ - bundle_cache:/bundle
8
+ - .:/app
9
+ environment:
10
+ - BUNDLE_JOBS=5
11
+ - BUNDLE_PATH=/bundle
12
+ - BUNDLE_BIN=/bundle/bin
13
+ - GEM_HOME=/bundle
14
+ - DOCKER_CONTAINER=1
15
+ command:
16
+ - docker/start.sh
17
+
18
+ volumes:
19
+ bundle_cache:
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+
3
+ echo "Beginning Setup"
4
+ /app/bin/setup
5
+
6
+ echo "Environment Ready"
7
+ tail -f /etc/hosts
@@ -3,14 +3,17 @@ module Slayer
3
3
  singleton_skip_hook :call
4
4
 
5
5
  class << self
6
- def method_added(name)
7
- return unless name == :call
8
- super(name)
9
- end
10
-
11
6
  def call(*args, &block)
12
7
  self.new.call(*args, &block)
13
8
  end
9
+
10
+ private
11
+
12
+ def inherited(klass)
13
+ super(klass)
14
+ klass.wrap_service_methods!
15
+ klass.only_hook :call
16
+ end
14
17
  end
15
18
 
16
19
  def call
@@ -0,0 +1,66 @@
1
+ # :nocov:
2
+ require 'minitest/assertions'
3
+ # rubocop:disable Style/Documentation
4
+ # rubocop:disable Metrics/MethodLength
5
+ module Minitest::Assertions
6
+ def assert_success(result, status: nil, message: nil, value: nil)
7
+ assert result.success?, 'Expected command to succeed.'
8
+
9
+ unless status.nil?
10
+ assert_equal(
11
+ status,
12
+ result.status,
13
+ "Expected command to succeed with status: :#{status}, got: :#{result.status}"
14
+ )
15
+ end
16
+
17
+ unless message.nil?
18
+ assert_equal(
19
+ message,
20
+ result.message,
21
+ "Expected command to succeed with message: #{message}, got: #{result.message}"
22
+ )
23
+ end
24
+
25
+ unless value.nil?
26
+ assert_equal(
27
+ value,
28
+ result.value,
29
+ "Expected command to succeed with value: #{value}, got: #{result.value}"
30
+ )
31
+ end
32
+ end
33
+ alias refute_failed assert_success
34
+
35
+ def refute_success(result, status: nil, message: nil, value: nil)
36
+ refute result.success?, 'Expected command to fail.'
37
+
38
+ unless status.nil?
39
+ refute_equal(
40
+ status,
41
+ result.status,
42
+ "Expected command to fail with status: :#{status}, got: :#{result.status}"
43
+ )
44
+ end
45
+
46
+ unless message.nil?
47
+ refute_equal(
48
+ message,
49
+ result.message,
50
+ "Expected command to fail with message: #{message}, got: #{result.message}"
51
+ )
52
+ end
53
+
54
+ unless value.nil?
55
+ refute_equal(
56
+ value,
57
+ result.value,
58
+ "Expected command to fail with value: #{value}, got: #{result.value}"
59
+ )
60
+ end
61
+ end
62
+ alias assert_failed refute_success
63
+ end
64
+ # rubocop:enable Style/Documentation
65
+ # rubocop:enable Metrics/MethodLength
66
+ # :nocov:
@@ -1,42 +1,78 @@
1
1
  require 'rspec/expectations'
2
-
2
+ # rubocop:disable Metrics/BlockLength
3
3
  RSpec::Matchers.define :be_success_result do
4
4
  match do |result|
5
- result.success?
5
+ status_matches = @status.nil? || @status == result.status
6
+ message_matches = @message.nil? || @message == result.message
7
+ value_matches = @value.nil? || @value == result.value
8
+
9
+ result.success? && status_matches && message_matches && value_matches
6
10
  end
7
11
 
8
12
  chain :with_status do |status|
9
13
  @status = status
10
14
  end
11
15
 
16
+ chain :with_message do |message|
17
+ @message = message
18
+ end
19
+
20
+ chain :with_value do |value|
21
+ @value = value
22
+ end
23
+
24
+ # :nocov:
12
25
  failure_message do |result|
13
- return 'expected command to succeed' if @status.nil?
14
- return "expected command to succeed with status :#{@status}, but got :#{result.status}"
26
+ return 'expected command to succeed' if @status.nil? && @value.nil? && @message.nil?
27
+ return "expected command to succeed with status: :#{@status}, but got: :#{result.status}" unless @status.nil?
28
+ return "expected command to succeed with value: #{@value}, but got: #{result.value}" unless @value.nil?
29
+ return "expected command to succeed with message: #{@message}, but got: :#{result.message}" unless @message.nil?
15
30
  end
16
31
 
17
32
  failure_message_when_negated do |result|
18
- return "expected command not to have status :#{@status}" if @status.present? && result.status == @status
33
+ return "expected command not to have message: #{@message}" if !@message.nil? && result.message == @message
34
+ return "expected command not to have value: #{@value}" if !@value.nil? && result.value == @value
35
+ return "expected command not to have status :#{@status}" if !@status.nil? && result.status == @status
19
36
  return 'expected command to fail'
20
37
  end
38
+ # :nocov:
21
39
  end
22
40
 
23
41
  RSpec::Matchers.define :be_failed_result do
24
42
  match do |result|
25
- return result.failure? if @status.nil?
26
- return result.failure? && (result.status == @status)
43
+ status_matches = @status.nil? || @status == result.status
44
+ message_matches = @message.nil? || @message == result.message
45
+ value_matches = @value.nil? || @value == result.value
46
+
47
+ result.failure? && status_matches && message_matches && value_matches
27
48
  end
28
49
 
29
50
  chain :with_status do |status|
30
51
  @status = status
31
52
  end
32
53
 
54
+ chain :with_message do |message|
55
+ @message = message
56
+ end
57
+
58
+ chain :with_value do |value|
59
+ @value = value
60
+ end
61
+
62
+ # :nocov:
33
63
  failure_message do |result|
34
- return 'expected command to fail' if @status.nil?
35
- return "expected command to fail with status :#{@status}, but got :#{result.status}"
64
+ return 'expected command to fail' if @status.nil? && @value.nil? && @message.nil?
65
+ return "expected command to fail with status: :#{@status}, but got: :#{result.status}" unless @status.nil?
66
+ return "expected command to fail with value: #{@value}, but got: #{result.value}" unless @value.nil?
67
+ return "expected command to fail with message: #{@message}, but got: :#{result.message}" unless @message.nil?
36
68
  end
37
69
 
38
70
  failure_message_when_negated do |result|
39
- return "expected command not to have status :#{@status}" if @status.present? && result.status == @status
71
+ return "expected command to have message: #{@message}" if !@message.nil? && result.message == @message
72
+ return "expected command to have value: #{@value}" if !@value.nil? && result.value == @value
73
+ return "expected command to have status :#{@status}" if !@status.nil? && result.status == @status
40
74
  return 'expected command to succeed'
41
75
  end
76
+ # :nocov:
42
77
  end
78
+ # rubocop:enable Metrics/BlockLength
@@ -5,8 +5,24 @@ module Slayer
5
5
  class Service
6
6
  include Hook
7
7
 
8
- skip_hook :pass, :flunk, :flunk!, :try!
9
- singleton_skip_hook :pass, :flunk, :flunk!, :try!
8
+ skip_hook(
9
+ :pass,
10
+ :flunk,
11
+ :flunk!,
12
+ :try!,
13
+ :wrap_service_methods?,
14
+ :__opt_in
15
+ )
16
+ singleton_skip_hook(
17
+ :pass,
18
+ :flunk,
19
+ :flunk!,
20
+ :try!,
21
+ :wrap_service_methods?,
22
+ :wrap_service_methods!,
23
+ :do_not_wrap_service_methods!,
24
+ :__opt_in
25
+ )
10
26
 
11
27
  attr_accessor :result
12
28
 
@@ -35,6 +51,22 @@ module Slayer
35
51
  return r.value if r.success?
36
52
  flunk!(value: value || r.value, status: status || r.status, message: message || r.message)
37
53
  end
54
+
55
+ def wrap_service_methods!
56
+ @__opt_in = true
57
+ end
58
+
59
+ def wrap_service_methods?
60
+ __opt_in
61
+ end
62
+
63
+ private
64
+
65
+ def __opt_in
66
+ @__opt_in = false unless defined?(@__opt_in)
67
+ @__opt_in == true
68
+ end
69
+
38
70
  end
39
71
 
40
72
  def pass(*args)
@@ -53,6 +85,10 @@ module Slayer
53
85
  self.class.try!(*args, &block)
54
86
  end
55
87
 
88
+ def wrap_service_methods?
89
+ self.class.wrap_service_methods?
90
+ end
91
+
56
92
  # Make sure child classes also hook correctly
57
93
  def self.inherited(klass)
58
94
  klass.include Hook
@@ -63,6 +99,8 @@ module Slayer
63
99
 
64
100
  # rubocop:disable Metrics/MethodLength
65
101
  def self.__service_hook(_, instance, service_block)
102
+ return yield unless wrap_service_methods?
103
+
66
104
  begin
67
105
  result = yield
68
106
  rescue ResultFailureError => error
@@ -94,5 +132,5 @@ module Slayer
94
132
  private_class_method :inherited
95
133
  private_class_method :__service_hook
96
134
 
97
- end # class Service
98
- end # module Slayer
135
+ end
136
+ end
@@ -1,3 +1,3 @@
1
1
  module Slayer
2
- VERSION = '0.4.0.beta2'
2
+ VERSION = '0.4.0.beta3'
3
3
  end
@@ -20,14 +20,16 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'virtus', '~> 1.0'
22
22
 
23
- spec.add_development_dependency 'bundler', '~> 1.12'
23
+ spec.add_development_dependency 'bundler', '~> 2.0'
24
24
  spec.add_development_dependency 'byebug', '~> 9.0'
25
+ spec.add_development_dependency 'chandler'
25
26
  spec.add_development_dependency 'coveralls'
26
27
  spec.add_development_dependency 'minitest', '~> 5.0'
27
28
  spec.add_development_dependency 'minitest-reporters', '~> 1.1'
29
+ spec.add_development_dependency 'rspec', '~> 3.5'
28
30
  spec.add_development_dependency 'mocha', '~> 1.2'
29
- spec.add_development_dependency 'rubocop', '~> 0.48.1'
30
31
  spec.add_development_dependency 'rake', '~> 10.0'
32
+ spec.add_development_dependency 'rubocop', '= 0.57.2'
31
33
  spec.add_development_dependency 'simplecov', '~> 0.13'
32
34
  spec.add_development_dependency 'yard', '~> 0.9'
33
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slayer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.beta2
4
+ version: 0.4.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wyatt Kirby
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-05-14 00:00:00.000000000 Z
12
+ date: 2019-03-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: virtus
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1.12'
34
+ version: '2.0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '1.12'
41
+ version: '2.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: byebug
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -53,6 +53,20 @@ dependencies:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
55
  version: '9.0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: chandler
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: coveralls
58
72
  requirement: !ruby/object:Gem::Requirement
@@ -96,33 +110,33 @@ dependencies:
96
110
  - !ruby/object:Gem::Version
97
111
  version: '1.1'
98
112
  - !ruby/object:Gem::Dependency
99
- name: mocha
113
+ name: rspec
100
114
  requirement: !ruby/object:Gem::Requirement
101
115
  requirements:
102
116
  - - "~>"
103
117
  - !ruby/object:Gem::Version
104
- version: '1.2'
118
+ version: '3.5'
105
119
  type: :development
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
108
122
  requirements:
109
123
  - - "~>"
110
124
  - !ruby/object:Gem::Version
111
- version: '1.2'
125
+ version: '3.5'
112
126
  - !ruby/object:Gem::Dependency
113
- name: rubocop
127
+ name: mocha
114
128
  requirement: !ruby/object:Gem::Requirement
115
129
  requirements:
116
130
  - - "~>"
117
131
  - !ruby/object:Gem::Version
118
- version: 0.48.1
132
+ version: '1.2'
119
133
  type: :development
120
134
  prerelease: false
121
135
  version_requirements: !ruby/object:Gem::Requirement
122
136
  requirements:
123
137
  - - "~>"
124
138
  - !ruby/object:Gem::Version
125
- version: 0.48.1
139
+ version: '1.2'
126
140
  - !ruby/object:Gem::Dependency
127
141
  name: rake
128
142
  requirement: !ruby/object:Gem::Requirement
@@ -137,6 +151,20 @@ dependencies:
137
151
  - - "~>"
138
152
  - !ruby/object:Gem::Version
139
153
  version: '10.0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: rubocop
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - '='
159
+ - !ruby/object:Gem::Version
160
+ version: 0.57.2
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - '='
166
+ - !ruby/object:Gem::Version
167
+ version: 0.57.2
140
168
  - !ruby/object:Gem::Dependency
141
169
  name: simplecov
142
170
  requirement: !ruby/object:Gem::Requirement
@@ -176,22 +204,32 @@ files:
176
204
  - ".githooks/pre-push"
177
205
  - ".gitignore"
178
206
  - ".hound.yml"
207
+ - ".rspec"
179
208
  - ".rubocop.yml"
180
209
  - ".rubocop_todo.yml"
181
210
  - ".travis.yml"
211
+ - CHANGELOG.md
212
+ - Dockerfile
182
213
  - Gemfile
183
214
  - LICENSE.txt
184
215
  - README.md
185
216
  - Rakefile
186
217
  - bin/console
218
+ - bin/helpers/docker
187
219
  - bin/install-githooks
220
+ - bin/rubo_fix
221
+ - bin/run_tests
188
222
  - bin/setup
223
+ - bin/ssh_to_container
224
+ - docker-compose.yml
225
+ - docker/start.sh
189
226
  - lib/ext/string_ext.rb
190
227
  - lib/slayer.rb
191
228
  - lib/slayer/command.rb
192
229
  - lib/slayer/errors.rb
193
230
  - lib/slayer/form.rb
194
231
  - lib/slayer/hook.rb
232
+ - lib/slayer/minitest.rb
195
233
  - lib/slayer/result.rb
196
234
  - lib/slayer/result_matcher.rb
197
235
  - lib/slayer/rspec.rb