nezu 0.4.13
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/.document +5 -0
- data/.gitignore +13 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +77 -0
- data/README.md +14 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/bin/nezu +8 -0
- data/lib/nezu/cli.rb +43 -0
- data/lib/nezu/generators/application/MANIFEST +16 -0
- data/lib/nezu/generators/application/USAGE +15 -0
- data/lib/nezu/generators/application/app_generator.rb +37 -0
- data/lib/nezu/generators/application/templates/.gitignore +15 -0
- data/lib/nezu/generators/application/templates/Gemfile +9 -0
- data/lib/nezu/generators/application/templates/README.md +0 -0
- data/lib/nezu/generators/application/templates/Rakefile +7 -0
- data/lib/nezu/generators/application/templates/app/consumers/$app_name.rb.tt +4 -0
- data/lib/nezu/generators/application/templates/app/consumers/.gitkeep +0 -0
- data/lib/nezu/generators/application/templates/app/models/.gitkeep +0 -0
- data/lib/nezu/generators/application/templates/app/producers/.gitkeep +0 -0
- data/lib/nezu/generators/application/templates/config/amqp.yml.tt +9 -0
- data/lib/nezu/generators/application/templates/config/boot.rb.tt +6 -0
- data/lib/nezu/generators/application/templates/config/database.yml.tt +9 -0
- data/lib/nezu/generators/application/templates/config/initializers/.gitkeep +0 -0
- data/lib/nezu/generators/application/templates/config/nezu.rb.tt +11 -0
- data/lib/nezu/generators/application/templates/db/.gitkeep +0 -0
- data/lib/nezu/generators/application/templates/log/.gitkeep +0 -0
- data/lib/nezu/generators/application/templates/spec/.gitkeep +0 -0
- data/lib/nezu/generators.rb +45 -0
- data/lib/nezu/runner.rb +87 -0
- data/lib/nezu/runtime/consumer.rb +35 -0
- data/lib/nezu/runtime/producer.rb +28 -0
- data/lib/nezu/runtime/recipient.rb +24 -0
- data/lib/nezu/runtime/worker.rb +24 -0
- data/lib/nezu.rb +34 -0
- data/nezu.gemspec +25 -0
- data/spec/functional/generators/app_generator_spec.rb +52 -0
- data/spec/functional/generators_spec.rb +36 -0
- data/spec/functional/nezu_spec.rb +11 -0
- data/spec/functional/runner_spec.rb +0 -0
- data/spec/functional/runtime/consumer_spec.rb +54 -0
- data/spec/functional/runtime/producer_spec.rb +24 -0
- data/spec/functional/runtime/recipient_spec.rb +15 -0
- data/spec/integration/user_script_spec.rb +6 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/support/lib/nezu/generators/application/templates/test_file.tt +2 -0
- data/spec/support/lib/nezu/generators/application/templates/test_file_without_suffix +0 -0
- data/spec/support/sample_project/.gitignore +15 -0
- data/spec/support/sample_project/Gemfile +9 -0
- data/spec/support/sample_project/README.md +0 -0
- data/spec/support/sample_project/Rakefile +7 -0
- data/spec/support/sample_project/app/consumers/.gitkeep +0 -0
- data/spec/support/sample_project/app/consumers/sample_project.rb +4 -0
- data/spec/support/sample_project/app/models/.gitkeep +0 -0
- data/spec/support/sample_project/app/producers/.gitkeep +0 -0
- data/spec/support/sample_project/config/amqp.yml +9 -0
- data/spec/support/sample_project/config/boot.rb +6 -0
- data/spec/support/sample_project/config/database.yml +9 -0
- data/spec/support/sample_project/config/initializers/.gitkeep +0 -0
- data/spec/support/sample_project/config/nezu.rb +11 -0
- data/spec/support/sample_project/db/.gitkeep +0 -0
- data/spec/support/sample_project/spec/.gitkeep +0 -0
- data/spec/support/tmp/.gitkeep +0 -0
- metadata +252 -0
data/lib/nezu.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.setup
|
3
|
+
|
4
|
+
require 'yaml'
|
5
|
+
require 'active_support/core_ext'
|
6
|
+
require 'active_record'
|
7
|
+
require 'configatron'
|
8
|
+
module Nezu
|
9
|
+
configatron.gem_base_dir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
10
|
+
|
11
|
+
def self.env
|
12
|
+
Env.new(ENV['NEZU_ENV']||'development')
|
13
|
+
end
|
14
|
+
|
15
|
+
class Env < String
|
16
|
+
def method_missing(meth, params=nil)
|
17
|
+
meth.to_s.sub(/\?$/, '') == self
|
18
|
+
end
|
19
|
+
|
20
|
+
def respond_to?(meth, params=nil)
|
21
|
+
!!meth.to_s.match(/\?$/)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
class Error < Exception
|
26
|
+
def new(e,msg)
|
27
|
+
Nezu::LOGGER.error(e.to_s)
|
28
|
+
e.backtrace.each {|bt_line| Nezu::LOGGER.error(bt_line)}
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
require 'debugger' unless Nezu.env.production?
|
34
|
+
|
data/nezu.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
Gem::Specification.new do |s|
|
3
|
+
s.name = "nezu"
|
4
|
+
s.version = File.read(File.join(File.dirname(__FILE__), 'VERSION'))
|
5
|
+
s.authors = ["Sascha Teske"]
|
6
|
+
s.email = %q{sascha.teske@gmail.com}
|
7
|
+
s.homepage = %q{http://github.com/slaxor/nezu}
|
8
|
+
s.summary = %q{Skel generator and launcher for amqp consumers}
|
9
|
+
s.description = %q{Skel generator and launcher for amqp consumers.}
|
10
|
+
|
11
|
+
s.add_dependency 'amqp'
|
12
|
+
s.add_dependency 'bunny', '>= 0.9.0.pre6'
|
13
|
+
s.add_dependency 'activerecord', '~>3.2.11'
|
14
|
+
s.add_dependency 'activesupport', '~>3.2.11'
|
15
|
+
s.add_dependency 'configatron'
|
16
|
+
s.add_development_dependency 'rake'
|
17
|
+
s.add_development_dependency 'sdoc'
|
18
|
+
s.add_development_dependency 'rspec'
|
19
|
+
s.add_development_dependency 'debugger'
|
20
|
+
|
21
|
+
s.files = `git ls-files`.split("\n")
|
22
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
23
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
24
|
+
s.require_paths = ["lib"]
|
25
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'nezu/generators'
|
3
|
+
require 'nezu/generators/application/app_generator'
|
4
|
+
|
5
|
+
describe Nezu::Generators::Application::AppGenerator do
|
6
|
+
describe '#new' do
|
7
|
+
before do
|
8
|
+
@app = Nezu::Generators::Application::AppGenerator.new('/blah/foo')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should have a destination_root' do
|
12
|
+
configatron.destination_root.should == '/blah/foo'
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should have an app_name' do
|
16
|
+
configatron.app_name.should == 'foo'
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should have a scope' do
|
20
|
+
configatron.name_space.should == Foo
|
21
|
+
Foo.class.should be_a(Module)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#generate!' do
|
26
|
+
before do
|
27
|
+
@my_dest_root = "#{SPEC_TMP_DIR}/foo_#{rand(35**4).to_s(35)}"
|
28
|
+
@app = Nezu::Generators::Application::AppGenerator.new(@my_dest_root)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should create the destination_root dir' do
|
32
|
+
@app.generate!
|
33
|
+
File.exist?(@my_dest_root).should be_true
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should create the amqp.yml' do
|
37
|
+
@app.generate!
|
38
|
+
File.exist?(File.join(@my_dest_root, 'config', 'amqp.yml')).should be_true
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should bail out if the destination_root already exists' do
|
42
|
+
@app.generate!
|
43
|
+
@app = Nezu::Generators::Application::AppGenerator.new(@my_dest_root)
|
44
|
+
lambda {@app.generate!}.should raise_error(Nezu::Generators::Application::AppGeneratorError, "\"#{@my_dest_root}\" already exists")
|
45
|
+
end
|
46
|
+
|
47
|
+
after do
|
48
|
+
FileUtils.rm_rf(@my_dest_root)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'nezu/generators'
|
3
|
+
include Nezu::Generators
|
4
|
+
|
5
|
+
describe Nezu::Generators do
|
6
|
+
describe '#template_to' do
|
7
|
+
it 'should create a (parsed) copy in the app dir' do
|
8
|
+
template_to('test_file')
|
9
|
+
File.exists?(File.join(configatron.destination_root, '/test_file')).should be_true
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should parse .tt files using erb' do
|
13
|
+
template_to('test_file')
|
14
|
+
File.read(File.join(configatron.destination_root, '/test_file')).match(/Hi there/).should_not be_nil
|
15
|
+
end
|
16
|
+
|
17
|
+
after do
|
18
|
+
%x(rm -rf #{configatron.destination_root})
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#find_template' do
|
23
|
+
it 'should return nil if file could not be found in paths' do
|
24
|
+
find_template('non_existant_file').should be_nil
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should return the first found candidate in paths' do
|
28
|
+
find_template('test_file').should match('spec/support/lib/nezu/generators/application/templates/test_file.tt')
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should also return a candidate with no suffix' do
|
32
|
+
find_template('test_file_without_suffix').should match('spec/support/lib/nezu/generators/application/templates/test_file_without_suffix')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
File without changes
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'nezu/runtime/consumer'
|
3
|
+
describe Nezu::Runtime::Consumer do
|
4
|
+
describe '::descendants' do
|
5
|
+
it 'should return a list of heirs' do
|
6
|
+
class Consumer1 < Nezu::Runtime::Consumer;end
|
7
|
+
class Consumer2 < Nezu::Runtime::Consumer;end
|
8
|
+
Nezu::Runtime::Consumer.descendants.should =~ [Consumer2, Consumer1]
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#handle_message' do
|
13
|
+
before do
|
14
|
+
class Consumer1 < Nezu::Runtime::Consumer;end
|
15
|
+
Consumer1.any_instance.should_receive(:send).any_number_of_times.and_return({a: 'hash', with: 'no real_value'})
|
16
|
+
@consumer = Consumer1.new
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should honor "__reply_to"' do
|
20
|
+
reply_to = 'example_producer'
|
21
|
+
Nezu::Runtime::Recipient.should_receive(:new).with(reply_to)
|
22
|
+
@consumer.handle_message('{"meta": "not_used"}', %Q({"__action":"bar","__reply_to":"#{reply_to}"}))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe '::queue_name' do
|
27
|
+
it 'should return its translated class name' do
|
28
|
+
module JustAModule;class Consumer1<Nezu::Runtime::Consumer;end;end
|
29
|
+
JustAModule::Consumer1.queue_name.should == 'just_a_module.consumer1'
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should use the queue_prefix if its set' do
|
33
|
+
configatron.amqp.queue_prefix = 'the_prefix'
|
34
|
+
module JustAModule;class ConsumerWithPrefix<Nezu::Runtime::Consumer;end;end
|
35
|
+
JustAModule::ConsumerWithPrefix.queue_name.should == 'the_prefix.just_a_module.consumer_with_prefix'
|
36
|
+
configatron.amqp.queue_prefix = nil
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should use the queue_postfix if its set' do
|
40
|
+
configatron.amqp.queue_postfix = 'the_postfix'
|
41
|
+
module JustAModule;class ConsumerWithPostfix<Nezu::Runtime::Consumer;end;end
|
42
|
+
JustAModule::ConsumerWithPostfix.queue_name.should == 'just_a_module.consumer_with_postfix.the_postfix'
|
43
|
+
configatron.amqp.queue_postfix = nil
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe '::queue_name=' do
|
48
|
+
it 'should use queue_name if it was set' do
|
49
|
+
module JustAModule;class ConsumerWithCustomQueue<Nezu::Runtime::Consumer;end;end
|
50
|
+
JustAModule::ConsumerWithCustomQueue.queue_name = 'abc.123'
|
51
|
+
JustAModule::ConsumerWithCustomQueue.queue_name.should == 'abc.123'
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'nezu/runtime/producer'
|
3
|
+
describe Nezu::Runtime::Producer do
|
4
|
+
before do
|
5
|
+
#Bunny.stub!(:new).and_return(AlwaysHappy.new)
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '::push!' do
|
9
|
+
it 'should create a new message on the server' do
|
10
|
+
configatron.amqp.url = 'amqp://127.0.0.1'
|
11
|
+
Bunny.should_receive(:new).with(configatron.amqp.url).and_return(AlwaysHappy.new)
|
12
|
+
module ExampleProducers;class MyQueue<Nezu::Runtime::Producer;end;end
|
13
|
+
ExampleProducers::MyQueue.push!(:foo => 'bar')
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '::queue_name' do
|
18
|
+
it 'should create a new message on the server' do
|
19
|
+
module ExampleProducers;class MyQueue<Nezu::Runtime::Producer;end;end
|
20
|
+
ExampleProducers::MyQueue.queue_name.should == 'example_producers.my_queue'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'nezu/runtime/recipient'
|
3
|
+
describe Nezu::Runtime::Recipient do
|
4
|
+
describe '::new' do
|
5
|
+
it 'should return the producer class appropriate for the queue' do
|
6
|
+
class TestQueue < Nezu::Runtime::Producer;end
|
7
|
+
Nezu::Runtime::Recipient.new('test_queue').should == TestQueue
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should bail if the producer class doesn`t exist' do
|
11
|
+
lambda { Nezu::Runtime::Recipient.new('non_existant_test_queue') }.should raise_error(Nezu::Runtime::RecipientError)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib')))
|
2
|
+
$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), 'support', 'lib')))
|
3
|
+
|
4
|
+
ENV['NEZU_TEMPLATES'] = "#{Dir.pwd}/spec/support/lib/nezu/generators/application/templates"
|
5
|
+
ENV['NEZU_ENV'] = 'test'
|
6
|
+
|
7
|
+
SPEC_TMP_DIR = "#{Dir.pwd}/spec/support/tmp"
|
8
|
+
|
9
|
+
require 'nezu'
|
10
|
+
require 'amqp'
|
11
|
+
require "bunny"
|
12
|
+
require 'json'
|
13
|
+
require 'nezu/runner'
|
14
|
+
require 'nezu/runtime/worker'
|
15
|
+
require 'nezu/runtime/consumer'
|
16
|
+
require 'nezu/runtime/producer'
|
17
|
+
require 'nezu/generators'
|
18
|
+
require 'debugger'
|
19
|
+
require 'rspec'
|
20
|
+
require 'rspec/autorun'
|
21
|
+
|
22
|
+
# a stupid class that eats everything, for stubbing
|
23
|
+
class AlwaysHappy
|
24
|
+
def self.method_missing(m,*p)
|
25
|
+
self.new
|
26
|
+
end
|
27
|
+
|
28
|
+
def method_missing(m,*p)
|
29
|
+
self.class.new
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
2
|
+
#
|
3
|
+
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
+
# or operating system, you probably want to add a global ignore instead:
|
5
|
+
# git config --global core.excludesfile ~/.gitignore_global
|
6
|
+
|
7
|
+
# Ignore bundler config
|
8
|
+
/.bundle
|
9
|
+
|
10
|
+
# Ignore the default SQLite database.
|
11
|
+
/db/*.sqlite3
|
12
|
+
|
13
|
+
# Ignore all logfiles and tempfiles.
|
14
|
+
/log/*.log
|
15
|
+
/tmp
|
File without changes
|
@@ -0,0 +1,7 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
3
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
4
|
+
|
5
|
+
require File.expand_path('../config/application', __FILE__)
|
6
|
+
|
7
|
+
<%= app_const %>.load_tasks
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
ADDED
@@ -0,0 +1,252 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: nezu
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.13
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Sascha Teske
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-03-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: amqp
|
16
|
+
requirement: !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: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: bunny
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.9.0.pre6
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.9.0.pre6
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: activerecord
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 3.2.11
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.2.11
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: activesupport
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 3.2.11
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 3.2.11
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: configatron
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rake
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: sdoc
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rspec
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: debugger
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ! '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
description: Skel generator and launcher for amqp consumers.
|
159
|
+
email: sascha.teske@gmail.com
|
160
|
+
executables:
|
161
|
+
- nezu
|
162
|
+
extensions: []
|
163
|
+
extra_rdoc_files: []
|
164
|
+
files:
|
165
|
+
- .document
|
166
|
+
- .gitignore
|
167
|
+
- Gemfile
|
168
|
+
- Gemfile.lock
|
169
|
+
- README.md
|
170
|
+
- Rakefile
|
171
|
+
- VERSION
|
172
|
+
- bin/nezu
|
173
|
+
- lib/nezu.rb
|
174
|
+
- lib/nezu/cli.rb
|
175
|
+
- lib/nezu/generators.rb
|
176
|
+
- lib/nezu/generators/application/MANIFEST
|
177
|
+
- lib/nezu/generators/application/USAGE
|
178
|
+
- lib/nezu/generators/application/app_generator.rb
|
179
|
+
- lib/nezu/generators/application/templates/.gitignore
|
180
|
+
- lib/nezu/generators/application/templates/Gemfile
|
181
|
+
- lib/nezu/generators/application/templates/README.md
|
182
|
+
- lib/nezu/generators/application/templates/Rakefile
|
183
|
+
- lib/nezu/generators/application/templates/app/consumers/$app_name.rb.tt
|
184
|
+
- lib/nezu/generators/application/templates/app/consumers/.gitkeep
|
185
|
+
- lib/nezu/generators/application/templates/app/models/.gitkeep
|
186
|
+
- lib/nezu/generators/application/templates/app/producers/.gitkeep
|
187
|
+
- lib/nezu/generators/application/templates/config/amqp.yml.tt
|
188
|
+
- lib/nezu/generators/application/templates/config/boot.rb.tt
|
189
|
+
- lib/nezu/generators/application/templates/config/database.yml.tt
|
190
|
+
- lib/nezu/generators/application/templates/config/initializers/.gitkeep
|
191
|
+
- lib/nezu/generators/application/templates/config/nezu.rb.tt
|
192
|
+
- lib/nezu/generators/application/templates/db/.gitkeep
|
193
|
+
- lib/nezu/generators/application/templates/log/.gitkeep
|
194
|
+
- lib/nezu/generators/application/templates/spec/.gitkeep
|
195
|
+
- lib/nezu/runner.rb
|
196
|
+
- lib/nezu/runtime/consumer.rb
|
197
|
+
- lib/nezu/runtime/producer.rb
|
198
|
+
- lib/nezu/runtime/recipient.rb
|
199
|
+
- lib/nezu/runtime/worker.rb
|
200
|
+
- nezu.gemspec
|
201
|
+
- spec/functional/generators/app_generator_spec.rb
|
202
|
+
- spec/functional/generators_spec.rb
|
203
|
+
- spec/functional/nezu_spec.rb
|
204
|
+
- spec/functional/runner_spec.rb
|
205
|
+
- spec/functional/runtime/consumer_spec.rb
|
206
|
+
- spec/functional/runtime/producer_spec.rb
|
207
|
+
- spec/functional/runtime/recipient_spec.rb
|
208
|
+
- spec/integration/user_script_spec.rb
|
209
|
+
- spec/spec_helper.rb
|
210
|
+
- spec/support/lib/nezu/generators/application/templates/test_file.tt
|
211
|
+
- spec/support/lib/nezu/generators/application/templates/test_file_without_suffix
|
212
|
+
- spec/support/sample_project/.gitignore
|
213
|
+
- spec/support/sample_project/Gemfile
|
214
|
+
- spec/support/sample_project/README.md
|
215
|
+
- spec/support/sample_project/Rakefile
|
216
|
+
- spec/support/sample_project/app/consumers/.gitkeep
|
217
|
+
- spec/support/sample_project/app/consumers/sample_project.rb
|
218
|
+
- spec/support/sample_project/app/models/.gitkeep
|
219
|
+
- spec/support/sample_project/app/producers/.gitkeep
|
220
|
+
- spec/support/sample_project/config/amqp.yml
|
221
|
+
- spec/support/sample_project/config/boot.rb
|
222
|
+
- spec/support/sample_project/config/database.yml
|
223
|
+
- spec/support/sample_project/config/initializers/.gitkeep
|
224
|
+
- spec/support/sample_project/config/nezu.rb
|
225
|
+
- spec/support/sample_project/db/.gitkeep
|
226
|
+
- spec/support/sample_project/spec/.gitkeep
|
227
|
+
- spec/support/tmp/.gitkeep
|
228
|
+
homepage: http://github.com/slaxor/nezu
|
229
|
+
licenses: []
|
230
|
+
post_install_message:
|
231
|
+
rdoc_options: []
|
232
|
+
require_paths:
|
233
|
+
- lib
|
234
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
235
|
+
none: false
|
236
|
+
requirements:
|
237
|
+
- - ! '>='
|
238
|
+
- !ruby/object:Gem::Version
|
239
|
+
version: '0'
|
240
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
|
+
none: false
|
242
|
+
requirements:
|
243
|
+
- - ! '>='
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
version: '0'
|
246
|
+
requirements: []
|
247
|
+
rubyforge_project:
|
248
|
+
rubygems_version: 1.8.23
|
249
|
+
signing_key:
|
250
|
+
specification_version: 3
|
251
|
+
summary: Skel generator and launcher for amqp consumers
|
252
|
+
test_files: []
|