adamwiggins-redis-rb 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.
@@ -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