adamwiggins-redis-rb 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ require 'rubygems'
2
+ $TESTING=true
3
+ $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
4
+ require 'redis'
@@ -0,0 +1,126 @@
1
+ # Inspired by rabbitmq.rake the Redbox project at http://github.com/rick/redbox/tree/master
2
+ require 'fileutils'
3
+
4
+ class RedisRunner
5
+
6
+ def self.redisdir
7
+ "/tmp/redis/"
8
+ end
9
+
10
+ def self.redisconfdir
11
+ '/etc/redis.conf'
12
+ end
13
+
14
+ def self.dtach_socket
15
+ '/tmp/redis.dtach'
16
+ end
17
+
18
+ # Just check for existance of dtach socket
19
+ def self.running?
20
+ File.exists? dtach_socket
21
+ end
22
+
23
+ def self.start
24
+ puts 'Detach with Ctrl+\ Re-attach with rake redis:attach'
25
+ sleep 3
26
+ exec "dtach -A #{dtach_socket} redis-server #{redisconfdir}"
27
+ end
28
+
29
+ def self.attach
30
+ exec "dtach -a #{dtach_socket}"
31
+ end
32
+
33
+ def self.stop
34
+ sh 'echo "SHUTDOWN" | nc localhost 6379'
35
+ end
36
+
37
+ end
38
+
39
+ namespace :redis do
40
+
41
+ desc 'About redis'
42
+ task :about do
43
+ puts "\nSee http://code.google.com/p/redis/ for information about redis.\n\n"
44
+ end
45
+
46
+ desc 'Start redis'
47
+ task :start do
48
+ RedisRunner.start
49
+ end
50
+
51
+ desc 'Stop redis'
52
+ task :stop do
53
+ RedisRunner.stop
54
+ end
55
+
56
+ desc 'Restart redis'
57
+ task :restart do
58
+ RedisRunner.stop
59
+ RedisRunner.start
60
+ end
61
+
62
+ desc 'Attach to redis dtach socket'
63
+ task :attach do
64
+ RedisRunner.attach
65
+ end
66
+
67
+ desc 'Install the lastest verison of Redis from Github (requires git, duh)'
68
+ task :install => [:about, :download, :make] do
69
+ %w(redis-benchmark redis-cli redis-server).each do |bin|
70
+ sh "sudo cp /tmp/redis/#{bin} /usr/bin/"
71
+ end
72
+
73
+ puts "Installed redis-benchmark, redis-cli and redis-server to /usr/bin/"
74
+
75
+ unless File.exists?('/etc/redis.conf')
76
+ sh 'sudo cp /tmp/redis/redis.conf /etc/'
77
+ puts "Installed redis.conf to /etc/ \n You should look at this file!"
78
+ end
79
+ end
80
+
81
+ task :make do
82
+ sh "cd #{RedisRunner.redisdir} && make clean"
83
+ sh "cd #{RedisRunner.redisdir} && make"
84
+ end
85
+
86
+ desc "Download package"
87
+ task :download do
88
+ sh 'rm -rf /tmp/redis/' if File.exists?("#{RedisRunner.redisdir}/.svn")
89
+ sh 'git clone git://github.com/antirez/redis.git /tmp/redis' unless File.exists?(RedisRunner.redisdir)
90
+ sh "cd #{RedisRunner.redisdir} && git pull" if File.exists?("#{RedisRunner.redisdir}/.git")
91
+ end
92
+
93
+ end
94
+
95
+ namespace :dtach do
96
+
97
+ desc 'About dtach'
98
+ task :about do
99
+ puts "\nSee http://dtach.sourceforge.net/ for information about dtach.\n\n"
100
+ end
101
+
102
+ desc 'Install dtach 0.8 from source'
103
+ task :install => [:about] do
104
+
105
+ Dir.chdir('/tmp/')
106
+ unless File.exists?('/tmp/dtach-0.8.tar.gz')
107
+ require 'net/http'
108
+
109
+ Net::HTTP.start('superb-west.dl.sourceforge.net') do |http|
110
+ resp = http.get('/sourceforge/dtach/dtach-0.8.tar.gz')
111
+ open('/tmp/dtach-0.8.tar.gz', 'wb') do |file| file.write(resp.body) end
112
+ end
113
+ end
114
+
115
+ unless File.directory?('/tmp/dtach-0.8')
116
+ system('tar xzf dtach-0.8.tar.gz')
117
+ end
118
+
119
+ Dir.chdir('/tmp/dtach-0.8/')
120
+ sh 'cd /tmp/dtach-0.8/ && ./configure && make'
121
+ sh 'sudo cp /tmp/dtach-0.8/dtach /usr/bin/'
122
+
123
+ puts 'Dtach successfully installed to /usr/bin.'
124
+ end
125
+ end
126
+
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: adamwiggins-redis-rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Ezra Zygmuntowicz
8
+ - Taylor Weibley
9
+ - Matthew Clark
10
+ - Brian McKinney
11
+ - Salvatore Sanfilippo
12
+ - Luca Guidi
13
+ autorequire: redis
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2009-07-04 00:00:00 -07:00
18
+ default_executable: distredis
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rspec
22
+ type: :runtime
23
+ version_requirement:
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: "0"
29
+ version:
30
+ description: Ruby client library for redis key value storage server
31
+ email: ez@engineyard.com
32
+ executables:
33
+ - distredis
34
+ extensions: []
35
+
36
+ extra_rdoc_files:
37
+ - LICENSE
38
+ files:
39
+ - LICENSE
40
+ - README.markdown
41
+ - Rakefile
42
+ - lib/dist_redis.rb
43
+ - lib/hash_ring.rb
44
+ - lib/pipeline.rb
45
+ - lib/redis.rb
46
+ - lib/redis/raketasks.rb
47
+ - spec/redis_spec.rb
48
+ - spec/spec_helper.rb
49
+ - tasks/redis.tasks.rb
50
+ has_rdoc: true
51
+ homepage: http://github.com/ezmobius/redis-rb
52
+ post_install_message:
53
+ rdoc_options:
54
+ - --charset=UTF-8
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: "0"
62
+ version:
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ version:
69
+ requirements: []
70
+
71
+ rubyforge_project:
72
+ rubygems_version: 1.2.0
73
+ signing_key:
74
+ specification_version: 2
75
+ summary: Ruby client library for redis key value storage server
76
+ test_files:
77
+ - spec/redis_spec.rb
78
+ - spec/spec_helper.rb
79
+ - examples/basic.rb
80
+ - examples/incr-decr.rb
81
+ - examples/list.rb
82
+ - examples/sets.rb
83
+ - examples/test_server.rb