hay 0.0.1.pre.alpha.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.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +34 -0
  3. data/.travis.yml +17 -0
  4. data/Gemfile +6 -0
  5. data/LICENSE +21 -0
  6. data/README.md +3 -0
  7. data/Rakefile +60 -0
  8. data/hay.gemspec +30 -0
  9. data/lib/hay/consumer.rb +27 -0
  10. data/lib/hay/dispatcher.rb +23 -0
  11. data/lib/hay/message.rb +28 -0
  12. data/lib/hay/queue.rb +22 -0
  13. data/lib/hay/route.rb +29 -0
  14. data/lib/hay/router.rb +25 -0
  15. data/lib/hay/routes.rb +24 -0
  16. data/lib/hay/task/decorator.rb +35 -0
  17. data/lib/hay/task/exception/transient_exception.rb +10 -0
  18. data/lib/hay/task/exception/unknown_template_error.rb +16 -0
  19. data/lib/hay/task/exception.rb +11 -0
  20. data/lib/hay/task/flow.rb +41 -0
  21. data/lib/hay/task/hydrator/registry.rb +21 -0
  22. data/lib/hay/task/hydrator.rb +21 -0
  23. data/lib/hay/task/hydrators.rb +28 -0
  24. data/lib/hay/task/registry.rb +16 -0
  25. data/lib/hay/task/resolver/hash.rb +19 -0
  26. data/lib/hay/task/resolver/registry.rb +11 -0
  27. data/lib/hay/task/resolver/task.rb +18 -0
  28. data/lib/hay/task/resolver.rb +17 -0
  29. data/lib/hay/task/resolvers.rb +20 -0
  30. data/lib/hay/task/resulter.rb +23 -0
  31. data/lib/hay/task/template/hash.rb +21 -0
  32. data/lib/hay/task/template/hydrator.rb +23 -0
  33. data/lib/hay/task/template/registry.rb +18 -0
  34. data/lib/hay/task/template/task.rb +28 -0
  35. data/lib/hay/task/template.rb +18 -0
  36. data/lib/hay/task/templates.rb +23 -0
  37. data/lib/hay/task.rb +29 -0
  38. data/lib/hay/tasks.rb +18 -0
  39. data/lib/hay/version.rb +4 -0
  40. data/lib/hay.rb +19 -0
  41. data/rakelib/hay/rake.rb +36 -0
  42. data/test/alfalfa.log +47 -0
  43. data/test/integration/hay_test.rb +239 -0
  44. data/test/simplecov_helper.rb +31 -0
  45. data/test/unit/hay/dispatcher_test.rb +38 -0
  46. data/test/unit/hay/message_test.rb +43 -0
  47. data/test/unit/hay/route_test.rb +56 -0
  48. data/test/unit/hay/router_test.rb +26 -0
  49. data/test/unit/hay/routes_test.rb +37 -0
  50. data/test/unit/hay/task/decorator_test.rb +68 -0
  51. data/test/unit/hay/task/flow_test.rb +45 -0
  52. data/test/unit/hay/task/hydrator_test.rb +38 -0
  53. data/test/unit/hay/task/hydrators_test.rb +26 -0
  54. data/test/unit/hay/task/resulter_test.rb +27 -0
  55. data/test/unit/hay/task/template/hash_test.rb +30 -0
  56. data/test/unit/hay/task/template/hydrator_test.rb +30 -0
  57. data/test/unit/hay/task/template/task_test.rb +33 -0
  58. data/test/unit/hay/task/template_test.rb +36 -0
  59. data/test/unit/hay/task_test.rb +6 -0
  60. data/test/unit/test_helper.rb +24 -0
  61. metadata +206 -0
@@ -0,0 +1,56 @@
1
+ require File.expand_path('../../test_helper', __FILE__)
2
+
3
+ require 'hay/route'
4
+
5
+ class Hay::RouteTest < Test::Unit::TestCase
6
+ setup do
7
+ dummy_route_klass = Class.new
8
+
9
+ Hay::Routes.expects(:register).with(dummy_route_klass)
10
+
11
+ dummy_route_klass.class_exec do
12
+ include Hay::Route
13
+
14
+ def tasks=(tasks)
15
+ @tasks = tasks
16
+ end
17
+
18
+ def tasks
19
+ @tasks
20
+ end
21
+ end
22
+
23
+ mock_agent = mock
24
+
25
+ @dummy_route = dummy_route_klass.new(mock_agent)
26
+ end
27
+
28
+ test '#ours? if task is ours' do
29
+
30
+ mock_message = mock
31
+
32
+ mock_task = mock
33
+ mock_message.expects(:task).returns(mock_task)
34
+
35
+ mock_task_class = mock
36
+ mock_task.expects(:class).returns(mock_task_class)
37
+
38
+ @dummy_route.tasks = [mock_task_class]
39
+
40
+ assert @dummy_route.ours?(mock_message)
41
+ end
42
+
43
+ test '#ours? if task is not ours' do
44
+ mock_message = mock
45
+
46
+ mock_task = mock
47
+ mock_message.expects(:task).returns(mock_task)
48
+
49
+ mock_task_class = mock
50
+ mock_task.expects(:class).returns(mock_task_class)
51
+
52
+ @dummy_route.tasks = []
53
+
54
+ assert !@dummy_route.ours?(mock_message)
55
+ end
56
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path('../../test_helper', __FILE__)
2
+
3
+ require 'hay/router'
4
+
5
+ class Hay::RouterTest < Test::Unit::TestCase
6
+ setup do
7
+ @mock_agent = mock
8
+
9
+ @router = Hay::Router.new(@mock_agent)
10
+ end
11
+
12
+ test '#push' do
13
+ mock_route_klass = mock
14
+
15
+ mock_message = mock
16
+ mock_message.expects(:destination).returns(mock_route_klass)
17
+
18
+ mock_route = mock
19
+ mock_route_klass.expects(:new).with(@mock_agent).returns(mock_route)
20
+
21
+ mock_route.expects(:push).with(mock_message)
22
+
23
+ @router.push(mock_message)
24
+ end
25
+
26
+ end
@@ -0,0 +1,37 @@
1
+ require File.expand_path('../../test_helper', __FILE__)
2
+
3
+ require 'hay/routes'
4
+
5
+ class Hay::RoutesTest < Test::Unit::TestCase
6
+ setup do
7
+ @mock_route = mock
8
+
9
+ @mock_task_name = "mock.task"
10
+
11
+ mock_task_class = mock
12
+ mock_task_class.expects(:task_name).returns(@mock_task_name)
13
+
14
+ @mock_route.expects(:tasks).returns([mock_task_class])
15
+
16
+ Hay::Routes.register(@mock_route)
17
+
18
+ @mock_task = mock
19
+ end
20
+
21
+ test ".for_task found" do
22
+
23
+ @mock_task.expects(:task_name).returns(@mock_task_name)
24
+
25
+ router = Hay::Routes.for_task(@mock_task)
26
+ assert_equal @mock_route, router
27
+ end
28
+
29
+ test ".for_task not found" do
30
+ mock_task = mock
31
+ mock_task.expects(:task_name).returns("mock.othertask")
32
+
33
+ router = Hay::Routes.for_task(mock_task)
34
+ assert_equal nil, router
35
+ end
36
+ end
37
+
@@ -0,0 +1,68 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ require 'hay/task/decorator'
4
+
5
+ class Hay::Task::DecoratorTest < Test::Unit::TestCase
6
+ setup do
7
+ @mock_task = mock
8
+
9
+
10
+ @mock_flow = mock
11
+
12
+ @decorated_task = Hay::Task::Decorator.new(@mock_task)
13
+ end
14
+
15
+ def flows
16
+ Hay::Task::Flow.expects(:new).returns(@mock_flow)
17
+ end
18
+
19
+ test "#flow" do
20
+ flows
21
+ result = @decorated_task.flow
22
+
23
+ assert_equal @mock_flow, result
24
+ end
25
+
26
+ test "#dehydrate" do
27
+ flows
28
+
29
+ mock_dehydrated_task = mock
30
+
31
+ @mock_task.expects(:task_name).returns("mock_task")
32
+ @mock_task.expects(:dehydrate).returns(mock_dehydrated_task)
33
+
34
+ mock_dehydrated_flow = mock
35
+ @mock_flow.expects(:dehydrate).returns(mock_dehydrated_flow)
36
+
37
+ expected = {"name" => "mock_task",
38
+ "task" => mock_dehydrated_task,
39
+ "flow" => mock_dehydrated_flow}
40
+ result = @decorated_task.dehydrate
41
+
42
+ assert_equal expected, result
43
+ end
44
+
45
+ test "#process" do
46
+ flows
47
+
48
+ mock_dispatcher = mock
49
+
50
+ mock_resulter = mock
51
+ Hay::Task::Resulter.expects(:new).with(@mock_flow, mock_dispatcher).returns(mock_resulter)
52
+
53
+ @mock_task.expects(:process).with(mock_resulter)
54
+
55
+ @decorated_task.process(mock_dispatcher)
56
+ end
57
+
58
+ test "#other_method" do
59
+ mock_result = mock
60
+
61
+ @mock_task.expects(:delegated_method).returns(mock_result)
62
+
63
+ result = @decorated_task.delegated_method
64
+
65
+ assert_equal mock_result, result
66
+ end
67
+ end
68
+
@@ -0,0 +1,45 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ require 'hay/task/flow'
4
+
5
+ class Hay::Task::FlowTest < Test::Unit::TestCase
6
+ test '.dehydrate tasks' do
7
+
8
+ mock_task = mock
9
+ mock_task.expects(:kind_of?).with(Hash).returns(false)
10
+
11
+ mock_dehydrated_task = mock
12
+ mock_task.expects(:dehydrate).returns(mock_dehydrated_task)
13
+
14
+ flow = Hay::Task::Flow.new([mock_task])
15
+ result = flow.dehydrate
16
+
17
+ assert_equal 1, result.length
18
+ assert_equal mock_dehydrated_task, result.first
19
+ end
20
+
21
+ test '.dehydrate hashes' do
22
+
23
+ mock_task = mock
24
+ mock_task.expects(:kind_of?).with(Hash).returns(true)
25
+
26
+ flow = Hay::Task::Flow.new([mock_task])
27
+ result = flow.dehydrate
28
+
29
+ assert_equal 1, result.length
30
+ assert_equal mock_task, result.first
31
+ end
32
+ test '.inflate' do
33
+
34
+ mock_task = mock
35
+
36
+ mock_template = mock
37
+ Hay::Task::Template.expects(:new).with(mock_task).returns(mock_template)
38
+
39
+ flow = Hay::Task::Flow.new([mock_task])
40
+ result = flow.inflate
41
+
42
+ assert_equal 1, result.length
43
+ assert_equal mock_template, result.first
44
+ end
45
+ end
@@ -0,0 +1,38 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ require 'hay/task/hydrator'
4
+
5
+ class Hay::Task::HydratorTest < Test::Unit::TestCase
6
+ test '.hydrate' do
7
+
8
+ mock_task_name = 'mock_task'
9
+
10
+ mock_hash = mock
11
+ mock_hash.expects(:[]).with('name').returns(mock_task_name)
12
+
13
+ mock_task_class = mock
14
+ Hay::Tasks.expects(:for_name).with(mock_task_name).returns(mock_task_class)
15
+
16
+ mock_hash_task = mock
17
+ mock_hash.expects(:[]).with('task').returns(mock_hash_task)
18
+
19
+ mock_hash_flow = mock
20
+ mock_hash.expects(:[]).with('flow').returns(mock_hash_flow)
21
+
22
+ mock_flow = mock
23
+ Hay::Task::Flow.expects(:new).with(mock_hash_flow).returns(mock_flow)
24
+
25
+ mock_task = mock
26
+ mock_task_class.expects(:new).with(mock_hash_task).returns(mock_task)
27
+
28
+ mock_hay_task = mock
29
+ mock_task.expects(:to_hay).returns(mock_hay_task)
30
+
31
+ mock_hay_task.expects(:flow=).with(mock_flow)
32
+
33
+ hydrator = Hay::Task::Hydrator.new(mock_hash)
34
+
35
+ result = hydrator.hydrate
36
+ assert_equal mock_hay_task, result
37
+ end
38
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ require 'hay/task/hydrators'
4
+
5
+ class Hay::Task::HydratorsTest < Test::Unit::TestCase
6
+ test '.for' do
7
+ mock_task = mock
8
+
9
+ mock_task_name = "mock_task"
10
+ mock_task.expects(:task_name).twice.returns(mock_task_name)
11
+
12
+ mock_hydrator_class = mock
13
+
14
+ Hay::Task::Hydrators.register(mock_task, mock_hydrator_class)
15
+
16
+ params = {'name' => mock_task_name}
17
+
18
+ mock_hydrator = mock
19
+ mock_hydrator_class.expects(:new).with(params).returns(mock_hydrator)
20
+
21
+ hydrator = Hay::Task::Hydrators.for(params)
22
+
23
+ assert_equal mock_hydrator, hydrator
24
+
25
+ end
26
+ end
@@ -0,0 +1,27 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ require 'hay/task/resulter'
4
+
5
+ class Hay::Task::ResulterTest < Test::Unit::TestCase
6
+ test 'submit' do
7
+ mock_flow = mock
8
+ mock_router = mock
9
+
10
+ mock_hydrator = mock
11
+
12
+ mock_tasks = 5.times.map { mock }
13
+
14
+ mock_data = mock
15
+ mock_hydrator.expects(:hydrate_with).with(mock_data).returns(mock_tasks)
16
+
17
+ Hay::Task::Template::Hydrator.expects(:new).returns(mock_hydrator)
18
+
19
+ mock_tasks.each {|t|
20
+ mock_router.expects(:push).with(t)
21
+ }
22
+
23
+ resulter = Hay::Task::Resulter.new(mock_flow, mock_router)
24
+
25
+ resulter.submit(mock_data)
26
+ end
27
+ end
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../../../../test_helper', __FILE__)
2
+
3
+ require 'hay/task/template/hash'
4
+ require 'hay/task/hydrators'
5
+
6
+ class Hay::Task::Template::HashTest < Test::Unit::TestCase
7
+ test '#render' do
8
+ mock_params = mock
9
+ mergable_params = {"bar" => "barval"}
10
+
11
+ mock_name = "mock_task"
12
+
13
+ mock_params.expects(:fetch).with("name").returns(mock_name)
14
+
15
+ mock_merged_task = mock
16
+
17
+ mock_task_hydrator = mock
18
+ mock_task_hydrator.expects(:hydrate).returns(mock_merged_task)
19
+
20
+ mock_merged_params = mock
21
+ mock_params.expects(:merge).with(mergable_params).returns(mock_merged_params)
22
+
23
+ Hay::Task::Hydrators.expects(:for).with(mock_merged_params).returns(mock_task_hydrator)
24
+
25
+ template = Hay::Task::Template::Hash.new(mock_params)
26
+
27
+ result = template.render(mergable_params)
28
+ assert_equal mock_merged_task, result
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../../../../test_helper', __FILE__)
2
+
3
+ require 'hay/task/template/hydrator'
4
+ require 'hay/task/registry'
5
+
6
+ class Hay::Task::Template::HydratorTest < Test::Unit::TestCase
7
+ test 'hydrate_with' do
8
+ mock_flow = mock
9
+
10
+ mock_tasks = 5.times.map do
11
+ mock
12
+ end
13
+
14
+ mock_templates = 5.times.map do |x|
15
+ t = mock
16
+ t.expects(:render).returns(mock_tasks[x])
17
+ t
18
+ end
19
+
20
+ mock_flow.expects(:inflate).returns(mock_templates)
21
+
22
+ h = Hay::Task::Template::Hydrator.new(mock_flow)
23
+
24
+ result_tasks = h.hydrate_with({"foo" => "bar"})
25
+
26
+ assert_equal mock_tasks, result_tasks
27
+ end
28
+ end
29
+
30
+
@@ -0,0 +1,33 @@
1
+ require File.expand_path('../../../../test_helper', __FILE__)
2
+
3
+ require 'hay/tasks'
4
+ require 'hay/task/template/hash'
5
+
6
+ class Hay::Task::Template::TaskTest < Test::Unit::TestCase
7
+ test '#render' do
8
+ mock_template_task = mock
9
+ mock_task = mock
10
+
11
+ mock_template_task.expects(:task_name).returns("mock_task")
12
+ mock_template_task.expects(:payload).returns("foo" => "fooval")
13
+
14
+
15
+ mock_template_task_flow = mock
16
+ mock_template_task.expects(:flow).returns(mock_template_task_flow)
17
+
18
+ mock_task_factory = mock
19
+ mock_task_factory.expects(:new).with({"foo" => "fooval", "bar" => "barval"}).returns(mock_task)
20
+
21
+ mock_hay_task = mock
22
+ mock_task.expects(:to_hay).returns(mock_hay_task)
23
+
24
+ mock_hay_task.expects(:flow=).with(mock_template_task_flow)
25
+
26
+ Hay::Tasks.expects(:for).with("mock_task").returns(mock_task_factory)
27
+
28
+ template = Hay::Task::Template::Task.new(mock_template_task)
29
+ result = template.render({"bar" => "barval"})
30
+
31
+ assert_equal mock_hay_task, result
32
+ end
33
+ end
@@ -0,0 +1,36 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ require 'hay/task/registry'
4
+ require 'hay/task/templates'
5
+
6
+ require 'hay/task/template/hash'
7
+ require 'hay/task/template/task'
8
+
9
+ class Hay::Task::TemplateTest < Test::Unit::TestCase
10
+ test '.new raises on unknown task class' do
11
+ mock_task = mock
12
+ mock_task.expects(:class).returns("mock_task")
13
+
14
+ Hay::Task::Templates.expects(:for).with(mock_task).returns(nil)
15
+
16
+ assert_raise(Hay::Task::Exception::UnknownTemplateError){
17
+ Hay::Task::Template.new(mock_task)
18
+ }
19
+ end
20
+
21
+ test '.new returns when valid' do
22
+ mock_task = mock
23
+
24
+ mock_task_template = mock
25
+
26
+ Hay::Task::Templates.expects(:for).with(mock_task).returns(mock_task_template)
27
+
28
+ mock_template_instance = mock
29
+
30
+ mock_task_template.expects(:new).with(mock_task).returns(mock_template_instance)
31
+
32
+ result = Hay::Task::Template.new(mock_task)
33
+
34
+ assert_equal mock_template_instance, result
35
+ end
36
+ end
@@ -0,0 +1,6 @@
1
+ require File.expand_path('../../test_helper', __FILE__)
2
+
3
+ require 'hay/task'
4
+
5
+ class Hay::TaskTest < Test::Unit::TestCase
6
+ end
@@ -0,0 +1,24 @@
1
+ if ENV["COVERAGE"]
2
+ require 'coveralls'
3
+ require 'codeclimate-test-reporter'
4
+ require 'simplecov'
5
+ SimpleCov.start do
6
+ add_group "Lib", "lib"
7
+ add_filter "/test/"
8
+ command_name "Unit Tests"
9
+ formatter SimpleCov::Formatter::MultiFormatter[
10
+ SimpleCov::Formatter::HTMLFormatter,
11
+ Coveralls::SimpleCov::Formatter,
12
+ CodeClimate::TestReporter::Formatter
13
+ ]
14
+ end
15
+ end
16
+
17
+ require 'test/unit'
18
+
19
+ ENV["HAY_ENV"] = "test"
20
+
21
+ require 'mocha/setup'
22
+
23
+ module TestHelper
24
+ end
metadata ADDED
@@ -0,0 +1,206 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hay
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.pre.alpha.1
5
+ platform: ruby
6
+ authors:
7
+ - Ed Carrel
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-10-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: punchout
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: test-unit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: mocha
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: simplecov
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
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.6'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.6'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '10.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '10.0'
97
+ description: A generic workflow definition framework.
98
+ email:
99
+ - edward@carrel.org
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".travis.yml"
106
+ - Gemfile
107
+ - LICENSE
108
+ - README.md
109
+ - Rakefile
110
+ - hay.gemspec
111
+ - lib/hay.rb
112
+ - lib/hay/consumer.rb
113
+ - lib/hay/dispatcher.rb
114
+ - lib/hay/message.rb
115
+ - lib/hay/queue.rb
116
+ - lib/hay/route.rb
117
+ - lib/hay/router.rb
118
+ - lib/hay/routes.rb
119
+ - lib/hay/task.rb
120
+ - lib/hay/task/decorator.rb
121
+ - lib/hay/task/exception.rb
122
+ - lib/hay/task/exception/transient_exception.rb
123
+ - lib/hay/task/exception/unknown_template_error.rb
124
+ - lib/hay/task/flow.rb
125
+ - lib/hay/task/hydrator.rb
126
+ - lib/hay/task/hydrator/registry.rb
127
+ - lib/hay/task/hydrators.rb
128
+ - lib/hay/task/registry.rb
129
+ - lib/hay/task/resolver.rb
130
+ - lib/hay/task/resolver/hash.rb
131
+ - lib/hay/task/resolver/registry.rb
132
+ - lib/hay/task/resolver/task.rb
133
+ - lib/hay/task/resolvers.rb
134
+ - lib/hay/task/resulter.rb
135
+ - lib/hay/task/template.rb
136
+ - lib/hay/task/template/hash.rb
137
+ - lib/hay/task/template/hydrator.rb
138
+ - lib/hay/task/template/registry.rb
139
+ - lib/hay/task/template/task.rb
140
+ - lib/hay/task/templates.rb
141
+ - lib/hay/tasks.rb
142
+ - lib/hay/version.rb
143
+ - rakelib/hay/rake.rb
144
+ - test/alfalfa.log
145
+ - test/integration/hay_test.rb
146
+ - test/simplecov_helper.rb
147
+ - test/unit/hay/dispatcher_test.rb
148
+ - test/unit/hay/message_test.rb
149
+ - test/unit/hay/route_test.rb
150
+ - test/unit/hay/router_test.rb
151
+ - test/unit/hay/routes_test.rb
152
+ - test/unit/hay/task/decorator_test.rb
153
+ - test/unit/hay/task/flow_test.rb
154
+ - test/unit/hay/task/hydrator_test.rb
155
+ - test/unit/hay/task/hydrators_test.rb
156
+ - test/unit/hay/task/resulter_test.rb
157
+ - test/unit/hay/task/template/hash_test.rb
158
+ - test/unit/hay/task/template/hydrator_test.rb
159
+ - test/unit/hay/task/template/task_test.rb
160
+ - test/unit/hay/task/template_test.rb
161
+ - test/unit/hay/task_test.rb
162
+ - test/unit/test_helper.rb
163
+ homepage: https://github.com/azanar/hay
164
+ licenses:
165
+ - MIT
166
+ metadata: {}
167
+ post_install_message:
168
+ rdoc_options: []
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.3.1
181
+ requirements: []
182
+ rubyforge_project:
183
+ rubygems_version: 2.2.2
184
+ signing_key:
185
+ specification_version: 4
186
+ summary: A workflow definition framework.
187
+ test_files:
188
+ - test/alfalfa.log
189
+ - test/integration/hay_test.rb
190
+ - test/simplecov_helper.rb
191
+ - test/unit/hay/dispatcher_test.rb
192
+ - test/unit/hay/message_test.rb
193
+ - test/unit/hay/route_test.rb
194
+ - test/unit/hay/router_test.rb
195
+ - test/unit/hay/routes_test.rb
196
+ - test/unit/hay/task/decorator_test.rb
197
+ - test/unit/hay/task/flow_test.rb
198
+ - test/unit/hay/task/hydrator_test.rb
199
+ - test/unit/hay/task/hydrators_test.rb
200
+ - test/unit/hay/task/resulter_test.rb
201
+ - test/unit/hay/task/template/hash_test.rb
202
+ - test/unit/hay/task/template/hydrator_test.rb
203
+ - test/unit/hay/task/template/task_test.rb
204
+ - test/unit/hay/task/template_test.rb
205
+ - test/unit/hay/task_test.rb
206
+ - test/unit/test_helper.rb