timberline 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,65 @@
1
+ require 'test_helper'
2
+
3
+ describe Timberline do
4
+ before do
5
+ # Reset the singleton
6
+ Timberline.redis = nil
7
+ Timberline.instance_variable_set("@config", nil)
8
+ end
9
+
10
+ it "saves a passed-in redis namespace" do
11
+ redis = Redis.new
12
+ redisns = Redis::Namespace.new("timberline", redis)
13
+ Timberline.redis = redisns
14
+ assert_equal redisns, Timberline.redis
15
+ end
16
+
17
+ it "Converts a standard redis server into a namespace" do
18
+ redis = Redis.new
19
+ Timberline.redis = redis
20
+ assert_equal Redis::Namespace, Timberline.redis.class
21
+ assert_equal redis, Timberline.redis.instance_variable_get("@redis")
22
+ end
23
+
24
+ it "generates a redis namespace on request if one isn't present" do
25
+ assert_equal Redis::Namespace, Timberline.redis.class
26
+ end
27
+
28
+ it "uses a default namespace of 'timberline'" do
29
+ assert_equal "timberline", Timberline.redis.namespace
30
+ end
31
+
32
+ it "can be configured" do
33
+ Timberline.config do |c|
34
+ c.database = 3
35
+ end
36
+
37
+ assert_equal 3, Timberline.instance_variable_get("@config").database
38
+ end
39
+
40
+ it "uses a pre-defined namespace name if configured" do
41
+ Timberline.config do |c|
42
+ c.namespace = "skyline"
43
+ end
44
+
45
+ assert_equal "skyline", Timberline.redis.namespace
46
+ end
47
+
48
+ it "properly configures Redis" do
49
+ @logger = Logger.new STDERR
50
+ Timberline.config do |c|
51
+ c.host = "localhost"
52
+ c.timeout = 10
53
+ c.database = 3
54
+ c.logger = @logger
55
+ end
56
+
57
+ redis = Timberline.redis
58
+
59
+ assert_equal "localhost", redis.client.host
60
+ assert_equal 10, redis.client.timeout
61
+ assert_equal 3, redis.client.db
62
+ assert_equal @logger, redis.client.logger
63
+
64
+ end
65
+ end
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "timberline/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "timberline"
7
+ s.version = Timberline::VERSION
8
+ s.authors = ["Tommy Morgan"]
9
+ s.email = ["tommy.morgan@gmail.com"]
10
+ s.homepage = "http://github.com/duwanis/timberline"
11
+ s.summary = %q{Timberline is a simple and extensible queuing system built in Ruby and backed by Redis.}
12
+ s.description = %q{Timberline is a simple and extensible queuing system built in Ruby and backed by Redis. It makes as few assumptions as possible about how you want to interact with your queues while also allowing for some functionality that should be universally useful, like allowing for automatic retries of jobs and queue statistics.}
13
+
14
+ s.rubyforge_project = "timberline"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+ # s.add_runtime_dependency "rest-client"
24
+ s.add_runtime_dependency "redis"
25
+ s.add_runtime_dependency "redis-namespace"
26
+ s.add_runtime_dependency "trollop"
27
+ s.add_runtime_dependency "daemons"
28
+ end
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: timberline
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tommy Morgan
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-02-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: redis
16
+ requirement: &70136237495580 !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: *70136237495580
25
+ - !ruby/object:Gem::Dependency
26
+ name: redis-namespace
27
+ requirement: &70136237494860 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70136237494860
36
+ - !ruby/object:Gem::Dependency
37
+ name: trollop
38
+ requirement: &70136237493980 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70136237493980
47
+ - !ruby/object:Gem::Dependency
48
+ name: daemons
49
+ requirement: &70136237492680 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70136237492680
58
+ description: Timberline is a simple and extensible queuing system built in Ruby and
59
+ backed by Redis. It makes as few assumptions as possible about how you want to interact
60
+ with your queues while also allowing for some functionality that should be universally
61
+ useful, like allowing for automatic retries of jobs and queue statistics.
62
+ email:
63
+ - tommy.morgan@gmail.com
64
+ executables:
65
+ - timberline
66
+ extensions: []
67
+ extra_rdoc_files: []
68
+ files:
69
+ - .gitignore
70
+ - Gemfile
71
+ - README.markdown
72
+ - Rakefile
73
+ - bin/timberline
74
+ - lib/timberline.rb
75
+ - lib/timberline/config.rb
76
+ - lib/timberline/envelope.rb
77
+ - lib/timberline/queue.rb
78
+ - lib/timberline/queue_manager.rb
79
+ - lib/timberline/version.rb
80
+ - test/fake_rails/config/timberline.yaml
81
+ - test/partial_minispec.rb
82
+ - test/test_config.yaml
83
+ - test/test_helper.rb
84
+ - test/unit/test_config.rb
85
+ - test/unit/test_envelope.rb
86
+ - test/unit/test_queue.rb
87
+ - test/unit/test_queue_manager.rb
88
+ - test/unit/test_timberline.rb
89
+ - timberline.gemspec
90
+ homepage: http://github.com/duwanis/timberline
91
+ licenses: []
92
+ post_install_message:
93
+ rdoc_options: []
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ! '>='
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ requirements: []
109
+ rubyforge_project: timberline
110
+ rubygems_version: 1.8.15
111
+ signing_key:
112
+ specification_version: 3
113
+ summary: Timberline is a simple and extensible queuing system built in Ruby and backed
114
+ by Redis.
115
+ test_files:
116
+ - test/fake_rails/config/timberline.yaml
117
+ - test/partial_minispec.rb
118
+ - test/test_config.yaml
119
+ - test/test_helper.rb
120
+ - test/unit/test_config.rb
121
+ - test/unit/test_envelope.rb
122
+ - test/unit/test_queue.rb
123
+ - test/unit/test_queue_manager.rb
124
+ - test/unit/test_timberline.rb