hay 0.0.1.pre.alpha.1 → 0.0.1.pre.alpha.2

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: 3e9f58b9c8931713ab80709d18de6eacf67cf121
4
- data.tar.gz: 1f80d87fc28483308026bd62a36c228ea2238989
3
+ metadata.gz: a9c794c99eccbceb6466355ecacacced1f774bcd
4
+ data.tar.gz: fc59b1ccf3f3bfe92743703ee5e87aad1e9b773d
5
5
  SHA512:
6
- metadata.gz: 0f20a6d70a05ce284af2a3c8b22bd040a426a393b358a937d1f6e8fa8d1e418b1e4a009f5497b6953bc67041f13d69d96cab4474fd700247ec6e70ebf3f7be97
7
- data.tar.gz: a062287b084f6fc0f6b2f1e9636ae5f6f732edf3504dcdbe01868edcb8debdca8088f5e42ebccf07fc7109a3017614f7e2cec68ab535f28549d7f9cbe439434f
6
+ metadata.gz: 5c8309fbe23dd1dd55cf34fb5b9c64ccb6d686dbdb82288ee78b113732ab9075db034b92650416ade710e1177852038f6c99b1e2ea7fc5d76935ff9abd03fd20
7
+ data.tar.gz: 88805f8356452b4103555f1a4f0d5932a17dd550281920df128b7d5ec25a8ba0861e9b103d5581b5d05ec24f788e9b3607c3bb4bc00500b00e5fd0eccf8dd228
data/README.md CHANGED
@@ -1,3 +1,11 @@
1
+ [![Build Status](https://travis-ci.org/azanar/hay.svg)](https://travis-ci.org/azanar/hay)
2
+ [![Dependency Status](http://img.shields.io/gemnasium/azanar/hay.svg)](https://gemnasium.com/azanar/hay)
3
+ [![Coverage Status](http://img.shields.io/coveralls/azanar/hay.svg)](https://coveralls.io/r/azanar/hay)
4
+ [![Code Climate](http://img.shields.io/codeclimate/github/azanar/hay.svg)](https://codeclimate.com/github/azanar/hay)
5
+ [![Gem Version](http://img.shields.io/gem/v/hay.svg)](https://rubygems.org/gems/hay)
6
+ [![License](http://img.shields.io/:license-mit-blue.svg)](http://azanar.mit-license.org)
7
+ [![Badges](http://img.shields.io/:badges-7/7-ff6799.svg)](https://github.com/badges/badgerbadgerbadger)
8
+
1
9
  Hay
2
10
  =======
3
11
  A workflow definition framework.
data/lib/hay/route.rb CHANGED
@@ -1,13 +1,18 @@
1
1
  module Hay
2
2
  module Route
3
+ module Autowired
4
+ def self.included(route)
5
+ route.class_exec do
6
+ include Hay::Route
7
+ end
8
+ Hay::Routes.register(route)
9
+ end
10
+ end
11
+
3
12
  class << self
4
13
  def queue_name
5
14
  raise NotImplementedException
6
15
  end
7
-
8
- def included(route)
9
- Hay::Routes.register(route)
10
- end
11
16
  end
12
17
 
13
18
  def initialize(agent)
@@ -4,6 +4,8 @@ require 'hay/task/exception/unknown_template_error'
4
4
 
5
5
  module Hay
6
6
  module Task
7
+ # A Resolver is responsible for figuring out how to transform an arbitrary
8
+ # input parameter into something digestable by Hay.
7
9
  module Resolver
8
10
  def self.new(params)
9
11
  resolver_class = Hay::Task::Resolvers.punch(params)
data/lib/hay/task.rb CHANGED
@@ -13,9 +13,14 @@ module Hay
13
13
  # dehydrate.
14
14
  #
15
15
  module Task
16
- def self.included(base)
17
- Hay::Tasks.register(base)
18
- Hay::Task::Hydrators.register(base, Hay::Task::Hydrator)
16
+ module Autowired
17
+ def self.included(base)
18
+ base.instance_exec do
19
+ include Hay::Task
20
+ end
21
+ Hay::Tasks.register(base)
22
+ Hay::Task::Hydrators.register(base, Hay::Task::Hydrator)
23
+ end
19
24
  end
20
25
 
21
26
  def task_name
data/lib/hay/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Hay
2
- VERSION = "0.0.1-alpha.1"
2
+ VERSION = "0.0.1-alpha.2"
3
3
  end
4
4
 
data/lib/hay.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'logger'
2
2
 
3
+ # Hay
3
4
  module Hay
4
5
  class << self
5
6
  def logger
@@ -18,7 +18,7 @@ class HayTest < Test::Unit::TestCase
18
18
  module MockTask
19
19
  def self.included(base)
20
20
  base.instance_exec do
21
- include Hay::Task
21
+ include Hay::Task::Autowired
22
22
  end
23
23
  end
24
24
 
@@ -142,7 +142,7 @@ class HayTest < Test::Unit::TestCase
142
142
  [RemoteTask]
143
143
  end
144
144
 
145
- include Hay::Route
145
+ include Hay::Route::Autowired
146
146
 
147
147
  end
148
148
 
@@ -2,12 +2,31 @@ require File.expand_path('../../test_helper', __FILE__)
2
2
 
3
3
  require 'hay/route'
4
4
 
5
- class Hay::RouteTest < Test::Unit::TestCase
6
- setup do
5
+ class Hay::Route::AutowiredTest < Test::Unit::TestCase
6
+ test "autowiring" do
7
7
  dummy_route_klass = Class.new
8
8
 
9
9
  Hay::Routes.expects(:register).with(dummy_route_klass)
10
10
 
11
+ dummy_route_klass.class_exec do
12
+ include Hay::Route::Autowired
13
+
14
+ def tasks=(tasks)
15
+ @tasks = tasks
16
+ end
17
+
18
+ def tasks
19
+ @tasks
20
+ end
21
+ end
22
+
23
+ assert dummy_route_klass.include?(Hay::Route)
24
+ end
25
+ end
26
+ class Hay::RouteTest < Test::Unit::TestCase
27
+ setup do
28
+ dummy_route_klass = Class.new
29
+
11
30
  dummy_route_klass.class_exec do
12
31
  include Hay::Route
13
32
 
@@ -1,7 +1,6 @@
1
1
  require File.expand_path('../../../../test_helper', __FILE__)
2
2
 
3
3
  require 'hay/task/template/hydrator'
4
- require 'hay/task/registry'
5
4
 
6
5
  class Hay::Task::Template::HydratorTest < Test::Unit::TestCase
7
6
  test 'hydrate_with' do
@@ -1,6 +1,5 @@
1
1
  require File.expand_path('../../../test_helper', __FILE__)
2
2
 
3
- require 'hay/task/registry'
4
3
  require 'hay/task/templates'
5
4
 
6
5
  require 'hay/task/template/hash'
@@ -3,4 +3,19 @@ require File.expand_path('../../test_helper', __FILE__)
3
3
  require 'hay/task'
4
4
 
5
5
  class Hay::TaskTest < Test::Unit::TestCase
6
+ test "autowiring" do
7
+ dummy_task_klass = Class.new
8
+
9
+ Hay::Tasks.expects(:register).with(dummy_task_klass)
10
+
11
+ dummy_task_klass.class_exec do
12
+ def self.task_name
13
+ "dummy_task"
14
+ end
15
+
16
+ include Hay::Task::Autowired
17
+ end
18
+
19
+ assert dummy_task_klass.include?(Hay::Task)
20
+ end
6
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre.alpha.1
4
+ version: 0.0.1.pre.alpha.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ed Carrel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-21 00:00:00.000000000 Z
11
+ date: 2014-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: punchout
@@ -123,19 +123,15 @@ files:
123
123
  - lib/hay/task/exception/unknown_template_error.rb
124
124
  - lib/hay/task/flow.rb
125
125
  - lib/hay/task/hydrator.rb
126
- - lib/hay/task/hydrator/registry.rb
127
126
  - lib/hay/task/hydrators.rb
128
- - lib/hay/task/registry.rb
129
127
  - lib/hay/task/resolver.rb
130
128
  - lib/hay/task/resolver/hash.rb
131
- - lib/hay/task/resolver/registry.rb
132
129
  - lib/hay/task/resolver/task.rb
133
130
  - lib/hay/task/resolvers.rb
134
131
  - lib/hay/task/resulter.rb
135
132
  - lib/hay/task/template.rb
136
133
  - lib/hay/task/template/hash.rb
137
134
  - lib/hay/task/template/hydrator.rb
138
- - lib/hay/task/template/registry.rb
139
135
  - lib/hay/task/template/task.rb
140
136
  - lib/hay/task/templates.rb
141
137
  - lib/hay/tasks.rb
@@ -1,21 +0,0 @@
1
- module Hay
2
- module Task
3
- class Factory
4
- module Registry
5
- @@factories = {}
6
-
7
- def self.register(task_class)
8
- @@factories[task_class.task_name] = Hay::Task::Factory.new(task_class)
9
- end
10
-
11
- def self.factory_by_task_class(task_class)
12
- @@factories[task_class.task_name]
13
- end
14
-
15
- def self.factory_by_task_name(task_name)
16
- @@factories[task_name]
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,16 +0,0 @@
1
- #require 'hay/task/factory'
2
-
3
- module Hay
4
- module Task
5
- ##
6
- # A registry for any tasks which the system knows how to create.
7
- #
8
- module Registry
9
- def self.register(task)
10
- Hay.logger.info "Registering #{task} for #{task.task_name}"
11
-
12
- #Hay::Task::Factory::Registry.register(task)
13
- end
14
- end
15
- end
16
- end
@@ -1,11 +0,0 @@
1
- module Hay
2
- module Task
3
- module Resolver
4
- module Registry
5
- def self.resolver_for(task_class)
6
- Hay::Task::Resolvers.punch(task_class)
7
- end
8
- end
9
- end
10
- end
11
- end
@@ -1,18 +0,0 @@
1
- module Hay
2
- module Task
3
- module Template
4
- module Registry
5
- @@template_maps = {}
6
-
7
- def self.register(task_class, template)
8
- Hay.logger.info "Registering template #{template} for #{task_class}"
9
- @@template_maps[task_class] = template
10
- end
11
-
12
- def self.template_for(task_class)
13
- @@template_maps[task_class]
14
- end
15
- end
16
- end
17
- end
18
- end