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

Sign up to get free protection for your applications and to get access to all the features.
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