Skip to content

Commit

Permalink
reorganize gemspec to make future dev simpler
Browse files Browse the repository at this point in the history
  • Loading branch information
yaauie committed Apr 20, 2012
1 parent a34665e commit 3d6906b
Showing 1 changed file with 33 additions and 31 deletions.
64 changes: 33 additions & 31 deletions ruby/redisrpc.gemspec
Original file line number Diff line number Diff line change
@@ -1,39 +1,41 @@
# -*- encoding: utf-8 -*-

require File.expand_path('../lib/redisrpc/version', __FILE__)

DESCRIPTION = <<-EOS
RedisRPC is the easiest to use RPC library in the world. (No small claim!) It
has implementations in Ruby, PHP, and Python.
Gem::Specification.new do |s|
s.name = 'redisrpc'
s.version = RedisRPC::VERSION
s.license = 'GPLv3'
s.authors = ['Nathan Farrington']
s.email = ['[email protected]']

Redis is a powerful in-memory data structure server that is useful for building
fast distributed systems. Redis implements message queue functionality with its
use of list data structures and the `LPOP`, `BLPOP`, and `RPUSH` commands.
RedisRPC implements a lightweight RPC mechanism using Redis message queues to
temporarily hold RPC request and response messages. These messages are encoded
as JSON strings for portability.
s.homepage = 'http://github.com/nfarring/redisrpc'
s.summary = 'Lightweight RPC for Redis'
s.description = <<-DESCRIPTION
RedisRPC is the easiest to use RPC library in the world. (No small claim!) It
has implementations in Ruby, PHP, and Python.
Many other RPC mechanisms are either programming language specific (e.g.
Java RMI) or require boiler-plate code for explicit typing (e.g. Thrift).
RedisRPC was designed to be extremely easy to use by eliminating boiler-plate
code while also being programming language neutral. High performance was not
an initial goal of RedisRPC and other RPC libraries are likely to have better
performance. Instead, RedisRPC has better programmer performance; it lets you
get something working immediately.
EOS
Redis is a powerful in-memory data structure server that is useful for building
fast distributed systems. Redis implements message queue functionality with its
use of list data structures and the `LPOP`, `BLPOP`, and `RPUSH` commands.
RedisRPC implements a lightweight RPC mechanism using Redis message queues to
temporarily hold RPC request and response messages. These messages are encoded
as JSON strings for portability.
Gem::Specification.new do |s|
s.add_runtime_dependency 'redis', '< 3.0.0'
s.add_runtime_dependency 'multi_json', '~>1.3'
s.author = 'Nathan Farrington'
s.date = Time.now.strftime('%Y-%m-%d')
s.description = DESCRIPTION
s.email = '[email protected]'
Many other RPC mechanisms are either programming language specific (e.g.
Java RMI) or require boiler-plate code for explicit typing (e.g. Thrift).
RedisRPC was designed to be extremely easy to use by eliminating boiler-plate
code while also being programming language neutral. High performance was not
an initial goal of RedisRPC and other RPC libraries are likely to have better
performance. Instead, RedisRPC has better programmer performance; it lets you
get something working immediately.
DESCRIPTION
s.has_rdoc = false
s.files = ['lib/redisrpc.rb']
s.homepage = 'http://github.com/nfarring/redisrpc'
s.license = 'GPLv3'
s.name = 'redisrpc'
s.summary = 'Lightweight RPC for Redis'
s.version = RedisRPC::VERSION

s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
s.require_paths = ["lib"]

s.add_runtime_dependency 'redis'
s.add_runtime_dependency 'multi_json', '~>1.3'
end

0 comments on commit 3d6906b

Please sign in to comment.