iron_cuke 0.0.1
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.
- data/.gitignore +5 -0
- data/.rspec +2 -0
- data/.rvmrc +41 -0
- data/Gemfile +7 -0
- data/License.txt +19 -0
- data/README +34 -0
- data/Rakefile +5 -0
- data/TODO.md +7 -0
- data/iron_cuke.gemspec +34 -0
- data/lib/iron_cuke/queue_item.rb +10 -0
- data/lib/iron_cuke/scheduled_queue.rb +43 -0
- data/lib/iron_cuke/test_service.rb +22 -0
- data/lib/iron_cuke/version.rb +3 -0
- data/lib/iron_cuke.rb +21 -0
- data/spec/lib/iron_cuke_spec.rb +90 -0
- data/spec/spec_helper.rb +8 -0
- data/spec/support/test_worker.rb +15 -0
- data/spec/worker_integration/schedule_spec.rb +34 -0
- metadata +189 -0
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rvmrc
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# This is an RVM Project .rvmrc file, used to automatically load the ruby
|
4
|
+
# development environment upon cd'ing into the directory
|
5
|
+
|
6
|
+
# First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
|
7
|
+
environment_id="ruby-1.9.2-p290@iron_cuke"
|
8
|
+
|
9
|
+
#
|
10
|
+
# First we attempt to load the desired environment directly from the environment
|
11
|
+
# file. This is very fast and efficient compared to running through the entire
|
12
|
+
# CLI and selector. If you want feedback on which environment was used then
|
13
|
+
# insert the word 'use' after --create as this triggers verbose mode.
|
14
|
+
#
|
15
|
+
if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
|
16
|
+
&& -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
|
17
|
+
then
|
18
|
+
\. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
|
19
|
+
|
20
|
+
if [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]]
|
21
|
+
then
|
22
|
+
. "${rvm_path:-$HOME/.rvm}/hooks/after_use"
|
23
|
+
fi
|
24
|
+
else
|
25
|
+
# If the environment file has not yet been created, use the RVM CLI to select.
|
26
|
+
if ! rvm --create "$environment_id"
|
27
|
+
then
|
28
|
+
echo "Failed to create RVM environment '${environment_id}'."
|
29
|
+
fi
|
30
|
+
fi
|
31
|
+
|
32
|
+
#
|
33
|
+
# If you use an RVM gemset file to install a list of gems (*.gems), you can have
|
34
|
+
# it be automatically loaded. Uncomment the following and adjust the filename if
|
35
|
+
# necessary.
|
36
|
+
#
|
37
|
+
# filename=".gems"
|
38
|
+
# if [[ -s "$filename" ]] ; then
|
39
|
+
# rvm gemset import "$filename" | grep -v already | grep -v listed | grep -v complete | sed '/^$/d'
|
40
|
+
# fi
|
41
|
+
|
data/Gemfile
ADDED
data/License.txt
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
Copyright (C) 2012 Yosem Sweet
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
5
|
+
the Software without restriction, including without limitation the rights to
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
8
|
+
so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
11
|
+
copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
19
|
+
SOFTWARE.
|
data/README
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
Development Notes and Todos:
|
2
|
+
|
3
|
+
Needs to work with cucumber and rspec
|
4
|
+
|
5
|
+
Notes
|
6
|
+
Run jobs locally
|
7
|
+
We don't need to run them asynchronously although it is awesome if they are.
|
8
|
+
Scheduled events should fire when the timecop time says they should
|
9
|
+
Initial pass can have a cucumber step for all jobs complete - this should not stick around for long though. ALternative is to have the ScheduledWorkerQueue run after every step
|
10
|
+
Rspec integration test not needed, just unit test
|
11
|
+
|
12
|
+
Basic model
|
13
|
+
|
14
|
+
IronCuke module encapsulates access to ScheduledWorkerQueue
|
15
|
+
|
16
|
+
Scheduled Workers:
|
17
|
+
ScheduledWorkerQueue - A hash where each worker is keyed by the time they run.
|
18
|
+
Functions
|
19
|
+
run - runs all workers before current time (should this be run_with_time?)
|
20
|
+
schedule - takes a worker and schedule parameters (equivalent to IronWorker service). Adds the worker into the hash at time. returns an array response equivalent to posting to iron worker. The response includes a scheduled_task_id identifying the scheduled worker
|
21
|
+
cancel - takes scheduled_task_id and removes from schedule
|
22
|
+
|
23
|
+
Workers
|
24
|
+
stub worker.schedule to write to scheduled workers
|
25
|
+
stub IronWorker.service.cancel_schedule to delegate to ScheduledWorkerQueue
|
26
|
+
|
27
|
+
## Contribute
|
28
|
+
* Fork the project.
|
29
|
+
* Test drive your feature addition or bug fix. Specs make all the difference here.
|
30
|
+
* Commit, do not mess with Rakefile, version, or ChangeLog.
|
31
|
+
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
32
|
+
* Send me a pull request. Bonus points for topic branches.
|
33
|
+
|
34
|
+
Gem developed by Yosem Sweet and released (whenever that is) under the MIT license
|
data/Rakefile
ADDED
data/TODO.md
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
* Create specs for QueueItems - easy
|
2
|
+
* Create specs for ScheduledQueue - easy
|
3
|
+
* Support schedule options of: - medium
|
4
|
+
** run_times > 1
|
5
|
+
** every x period
|
6
|
+
* Instead of creating a bunch of mixins we should implement an IronWorker::TestService and have IronWorker.service return that. - hard
|
7
|
+
* Create a more dynamic response system. Right now it is basically just hardcoded. - easy
|
data/iron_cuke.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "iron_cuke/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "iron_cuke"
|
7
|
+
s.version = IronCuke::VERSION
|
8
|
+
s.authors = ["Yosem Sweet"]
|
9
|
+
s.email = ["yosem.sweet@gmail.com"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = %q{A small engine to help you mock out iron worker while using cucumber}
|
12
|
+
s.description = %q{iron_cuke provides a set of steps and Cucumber world objects you can use to simulate IronWorker while running cucumber tests.}
|
13
|
+
|
14
|
+
s.rubyforge_project = "iron_cuke"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
# specify any dependencies here; for example:
|
22
|
+
s.add_dependency "iron_worker"
|
23
|
+
s.add_dependency "cucumber", ">=0.8"
|
24
|
+
s.add_dependency "json"
|
25
|
+
|
26
|
+
s.add_development_dependency "require_all"
|
27
|
+
s.add_development_dependency "rack"
|
28
|
+
s.add_development_dependency "bundler"
|
29
|
+
s.add_development_dependency "git"
|
30
|
+
s.add_development_dependency "rspec-rails", "~>2.8.0"
|
31
|
+
s.add_development_dependency "rails", "~>3.1.0"
|
32
|
+
s.add_development_dependency "cucumber-rails"
|
33
|
+
s.add_development_dependency "ruby-debug19"
|
34
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require "iron_cuke/queue_item"
|
2
|
+
|
3
|
+
module ScheduledQueue
|
4
|
+
|
5
|
+
def schedules
|
6
|
+
scheduled_queue.values.map { |scheduled| scheduled.map { |data| data.worker } }.flatten
|
7
|
+
end
|
8
|
+
|
9
|
+
def schedule(worker, schedule_options)
|
10
|
+
Raise NotImplementedError if schedule_options[:run_times] > 1
|
11
|
+
|
12
|
+
scheduled_queue[schedule_options[:start_at]] ||= []
|
13
|
+
item = QueueItem.new(worker, schedule_options)
|
14
|
+
scheduled_queue[schedule_options[:start_at]] << item
|
15
|
+
response = create_response(item)
|
16
|
+
end
|
17
|
+
|
18
|
+
def cancel_schedule(scheduled_task_id)
|
19
|
+
Raise NotImplementedError
|
20
|
+
end
|
21
|
+
|
22
|
+
def clear
|
23
|
+
scheduled_queue.clear
|
24
|
+
end
|
25
|
+
|
26
|
+
protected
|
27
|
+
|
28
|
+
def scheduled_queue
|
29
|
+
@scheduled_queue ||= Hash.new
|
30
|
+
end
|
31
|
+
|
32
|
+
def create_response(item)
|
33
|
+
{
|
34
|
+
"msg" => "Scheduled",
|
35
|
+
"schedules" => [
|
36
|
+
{
|
37
|
+
"id" => item.id
|
38
|
+
}
|
39
|
+
],
|
40
|
+
"status_code" => 200
|
41
|
+
}
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require "iron_cuke"
|
2
|
+
require "base64"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module IronWorker
|
6
|
+
class Base
|
7
|
+
def upload_if_needed(options) :uploaded_successfully end
|
8
|
+
end
|
9
|
+
|
10
|
+
module TestService
|
11
|
+
module Schedule
|
12
|
+
def schedule(name, data, options)
|
13
|
+
worker = name.classify.constantize.new
|
14
|
+
variables = JSON.parse(Base64.decode64(data[:attr_encoded])) if data[:attr_encoded].present?
|
15
|
+
variables.each do |k, v|
|
16
|
+
worker.instance_variable_set(k.to_sym, v)
|
17
|
+
end
|
18
|
+
IronCuke.schedule(worker, options)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/iron_cuke.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require "iron_cuke/version"
|
2
|
+
require "iron_cuke/scheduled_queue"
|
3
|
+
require "iron_cuke/test_service"
|
4
|
+
|
5
|
+
|
6
|
+
module IronCuke
|
7
|
+
extend ScheduledQueue
|
8
|
+
|
9
|
+
def self.run(time = nil)
|
10
|
+
time ||= Time.now
|
11
|
+
to_execute = scheduled_queue.keys.select { |run_at| run_at <= time }
|
12
|
+
to_execute.each do |k|
|
13
|
+
begin
|
14
|
+
scheduled_queue[k].each { |data| data.worker.run_local }
|
15
|
+
scheduled_queue.delete(k)
|
16
|
+
rescue Exception => e
|
17
|
+
puts e
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe IronCuke do
|
4
|
+
it { should respond_to(:run) }
|
5
|
+
|
6
|
+
it { should respond_to(:schedule).with(2).arguments }
|
7
|
+
it { should respond_to(:schedules) }
|
8
|
+
it { should respond_to(:cancel_schedule).with(1).argument }
|
9
|
+
|
10
|
+
context "::schedule" do
|
11
|
+
after(:each) do
|
12
|
+
IronCuke.clear
|
13
|
+
end
|
14
|
+
|
15
|
+
context "with start_at and run_once schedule options" do
|
16
|
+
it "should add a worker to schedules" do
|
17
|
+
worker = TestWorker.new
|
18
|
+
|
19
|
+
expect {
|
20
|
+
IronCuke.schedule(worker, {:start_at => Time.now + 1.year, :run_times => 1})
|
21
|
+
}.to change{IronCuke.schedules.count}.by(1)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should return a response hash include status_code and list of scheduled_ids" do
|
25
|
+
worker = TestWorker.new
|
26
|
+
response = IronCuke.schedule(worker, {:start_at => Time.now, :run_times => 1})
|
27
|
+
response.should have_key "status_code"
|
28
|
+
response.should have_key "schedules"
|
29
|
+
response["schedules"].each do |s| s.should have_key "id" end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context "scheduling two workers at the same time" do
|
34
|
+
it "should schedule them both" do
|
35
|
+
worker_one, worker_two = [TestWorker.new, TestWorker.new]
|
36
|
+
time = Time.now
|
37
|
+
expect {
|
38
|
+
IronCuke.schedule(worker_one, {:start_at => time, :run_times => 1})
|
39
|
+
IronCuke.schedule(worker_two, {:start_at => time, :run_times => 1})
|
40
|
+
}.to change{IronCuke.schedules.count}.by(2)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "::schedules" do
|
46
|
+
after(:each) do
|
47
|
+
IronCuke.clear
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should return all scheduled workers" do
|
51
|
+
workers = [TestWorker.new, TestWorker.new, TestWorker.new]
|
52
|
+
workers.each do |w|
|
53
|
+
IronCuke.schedule(w, {:start_at => Time.now + 1.year, :run_times => 1})
|
54
|
+
end
|
55
|
+
|
56
|
+
scheduled = IronCuke.schedules
|
57
|
+
workers.each do |w|
|
58
|
+
scheduled.should include w
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context "::run" do
|
64
|
+
let(:current_time) { Time.now }
|
65
|
+
before(:each) do
|
66
|
+
@past_worker = TestWorker.new
|
67
|
+
@present_worker = TestWorker.new
|
68
|
+
@future_worker = TestWorker.new
|
69
|
+
|
70
|
+
IronCuke.schedule(@past_worker, {:start_at => current_time - 1.second, :run_times => 1})
|
71
|
+
IronCuke.schedule(@present_worker, {:start_at => current_time, :run_times => 1})
|
72
|
+
IronCuke.schedule(@future_worker, {:start_at => current_time + 1.second, :run_times => 1})
|
73
|
+
end
|
74
|
+
|
75
|
+
after(:each) do
|
76
|
+
IronCuke.clear
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should call run for each worker with a start at time before Time.now" do
|
80
|
+
@past_worker.should_receive(:run_local)
|
81
|
+
@present_worker.should_receive(:run_local)
|
82
|
+
IronCuke.run(current_time)
|
83
|
+
end
|
84
|
+
|
85
|
+
it "should call run for each worker with a start at time before Time.now" do
|
86
|
+
@future_worker.should_not_receive(:run_local)
|
87
|
+
IronCuke.run(current_time)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
IronWorker.configure do |config|
|
4
|
+
config.token = 'IRON_WORKER_TOKEN'
|
5
|
+
config.project_id = 'IRON_WORKER_PROJECT_ID'
|
6
|
+
end
|
7
|
+
|
8
|
+
IronWorker.service.instance_eval do
|
9
|
+
extend IronWorker::TestService::Schedule
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "IronWorker::Base.schedule" do
|
13
|
+
let!(:worker) { TestWorker.new }
|
14
|
+
|
15
|
+
it "should add the worker to IronCuke.schedules" do
|
16
|
+
expect {
|
17
|
+
worker.schedule(:start_at => Time.now, :run_times => 1)
|
18
|
+
}.to change{IronCuke.schedules.count}.by(1)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should set worker.response" do
|
22
|
+
pending "There is a bug in IronWorker::Base where the response isn't set"
|
23
|
+
expect {
|
24
|
+
worker.schedule(:start_at => Time.now, :run_times => 1)
|
25
|
+
}.to change{worker.response}
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should set worker.schedule_id" do
|
29
|
+
expect {
|
30
|
+
worker.schedule(:start_at => Time.now, :run_times => 1)
|
31
|
+
}.to change{worker.schedule_id}
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
metadata
ADDED
@@ -0,0 +1,189 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: iron_cuke
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Yosem Sweet
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-02-02 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: iron_worker
|
16
|
+
requirement: &2156828920 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2156828920
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: cucumber
|
27
|
+
requirement: &2156828120 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.8'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2156828120
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: json
|
38
|
+
requirement: &2156827300 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2156827300
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: require_all
|
49
|
+
requirement: &2156826840 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *2156826840
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rack
|
60
|
+
requirement: &2156826320 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *2156826320
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: &2156825600 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *2156825600
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: git
|
82
|
+
requirement: &2156824700 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *2156824700
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: rspec-rails
|
93
|
+
requirement: &2156823500 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ~>
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 2.8.0
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *2156823500
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: rails
|
104
|
+
requirement: &2156823000 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 3.1.0
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *2156823000
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: cucumber-rails
|
115
|
+
requirement: &2156822620 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: *2156822620
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: ruby-debug19
|
126
|
+
requirement: &2156808760 !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: *2156808760
|
135
|
+
description: iron_cuke provides a set of steps and Cucumber world objects you can
|
136
|
+
use to simulate IronWorker while running cucumber tests.
|
137
|
+
email:
|
138
|
+
- yosem.sweet@gmail.com
|
139
|
+
executables: []
|
140
|
+
extensions: []
|
141
|
+
extra_rdoc_files: []
|
142
|
+
files:
|
143
|
+
- .gitignore
|
144
|
+
- .rspec
|
145
|
+
- .rvmrc
|
146
|
+
- Gemfile
|
147
|
+
- License.txt
|
148
|
+
- README
|
149
|
+
- Rakefile
|
150
|
+
- TODO.md
|
151
|
+
- iron_cuke.gemspec
|
152
|
+
- lib/iron_cuke.rb
|
153
|
+
- lib/iron_cuke/queue_item.rb
|
154
|
+
- lib/iron_cuke/scheduled_queue.rb
|
155
|
+
- lib/iron_cuke/test_service.rb
|
156
|
+
- lib/iron_cuke/version.rb
|
157
|
+
- spec/lib/iron_cuke_spec.rb
|
158
|
+
- spec/spec_helper.rb
|
159
|
+
- spec/support/test_worker.rb
|
160
|
+
- spec/worker_integration/schedule_spec.rb
|
161
|
+
homepage: ''
|
162
|
+
licenses: []
|
163
|
+
post_install_message:
|
164
|
+
rdoc_options: []
|
165
|
+
require_paths:
|
166
|
+
- lib
|
167
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
168
|
+
none: false
|
169
|
+
requirements:
|
170
|
+
- - ! '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
|
+
none: false
|
175
|
+
requirements:
|
176
|
+
- - ! '>='
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
179
|
+
requirements: []
|
180
|
+
rubyforge_project: iron_cuke
|
181
|
+
rubygems_version: 1.8.11
|
182
|
+
signing_key:
|
183
|
+
specification_version: 3
|
184
|
+
summary: A small engine to help you mock out iron worker while using cucumber
|
185
|
+
test_files:
|
186
|
+
- spec/lib/iron_cuke_spec.rb
|
187
|
+
- spec/spec_helper.rb
|
188
|
+
- spec/support/test_worker.rb
|
189
|
+
- spec/worker_integration/schedule_spec.rb
|