bhauman-twroute 0.1.0 → 0.1.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/Rakefile CHANGED
@@ -3,38 +3,6 @@ require 'rake'
3
3
 
4
4
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
5
5
 
6
-
7
- namespace :jobs do
8
- desc "Clear the delayed_job queue."
9
- task :clear do
10
-
11
- Delayed::Job.delete_all
12
- end
13
-
14
- desc "Start a delayed_job worker."
15
- task :work do
16
- #require 'twroute'
17
- #require 'twroute/requester/delayed'
18
- #require 'twroute/requester/delayed/create_delayed_jobs'
19
- Delayed::Worker.new(:min_priority => ENV['MIN_PRIORITY'], :max_priority => ENV['MAX_PRIORITY']).start
20
- end
21
-
22
- desc 'creates delayed job database: not implemented'
23
- desc :create_database do
24
-
25
- end
26
-
27
- desc "Create delayed_job table"
28
- task :create_table do
29
- CreateDelayedJobs.migrate(:up)
30
- end
31
-
32
- desc "Create delayed_job table"
33
- task :drop_table do
34
- CreateDelayedJobs.migrate(:down)
35
- end
36
- end
37
-
38
6
  begin
39
7
  require 'jeweler'
40
8
  Jeweler::Tasks.new do |gem|
@@ -47,7 +15,7 @@ begin
47
15
  gem.add_dependency('activerecord', '>= 2.1.0')
48
16
  gem.add_dependency('tobi-delayed_job', '>= 1.7.0')
49
17
  gem.add_dependency('brianmario-yajl-ruby', '>= 0.5.12')
50
- gem.add_dependency('deamons', '>= 1.0.10')
18
+ gem.add_dependency('daemons', '>= 1.0.10')
51
19
  end
52
20
 
53
21
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -0,0 +1,30 @@
1
+ require 'twroute'
2
+ require 'twroute/tasks'
3
+
4
+ Twroute::Tasks.new
5
+
6
+ namespace :twroute do
7
+ task :cd_app_root do
8
+ Dir.chdir(File.dirname(__FILE__))
9
+ end
10
+ desc "Start twroute up"
11
+ task :start => :cd_app_root do
12
+ `twroute_runner start`
13
+ `twroute_worker start`
14
+ end
15
+
16
+ desc "Stop twroute"
17
+ task :stop => :cd_app_root do
18
+ `twroute_runner stop`
19
+ `twroute_worker stop`
20
+ end
21
+ end
22
+
23
+ require 'rake/testtask'
24
+ Rake::TestTask.new(:test) do |test|
25
+ test.libs << 'lib' << 'test'
26
+ test.pattern = 'test/**/*_test.rb'
27
+ test.verbose = true
28
+ end
29
+
30
+ task :default => :test
@@ -0,0 +1,16 @@
1
+ submit_to:
2
+ host: 'localhost'
3
+ port: 3000
4
+ # http_auth_user: ''
5
+ # http_auth_password: ''
6
+ twitter:
7
+ user: ''
8
+ password: ''
9
+ stream_api: 'track'
10
+ stream_api_args:
11
+ track: twitter
12
+ database:
13
+ adapter: sqlite3
14
+ database: db/twroute.sqlite3
15
+ pool: 5
16
+ timeout: 5000
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+ require 'matchy'
5
+ require 'stump'
6
+
7
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
8
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
+
10
+ require 'twroute'
11
+
12
+ class Test::Unit::TestCase
13
+ def self.should_route_to(tweet, path)
14
+ should "route to #{path}" do
15
+ dispatcher = ::Twroute::Dispatcher.new({ :host => 'test_host.com'}, *::Twroute::Routes.routes)
16
+ route = dispatcher.find_route({ :text => tweet})
17
+ val = route ? route.path : nil
18
+ val.should == path
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ Twroute::Routes.draw do |map|
2
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
3
+ :action => /\screate\s+account/},
4
+ '/accounts/create' )
5
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
6
+ :action => /\sdestroy\s+account/},
7
+ '/accounts/destroy' )
8
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
9
+ :action => /\spost\s+create/},
10
+ '/posts/create' )
11
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
12
+ :action => /\spost\s+destroy/,
13
+ :post_id => [ /\sid\:(\d+)/, 1]},
14
+ '/post/:post_id/destroy' )
15
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
16
+ :action => /\spost\s+update/,
17
+ :post_id => [ /\sid\:(\d+)/ , 1 ]},
18
+ '/post/:post_id/update' )
19
+ # this will catch all the tweets
20
+ map.regex( {:tweet_text => /.*/ },
21
+ '/tweets/create')
22
+ end
@@ -0,0 +1,10 @@
1
+ require 'test_helper'
2
+ require File.join(File.dirname(__FILE__), '..', 'config', 'twroutes.rb')
3
+
4
+ class TwroutesTest < Test::Unit::TestCase
5
+ should_route_to "@tweetmaster create account", '/accounts/create'
6
+ should_route_to "@tweetmaster destroy account", '/accounts/destroy'
7
+ should_route_to "@tweetmaster post create this is a post that says little", '/posts/create'
8
+ should_route_to "@tweetmaster post destroy id:34", '/post/34/destroy'
9
+ should_route_to "@tweetmaster post update id:34 now the post says this", '/post/34/update'
10
+ end
@@ -0,0 +1,31 @@
1
+ class TwrouteGenerator < RubiGen::Base
2
+ attr_reader :app_name, :module_name
3
+
4
+ def initialize(runtime_args, runtime_options = {})
5
+ super
6
+ usage if args.empty?
7
+ @destination_root = args.shift
8
+ @app_name = File.basename(File.expand_path(@destination_root))
9
+ @module_name = app_name.camelize
10
+ end
11
+
12
+ def manifest
13
+ record do |m|
14
+ m.directory 'config'
15
+ m.directory 'test'
16
+ m.directory 'log'
17
+ m.directory 'db'
18
+ m.file 'Rakefile', 'Rakefile'
19
+ m.file 'config.yml', 'config/config.yml'
20
+ m.file 'twroutes.rb', 'config/twroutes.rb'
21
+ m.file 'twroutes_test.rb', 'test/twroutes_test.rb'
22
+ m.file 'test_helper.rb', 'test/test_helper.rb'
23
+ end
24
+ end
25
+
26
+ protected
27
+ def banner
28
+ "Create a stub for \#{File.basename $0} to get started.\n\nUsage: \#{File.basename $0} /path/to/your/app [options]\"\n"
29
+ end
30
+
31
+ end
data/bin/twroute ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/ruby
2
+ require 'rubygems'
3
+ require 'rubigen'
4
+
5
+ require 'rubigen/scripts/generate'
6
+ RubiGen::Base.use_application_sources!
7
+ RubiGen::Scripts::Generate.new.run(ARGV, :generator => 'twroute')
data/bin/twroute_gen ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/ruby
2
+ require 'rubygems'
3
+ require 'twroute/application/generator'
4
+
5
+ ::Twroute::Application::Generator.new(['create']).command('create')
6
+
@@ -4,7 +4,8 @@ require 'daemons'
4
4
  require 'twroute'
5
5
  require 'twroute/application'
6
6
 
7
- Daemons.run_proc('twrout_proc.rb') do
7
+ Daemons.run_proc('twroute_runner.rb', :dir_mode => :normal, :dir => 'log') do
8
8
  ActiveRecord::Base.logger = Logger.new(File.open(File.join(::Twroute::Application.root_dir, 'log/database.log'), 'a'))
9
9
  Twroute::Application.run
10
10
  end
11
+
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/ruby
2
+ require 'rubygems'
3
+ require 'daemons'
4
+ require 'twroute'
5
+ require 'twroute/application'
6
+
7
+ Daemons.run_proc('twroute_worker.rb', :dir_mode => :normal, :dir => 'log') do
8
+ ActiveRecord::Base.logger = Logger.new(File.open(File.join(::Twroute::Application.root_dir, 'log/delayed.log'), 'a'))
9
+ ::Delayed::Worker.new(:min_priority => ENV['MIN_PRIORITY'],
10
+ :max_priority => ENV['MAX_PRIORITY']).start
11
+ end
12
+
data/example_app/Rakefile CHANGED
@@ -3,3 +3,28 @@ require 'twroute/tasks'
3
3
 
4
4
  Twroute::Tasks.new
5
5
 
6
+ namespace :twroute do
7
+ task :cd_app_root do
8
+ Dir.chdir(File.dirname(__FILE__))
9
+ end
10
+ desc "Start twroute up"
11
+ task :start => :cd_app_root do
12
+ `twroute_runner start`
13
+ `twroute_worker start`
14
+ end
15
+
16
+ desc "Stop twroute"
17
+ task :stop => :cd_app_root do
18
+ `twroute_runner stop`
19
+ `twroute_worker stop`
20
+ end
21
+ end
22
+
23
+ require 'rake/testtask'
24
+ Rake::TestTask.new(:test) do |test|
25
+ test.libs << 'lib' << 'test'
26
+ test.pattern = 'test/**/*_test.rb'
27
+ test.verbose = true
28
+ end
29
+
30
+ task :default => :test
@@ -1,3 +1,19 @@
1
1
  Twroute::Routes.draw do |map|
2
- map.regex( {:tweet_text => /.*/ }, '/tweets/create' )
2
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
3
+ :action => /\screate\s+account/},
4
+ '/accounts/create' )
5
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
6
+ :action => /\sdestroy\s+account/},
7
+ '/accounts/destroy' )
8
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
9
+ :action => /\spost\s+create/},
10
+ '/posts/create' )
11
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
12
+ :action => /\spost\s+destroy/,
13
+ :post_id => [ /\sid\:(\d+)/, 1]},
14
+ '/post/:post_id/destroy' )
15
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
16
+ :action => /\spost\s+update/,
17
+ :post_id => [ /\sid\:(\d+)/ , 1 ]},
18
+ '/post/:post_id/update' )
3
19
  end
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+ require 'matchy'
5
+ require 'stump'
6
+
7
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
8
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
+
10
+ require 'twroute'
11
+
12
+ class Test::Unit::TestCase
13
+ def self.should_route_to(tweet, path)
14
+ should "route to #{path}" do
15
+ dispatcher = ::Twroute::Dispatcher.new({ :host => 'test_host.com'}, *::Twroute::Routes.routes)
16
+ route = dispatcher.find_route({ :text => tweet})
17
+ val = route ? route.path : nil
18
+ val.should == path
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,10 @@
1
+ require 'test_helper'
2
+ require File.join(File.dirname(__FILE__), '..', 'config', 'twroutes.rb')
3
+
4
+ class TwroutesTest < Test::Unit::TestCase
5
+ should_route_to "@tweetmaster create account", '/accounts/create'
6
+ should_route_to "@tweetmaster destroy account", '/accounts/destroy'
7
+ should_route_to "@tweetmaster post create this is a post that says little", '/posts/create'
8
+ should_route_to "@tweetmaster post destroy id:34", '/post/34/destroy'
9
+ should_route_to "@tweetmaster post update id:34 now the post says this", '/post/34/update'
10
+ end
@@ -0,0 +1,16 @@
1
+ require 'rails_generator'
2
+
3
+ module Twroute
4
+ module Application
5
+ class Generator < ::Rails::Generator::Base
6
+ def manifest
7
+ record do |m|
8
+ m.directory 'twroute_app'
9
+ m.directory 'twroute_app/config'
10
+ m.directory 'twroute_app/test'
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -17,6 +17,7 @@ module Twroute
17
17
  end
18
18
 
19
19
  def update(tweet_hash)
20
+ puts tweet_hash[:text]
20
21
  route = find_route(tweet_hash)
21
22
  dispatch_route(route) if route
22
23
  end
@@ -20,8 +20,17 @@ module Twroute
20
20
 
21
21
  def parse_to_hash(tweet_text)
22
22
  regex_hash.inject({ }) do |accum, key_val|
23
- match_data = tweet_text.match(key_val.last)
24
- accum[key_val.first] = (process_data(match_data) ? match_data[0] : nil)
23
+ val = key_val.last
24
+ case val
25
+ when Regexp
26
+ match_data = tweet_text.match(key_val.last)
27
+ when Proc
28
+ match_data = val.call(tweet_text)
29
+ when Array
30
+ res = tweet_text.match(val.first)
31
+ match_data = res ? res[val.last] : res
32
+ end
33
+ accum[key_val.first] = (match_data ? process_data(match_data.to_s) : nil)
25
34
  accum
26
35
  end
27
36
  end
@@ -29,7 +38,7 @@ module Twroute
29
38
  # delayed job can't unmarshal things that have lines that end in :
30
39
  def process_data(data)
31
40
  if(data && data.is_a?(String))
32
- data.gsub(/:$/m, '')
41
+ data.gsub(/:+$/m, '')
33
42
  else
34
43
  data
35
44
  end
@@ -4,6 +4,9 @@ module Twroute
4
4
  @@routes ||= []
5
5
  @@routes
6
6
  end
7
+ def self.clear_routes
8
+ @@routes = []
9
+ end
7
10
  def self.append_route(x)
8
11
  @@routes ||= []
9
12
  @@routes << x
@@ -9,7 +9,7 @@ module Twroute
9
9
  def tweet(tweet_hash)
10
10
  reset
11
11
  @tweet_hash = tweet_hash
12
- @sender_hash = tweet_hash.delete(:user)
12
+ @sender_hash = tweet_hash[:user]
13
13
  parse_tweet(tweet_hash[:text])
14
14
  end
15
15
 
@@ -38,9 +38,9 @@ module Twroute
38
38
  end
39
39
 
40
40
  tweet_h = @tweet_hash.merge({ })
41
- tweet_h.delete(:user)
41
+ # tweet_h.delete(:user)
42
42
  tweet_h.keys.each do |key|
43
- pattern.gsub!(':tweet[' + key.to_s + ']', @tweet_hash[key].to_s)
43
+ pattern.gsub!(':tweet[' + key.to_s + ']', @tweet_hash[key].to_s) if key != :user
44
44
  end
45
45
 
46
46
  pattern
@@ -49,13 +49,13 @@ module Twroute
49
49
  def get_post_args
50
50
  post_hash = { }
51
51
  @parsed_hash.keys.each do |key|
52
- post_hash[key.to_s] = @parsed_hash[key]
52
+ post_hash["parsed[#{key.to_s}]"] = @parsed_hash[key]
53
53
  end
54
54
  @sender_hash.keys.each do |key|
55
55
  post_hash["sender[#{key.to_s}]"] = @sender_hash[key]
56
56
  end
57
57
  @tweet_hash.keys.each do |key|
58
- post_hash["tweet[#{key.to_s}]"] = @tweet_hash[key]
58
+ post_hash["tweet[#{key.to_s}]"] = @tweet_hash[key] if key != :user
59
59
  end
60
60
  post_hash
61
61
  end
@@ -9,8 +9,8 @@ class DispatcherTest < Test::Unit::TestCase
9
9
  @tweet_route_user = TweetRoute.new(Parser::Regex.new({:user => /\@\w+/}), '/my_test_path/:user')
10
10
  @tweet_route_tag = TweetRoute.new(Parser::Regex.new({:tag => /\#\w+/}), '/my_test_path/:tag')
11
11
  @tweet_route_user_and_tag = TweetRoute.new(Parser::Regex.new({:tag => /\#\w+/,
12
- :user => /\@\w+/ }),
13
- '/my_test_path/:tag/:user')
12
+ :user => /\@\w+/ }),
13
+ '/my_test_path/:tag/:user')
14
14
  @dispatcher = Dispatcher.new( {:host => 'test-host.com'},
15
15
  @tweet_route_user_and_tag,
16
16
  @tweet_route_user,
@@ -20,20 +20,59 @@ class DispatcherTest < Test::Unit::TestCase
20
20
  @match_tag_tweet = TweetMaker.make_tweet :text => "#this is cool too here 3about_it"
21
21
  @match_user_and_tag_tweet = TweetMaker.make_tweet :text => "@random #this is cool too here 3about_it"
22
22
  end
23
+
24
+ should "be able to detect multiple routes" do
25
+ Twroute::Routes.draw do |map|
26
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
27
+ :action => /\screate\s+account/},
28
+ '/accounts/create' )
29
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
30
+ :action => /\sdestroy\s+account/},
31
+ '/accounts/destroy' )
32
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
33
+ :action => /\spost\s+create/},
34
+ '/posts/create' )
35
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
36
+ :action => /\spost\s+destroy/,
37
+ :post_id => [ /\sid\:(\d+)/, 1]},
38
+ '/post/:post_id/destroy' )
39
+ map.regex( {:tweet_text => /^@tweetmaster\s.*/,
40
+ :action => /\spost\s+update/,
41
+ :post_id => [ /\sid\:(\d+)/ , 1 ]},
42
+ '/post/:post_id/update' )
43
+ map.regex({ :tweet_text => /.*/},
44
+ '/create/account')
45
+
46
+ end
47
+
48
+ dispatcher = Dispatcher.new( {:host => 'test-host.com'},
49
+ *Twroute::Routes.routes)
50
+ Twroute::Routes.clear_routes
51
+ route = dispatcher.find_route(@match_user_and_tag_tweet)
52
+
53
+ route.get_post_args
54
+ route.get_post_args.should_not == nil
55
+
56
+
57
+ end
23
58
 
24
59
  should "match be able to get the first matched route" do
25
60
  @dispatcher.tweet_routes.length.should == 3
26
61
 
27
62
  @dispatcher.find_route(@match_user_and_tag_tweet).should == @tweet_route_user_and_tag
28
63
  @dispatcher.find_route(@match_user_tweet).should == @tweet_route_user
29
- @dispatcher.find_route(@match_tag_tweet).should == @tweet_route_tag
30
-
64
+ @dispatcher.find_route(@match_tag_tweet).should == @tweet_route_tag
65
+ end
66
+
67
+ should "match be able to dispatch route" do
68
+ route = @dispatcher.find_route(@match_user_and_tag_tweet)
69
+ route.get_post_args.should_not == nil
31
70
  end
32
71
 
33
72
  should "be able to handle one route" do
34
73
  disp = Dispatcher.new( {:host => 'test-host.com'},
35
74
  @tweet_route_user
36
- )
75
+ )
37
76
  disp.find_route(@match_user_tweet).should == @tweet_route_user
38
77
  end
39
78
 
@@ -43,7 +82,7 @@ class DispatcherTest < Test::Unit::TestCase
43
82
  route = stub(:path, :return => '/path')
44
83
  disp.get_uri(route).to_s.should == 'http://test-host.com/path'
45
84
  disp = Dispatcher.new({:host => 'test-host.com',
46
- :http_auth_user => 'jay'},
85
+ :http_auth_user => 'jay'},
47
86
  @tweet_route_user)
48
87
  disp.get_uri(route).to_s.should == 'http://test-host.com/path'
49
88
  disp = Dispatcher.new({:host => 'test-host.com',
@@ -52,7 +91,7 @@ class DispatcherTest < Test::Unit::TestCase
52
91
  @tweet_route_user)
53
92
  disp.get_uri(route).to_s.should == 'http://jay:man@test-host.com/path'
54
93
  disp = Dispatcher.new({:host => 'test-host.com',
55
- :port => '3000'},
94
+ :port => '3000'},
56
95
  @tweet_route_user)
57
96
  disp.get_uri(route).to_s.should == 'http://test-host.com:3000/path'
58
97
  end
@@ -4,9 +4,12 @@ class RegexParserTest < Test::Unit::TestCase
4
4
  context "with regex parser" do
5
5
  setup do
6
6
  @regex_parser = Twroute::Parser::Regex.new(:whole => /\@\w+\s+(\#\w+\s)+for\s+(\d+)\s+(day|week|month|year)s{0,1}\s+.*/,
7
- :user => /\@\w+/,
8
- :tags => /(\#\w+\s)+/,
9
- :time => /for\s+(\d+)\s+(day|week|month|year)s{0,1}/)
7
+ :user => /\@\w+/,
8
+ :tags => /(\#\w+\s)+/,
9
+ :time => /for\s+(\d+)\s+(day|week|month|year)s{0,1}/,
10
+ :time2 => lambda { |tweet| tweet.gsub( /.*for\s+(\d+)\s+(day|week|month|year)s{0,1}.*/, '\1')},
11
+ :time3 => [ /for\s+(\d+)\s+(day|week|month|year)s{0,1}/, 1 ]
12
+ )
10
13
  @tweet_str = "@johnny #this #is #cool for 17 days yeah buddy"
11
14
  end
12
15
 
@@ -17,6 +20,9 @@ class RegexParserTest < Test::Unit::TestCase
17
20
  hash[:user].should == '@johnny'
18
21
  hash[:tags].should == '#this #is #cool '
19
22
  hash[:time].should == 'for 17 days'
23
+ hash[:time2].should == '17'
24
+ hash[:time3].should == '17'
25
+ hash[:time3].should_not == '18'
20
26
  end
21
27
 
22
28
  should "return false if all regexes don't match" do
@@ -13,7 +13,7 @@ class TweetRouteTest < Test::Unit::TestCase
13
13
  end
14
14
 
15
15
  should "be able to fill in a url_pattern" do
16
- @tweet_route.tweet({ :text => @tweet_str, :sender => 'charlie' })
16
+ @tweet_route.tweet(TweetMaker.make_tweet({ :text => @tweet_str, :sender => 'charlie'}))
17
17
  @tweet_route.fill_in_url_pattern.should == '/user/charlie/tags/this-is-too'
18
18
  end
19
19
 
@@ -22,7 +22,9 @@ class TweetRouteTest < Test::Unit::TestCase
22
22
  post_args = @tweet_route.get_post_args
23
23
  post_args['sender[screen_name]'].should == 'RoseD1st'
24
24
  post_args['tweet[text]'].should == 'this is a #test #tweet'
25
- post_args['tags'].should == 'test-tweet'
25
+ post_args['parsed[tags]'].should == 'test-tweet'
26
+
27
+ post_args['tweet[user]'].should == nil
26
28
  end
27
29
 
28
30
  end
data/twroute.gemspec CHANGED
@@ -2,13 +2,14 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{twroute}
5
- s.version = "0.1.0"
5
+ s.version = "0.1.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["bhauman"]
9
- s.date = %q{2009-08-12}
9
+ s.date = %q{2009-08-14}
10
10
  s.description = %q{Twroute listens for Twitter updates and redirects them to HTTP post requests}
11
11
  s.email = %q{bhauman@gmail.com}
12
+ s.executables = ["twroute", "twroute_gen", "twroute_runner", "twroute_worker"]
12
13
  s.extra_rdoc_files = [
13
14
  "README.rdoc"
14
15
  ]
@@ -18,13 +19,25 @@ Gem::Specification.new do |s|
18
19
  "README.rdoc",
19
20
  "Rakefile",
20
21
  "VERSION",
22
+ "app_generators/twroute/templates/Rakefile",
23
+ "app_generators/twroute/templates/config.yml",
24
+ "app_generators/twroute/templates/test_helper.rb",
25
+ "app_generators/twroute/templates/twroutes.rb",
26
+ "app_generators/twroute/templates/twroutes_test.rb",
27
+ "app_generators/twroute/twroute_generator.rb",
28
+ "bin/twroute",
29
+ "bin/twroute_gen",
30
+ "bin/twroute_runner",
31
+ "bin/twroute_worker",
21
32
  "example_app/Rakefile",
22
33
  "example_app/config/config.yml.sample",
23
34
  "example_app/config/twroutes.rb",
24
- "example_app/scripts/twrouter.rb",
35
+ "example_app/test/test_helper.rb",
36
+ "example_app/test/troutes_test.rb",
25
37
  "lib/twroute.rb",
26
38
  "lib/twroute/application.rb",
27
39
  "lib/twroute/application/config.rb",
40
+ "lib/twroute/application/generator.rb",
28
41
  "lib/twroute/application/twrouter.rb",
29
42
  "lib/twroute/dispatcher.rb",
30
43
  "lib/twroute/parser/regex.rb",
@@ -83,14 +96,17 @@ Gem::Specification.new do |s|
83
96
  s.add_runtime_dependency(%q<activerecord>, [">= 2.1.0"])
84
97
  s.add_runtime_dependency(%q<tobi-delayed_job>, [">= 1.7.0"])
85
98
  s.add_runtime_dependency(%q<brianmario-yajl-ruby>, [">= 0.5.12"])
99
+ s.add_runtime_dependency(%q<daemons>, [">= 1.0.10"])
86
100
  else
87
101
  s.add_dependency(%q<activerecord>, [">= 2.1.0"])
88
102
  s.add_dependency(%q<tobi-delayed_job>, [">= 1.7.0"])
89
103
  s.add_dependency(%q<brianmario-yajl-ruby>, [">= 0.5.12"])
104
+ s.add_dependency(%q<daemons>, [">= 1.0.10"])
90
105
  end
91
106
  else
92
107
  s.add_dependency(%q<activerecord>, [">= 2.1.0"])
93
108
  s.add_dependency(%q<tobi-delayed_job>, [">= 1.7.0"])
94
109
  s.add_dependency(%q<brianmario-yajl-ruby>, [">= 0.5.12"])
110
+ s.add_dependency(%q<daemons>, [">= 1.0.10"])
95
111
  end
96
112
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bhauman-twroute
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - bhauman
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-12 00:00:00 -07:00
12
+ date: 2009-08-14 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -42,10 +42,23 @@ dependencies:
42
42
  - !ruby/object:Gem::Version
43
43
  version: 0.5.12
44
44
  version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: daemons
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.0.10
54
+ version:
45
55
  description: Twroute listens for Twitter updates and redirects them to HTTP post requests
46
56
  email: bhauman@gmail.com
47
- executables: []
48
-
57
+ executables:
58
+ - twroute
59
+ - twroute_gen
60
+ - twroute_runner
61
+ - twroute_worker
49
62
  extensions: []
50
63
 
51
64
  extra_rdoc_files:
@@ -56,13 +69,25 @@ files:
56
69
  - README.rdoc
57
70
  - Rakefile
58
71
  - VERSION
72
+ - app_generators/twroute/templates/Rakefile
73
+ - app_generators/twroute/templates/config.yml
74
+ - app_generators/twroute/templates/test_helper.rb
75
+ - app_generators/twroute/templates/twroutes.rb
76
+ - app_generators/twroute/templates/twroutes_test.rb
77
+ - app_generators/twroute/twroute_generator.rb
78
+ - bin/twroute
79
+ - bin/twroute_gen
80
+ - bin/twroute_runner
81
+ - bin/twroute_worker
59
82
  - example_app/Rakefile
60
83
  - example_app/config/config.yml.sample
61
84
  - example_app/config/twroutes.rb
62
- - example_app/scripts/twrouter.rb
85
+ - example_app/test/test_helper.rb
86
+ - example_app/test/troutes_test.rb
63
87
  - lib/twroute.rb
64
88
  - lib/twroute/application.rb
65
89
  - lib/twroute/application/config.rb
90
+ - lib/twroute/application/generator.rb
66
91
  - lib/twroute/application/twrouter.rb
67
92
  - lib/twroute/dispatcher.rb
68
93
  - lib/twroute/parser/regex.rb