rspec-preloader 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e6ba54dd428b04b5646e0a2398697bd3b304dfcf
4
+ data.tar.gz: 5450e031f1010df33cbbdf5022650f8a56954452
5
+ SHA512:
6
+ metadata.gz: 0cfbfcd6f8337a0d1f8ca89c175e666a2706eb18b205fa1190bdd3b127c7681ca8036b6c989e7e1397597130a458709514b73b31874dca2d0974558cf19f10c9
7
+ data.tar.gz: 7a450ed60fb80622dbf85efc94a5280a7f4c0ddfff3aff381318a70abd530875138ea174cf965a68664e8fef52d2226967fedc19482409b15dc31e4f7bd5e137
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative "../lib/rspec_preloader"
4
+
5
+ RspecPreloader.run_server(ARGV)
@@ -0,0 +1,69 @@
1
+ require "rspec/core"
2
+ require_relative "rspec_preloader/file_watcher"
3
+
4
+ class RspecPreloader
5
+
6
+ def self.run_server(rspec_arguments = [""])
7
+ new(rspec_arguments).run_server
8
+ end
9
+
10
+ def initialize(rspec_arguments)
11
+ @rspec_arguments = rspec_arguments
12
+ end
13
+
14
+ def run_server
15
+ initial_prompt
16
+ first_run
17
+ server_loop
18
+ end
19
+
20
+ private
21
+
22
+ def initial_prompt
23
+ puts "Starting Rspec preloader server"
24
+ puts "Press Ctrl-C to stop"
25
+ end
26
+
27
+ def first_run
28
+ return if @rspec_arguments == [""]
29
+ pid = fork do
30
+ require "#{Dir.pwd}/spec/spec_helper"
31
+ FileWatcher.changed_files.each do |file|
32
+ load file
33
+ end
34
+ run_specs(@rspec_arguments)
35
+ end
36
+ Process.wait(pid)
37
+ end
38
+
39
+ def server_loop
40
+ trap("INT") do
41
+ puts "Shutting down Rspec server"
42
+ exit
43
+ end
44
+
45
+ loop do
46
+ pid = fork do
47
+ require "#{Dir.pwd}/spec/spec_helper"
48
+ puts "Ready to run specs"
49
+ @rspec_arguments = read_rspec_arguments
50
+ FileWatcher.changed_files.each do |file|
51
+ load file
52
+ end
53
+ run_specs(@rspec_arguments)
54
+ end
55
+ Process.wait(pid)
56
+ end
57
+ end
58
+
59
+ def run_specs(arguments_array)
60
+ puts "Running $ rspec #{arguments_array.join(" ")}"
61
+ RSpec::Core::Runner.run(arguments_array, STDERR, STDOUT)
62
+ end
63
+
64
+ def read_rspec_arguments
65
+ user_input = STDIN.gets.chomp.split(" ")
66
+ user_input == [] ? @rspec_arguments : user_input
67
+ end
68
+
69
+ end
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rspec-preloader
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Victor Mours
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-06-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
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: git
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: A preloader for your spec helper for faster TDD
70
+ email: victor.mours@gmail.com
71
+ executables:
72
+ - rspec-preloader
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - bin/rspec-preloader
77
+ - lib/rspec_preloader.rb
78
+ homepage: https://github.com/victormours/rspec-preloader
79
+ licenses:
80
+ - MIT
81
+ metadata: {}
82
+ post_install_message:
83
+ rdoc_options: []
84
+ require_paths:
85
+ - lib
86
+ required_ruby_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ required_rubygems_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ requirements: []
97
+ rubyforge_project:
98
+ rubygems_version: 2.2.2
99
+ signing_key:
100
+ specification_version: 4
101
+ summary: A faster way to run your specs.
102
+ test_files: []
103
+ has_rdoc: