communicator 0.1.11 → 0.2.0

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/.gitignore CHANGED
@@ -1,6 +1,8 @@
1
1
  ## MAC OS
2
2
  .DS_Store
3
3
  .bundle
4
+ Gemfile.lock
5
+ .rvmrc
4
6
 
5
7
  ## TEXTMATE
6
8
  *.tmproj
@@ -21,6 +23,7 @@ tmtags
21
23
  coverage
22
24
  rdoc
23
25
  pkg
26
+ tmp
24
27
 
25
28
  ## PROJECT::SPECIFIC
26
29
  db/*.sqlite*
@@ -5,10 +5,9 @@ Rails apps.
5
5
 
6
6
  == Setup
7
7
 
8
- Install in Rails apps with:
8
+ Install in Rails apps by adding this to your Gemfile:
9
9
 
10
10
  gem 'communicator'
11
- $ bundle install
12
11
 
13
12
  Import rake tasks in your Rails.root/Rakefile:
14
13
 
@@ -98,6 +97,11 @@ When an update is received from a remote side, the message will be stored in
98
97
  `inbound_messages` and the received changes will be applied to the local record,
99
98
  either updating existing or creating new records.
100
99
 
100
+ == Compatibility
101
+
102
+ Communicator is currently only proven to work on Rails 2 apps using either
103
+ REE, 1.8.7, 1.9.1 or 1.9.2.
104
+
101
105
  == Note on Patches/Pull Requests
102
106
 
103
107
  * Fork the project.
data/Rakefile CHANGED
@@ -1,38 +1,25 @@
1
- require 'rubygems'
2
- require 'rake'
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
3
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "communicator"
8
- gem.summary = %Q{Data push/pull between apps with local inbound/outbound queue and easy publish/process interface}
9
- gem.description = %Q{Data push/pull between apps with local inbound/outbound queue and easy publish/process interface}
10
- gem.email = "christoph at olszowka de"
11
- gem.homepage = "http://github.com/colszowka/communicator"
12
- gem.authors = ["Christoph Olszowka"]
13
- gem.add_dependency 'sinatra', "~> 1.1.0"
14
- gem.add_dependency 'activerecord', "< 3.0.0"
15
- gem.add_dependency 'httparty', '>= 0.6.1'
16
- gem.add_dependency 'json', '>= 1.4.0'
17
- gem.add_development_dependency "shoulda", "2.10.3"
18
- gem.add_development_dependency 'factory_girl', ">= 1.2.3"
19
- gem.add_development_dependency 'rack-test', ">= 0.5.6"
20
- gem.add_development_dependency 'bundler', ">= 1.0.0"
21
- gem.add_development_dependency 'sqlite3-ruby', ">= 1.3.0"
22
- gem.add_development_dependency 'jeweler', '~> 1.4.0'
23
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
24
- end
25
- Jeweler::GemcutterTasks.new
26
- rescue LoadError
27
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
4
+ require 'rake/testtask'
5
+ Rake::TestTask.new(:test) do |test|
6
+ test.libs << 'lib' << 'test'
7
+ test.pattern = 'test/**/test_*.rb'
8
+ test.verbose = true
28
9
  end
29
10
 
30
-
11
+ require 'rake/rdoctask'
12
+ Rake::RDocTask.new do |rdoc|
13
+ rdoc.rdoc_dir = 'rdoc'
14
+ rdoc.rdoc_files.include('README*')
15
+ rdoc.rdoc_files.include('lib/**/*.rb')
16
+ end
31
17
 
32
18
  namespace :db do
33
19
  desc "Drop, create and migrate the test databases"
34
20
  task :migrate do
35
21
  require 'active_record'
22
+ require 'logger'
36
23
  # Drop existing db
37
24
  system "rm db/*.sqlite3"
38
25
  dev_null = File.new('/dev/null', 'w')
@@ -51,53 +38,38 @@ end
51
38
  namespace :test_server do
52
39
  desc "Starts the test server"
53
40
  task :start do
54
- Thread.new do
55
- # Capture sinatra output (to hide it away...)
56
- require "open3"
57
- rackup = "bundle exec rackup test/config.ru -p 20359 --pid=#{File.join(File.dirname(__FILE__), 'test', 'rack.pid')}"
58
- Open3.popen3(rackup)
59
- #`#{rackup}` # Uncomment to see actual server output
60
-
41
+ # For background on what is going on here, please have a look at:
42
+ # http://stackoverflow.com/questions/1993071/how-to-controller-start-kill-a-background-process-server-app-in-ruby
43
+ # http://stackoverflow.com/questions/224512/redirect-the-puts-command-output-to-a-log-file
44
+
45
+ # Clean up tmp dir and make sure test_server.log file exists
46
+ Dir["tmp/*"].each {|f| system("rm #{f}")}
47
+ system("touch tmp/test_server.log")
48
+
49
+ # Dynamically choose a port to use so tests can run concurrently!
50
+ server_port = 20000+rand(5000)
51
+ # Write the port into a tempfile so tests can figure out where to run against!
52
+ File.open('tmp/server_port', "w+") do |f|
53
+ f.print server_port
61
54
  end
62
- sleep 2.0
63
-
64
- Kernel.at_exit do
65
- Rake::Task["test_server:stop"].invoke
55
+ puts "Waiting for test server to start on localhost:#{server_port}"
56
+
57
+ pid = fork do
58
+ exec "bundle exec thin --debug --log tmp/test_server.log -R test/config.ru -p #{server_port} start"
66
59
  end
67
- end
68
60
 
69
- desc "Stops the test server"
70
- task :stop do
71
- begin
72
- pid = File.read(File.join(File.dirname(__FILE__), 'test', 'rack.pid')).strip.chomp
73
- `kill -s KILL #{pid}`
74
- puts "Killed test server with PID #{pid}"
75
- rescue => err
76
- puts "Nothing to stop..."
61
+ sleep 10
62
+
63
+ Kernel.at_exit do
64
+ system("rm tmp/*")
65
+ Process.kill "KILL", pid
66
+ Process.wait pid
77
67
  end
78
68
  end
79
- end
80
69
 
81
- require 'rake/testtask'
82
- Rake::TestTask.new(:test) do |test|
83
- test.libs << 'lib' << 'test'
84
- test.pattern = 'test/**/test_*.rb'
85
- test.verbose = true
86
70
  end
87
71
 
88
- task :test => :check_dependencies
89
72
  # Make sure database and test server are in place when tests start
90
73
  task :test => :"db:migrate"
91
74
  task :test => :"test_server:start"
92
-
93
75
  task :default => :test
94
-
95
- require 'rake/rdoctask'
96
- Rake::RDocTask.new do |rdoc|
97
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
98
-
99
- rdoc.rdoc_dir = 'rdoc'
100
- rdoc.title = "communicator #{version}"
101
- rdoc.rdoc_files.include('README*')
102
- rdoc.rdoc_files.include('lib/**/*.rb')
103
- end
@@ -1,115 +1,32 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "communicator/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{communicator}
8
- s.version = "0.1.11"
6
+ s.name = "communicator"
7
+ s.version = Communicator::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Christoph Olszowka"]
10
+ s.email = ["christoph at olszowka de"]
11
+ s.homepage = "http://github.com/capita/communicator"
12
+ s.summary = %Q{Data push/pull between apps with local inbound/outbound queue and easy publish/process interface}
13
+ s.description = %Q{Data push/pull between apps with local inbound/outbound queue and easy publish/process interface}
9
14
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Christoph Olszowka"]
12
- s.date = %q{2010-11-19}
13
- s.description = %q{Data push/pull between apps with local inbound/outbound queue and easy publish/process interface}
14
- s.email = %q{christoph at olszowka de}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- ".rvmrc",
23
- "Gemfile",
24
- "Gemfile.lock",
25
- "LICENSE",
26
- "README.rdoc",
27
- "Rakefile",
28
- "VERSION",
29
- "communicator.gemspec",
30
- "db/migrate/20101101075419_create_inbound_messages.rb",
31
- "db/migrate/20101101075719_create_outbound_messages.rb",
32
- "lib/communicator.rb",
33
- "lib/communicator/active_record_integration.rb",
34
- "lib/communicator/client.rb",
35
- "lib/communicator/inbound_message.rb",
36
- "lib/communicator/outbound_message.rb",
37
- "lib/communicator/server.rb",
38
- "lib/communicator/tasks.rb",
39
- "test/config.ru",
40
- "test/factories.rb",
41
- "test/helper.rb",
42
- "test/lib/comment.rb",
43
- "test/lib/post.rb",
44
- "test/lib/test_server_database/comment.rb",
45
- "test/lib/test_server_database/inbound_message.rb",
46
- "test/lib/test_server_database/outbound_message.rb",
47
- "test/lib/test_server_database/post.rb",
48
- "test/migrate/20101101093519_create_posts.rb",
49
- "test/migrate/20101103120519_create_comments.rb",
50
- "test/test_client.rb",
51
- "test/test_message_models.rb",
52
- "test/test_server.rb"
53
- ]
54
- s.homepage = %q{http://github.com/colszowka/communicator}
55
- s.rdoc_options = ["--charset=UTF-8"]
56
- s.require_paths = ["lib"]
57
- s.rubygems_version = %q{1.3.7}
58
- s.summary = %q{Data push/pull between apps with local inbound/outbound queue and easy publish/process interface}
59
- s.test_files = [
60
- "test/factories.rb",
61
- "test/helper.rb",
62
- "test/lib/comment.rb",
63
- "test/lib/post.rb",
64
- "test/lib/test_server_database/comment.rb",
65
- "test/lib/test_server_database/inbound_message.rb",
66
- "test/lib/test_server_database/outbound_message.rb",
67
- "test/lib/test_server_database/post.rb",
68
- "test/migrate/20101101093519_create_posts.rb",
69
- "test/migrate/20101103120519_create_comments.rb",
70
- "test/test_client.rb",
71
- "test/test_message_models.rb",
72
- "test/test_server.rb"
73
- ]
74
-
75
- if s.respond_to? :specification_version then
76
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
77
- s.specification_version = 3
15
+ s.rubyforge_project = "communicator"
16
+
17
+ s.add_dependency 'sinatra', "~> 1.1.0"
18
+ s.add_dependency 'activerecord', "< 3.0.0"
19
+ s.add_dependency 'httparty', '>= 0.6.1'
20
+ s.add_dependency 'json', '>= 1.4.0'
21
+ s.add_development_dependency "shoulda", "2.10.3"
22
+ s.add_development_dependency 'factory_girl', ">= 1.2.3"
23
+ s.add_development_dependency 'rack-test', ">= 0.5.6"
24
+ s.add_development_dependency 'bundler', ">= 1.0.0"
25
+ s.add_development_dependency 'sqlite3-ruby', ">= 1.3.0"
26
+ s.add_development_dependency 'thin'
78
27
 
79
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
80
- s.add_runtime_dependency(%q<sinatra>, ["~> 1.1.0"])
81
- s.add_runtime_dependency(%q<activerecord>, ["< 3.0.0"])
82
- s.add_runtime_dependency(%q<httparty>, [">= 0.6.1"])
83
- s.add_runtime_dependency(%q<json>, [">= 1.4.0"])
84
- s.add_development_dependency(%q<shoulda>, ["= 2.10.3"])
85
- s.add_development_dependency(%q<factory_girl>, [">= 1.2.3"])
86
- s.add_development_dependency(%q<rack-test>, [">= 0.5.6"])
87
- s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
88
- s.add_development_dependency(%q<sqlite3-ruby>, [">= 1.3.0"])
89
- s.add_development_dependency(%q<jeweler>, ["~> 1.4.0"])
90
- else
91
- s.add_dependency(%q<sinatra>, ["~> 1.1.0"])
92
- s.add_dependency(%q<activerecord>, ["< 3.0.0"])
93
- s.add_dependency(%q<httparty>, [">= 0.6.1"])
94
- s.add_dependency(%q<json>, [">= 1.4.0"])
95
- s.add_dependency(%q<shoulda>, ["= 2.10.3"])
96
- s.add_dependency(%q<factory_girl>, [">= 1.2.3"])
97
- s.add_dependency(%q<rack-test>, [">= 0.5.6"])
98
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
99
- s.add_dependency(%q<sqlite3-ruby>, [">= 1.3.0"])
100
- s.add_dependency(%q<jeweler>, ["~> 1.4.0"])
101
- end
102
- else
103
- s.add_dependency(%q<sinatra>, ["~> 1.1.0"])
104
- s.add_dependency(%q<activerecord>, ["< 3.0.0"])
105
- s.add_dependency(%q<httparty>, [">= 0.6.1"])
106
- s.add_dependency(%q<json>, [">= 1.4.0"])
107
- s.add_dependency(%q<shoulda>, ["= 2.10.3"])
108
- s.add_dependency(%q<factory_girl>, [">= 1.2.3"])
109
- s.add_dependency(%q<rack-test>, [">= 0.5.6"])
110
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
111
- s.add_dependency(%q<sqlite3-ruby>, [">= 1.3.0"])
112
- s.add_dependency(%q<jeweler>, ["~> 1.4.0"])
113
- end
28
+ s.files = `git ls-files`.split("\n")
29
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
30
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
31
+ s.require_paths = ["lib"]
114
32
  end
115
-
@@ -66,6 +66,7 @@ require 'communicator/client'
66
66
  require 'communicator/active_record_integration'
67
67
  require 'communicator/outbound_message'
68
68
  require 'communicator/inbound_message'
69
+ require 'communicator/version'
69
70
 
70
71
  # Autoload config when present for rails
71
72
  if defined?(Rails)
@@ -5,6 +5,7 @@ class Communicator::Client
5
5
  class InvalidStartingId < StandardError; end;
6
6
 
7
7
  include HTTParty
8
+ default_timeout 10
8
9
 
9
10
  class << self
10
11
  attr_writer :username, :password
@@ -28,6 +29,10 @@ class Communicator::Client
28
29
  verify_response request.response
29
30
  Communicator::InboundMessage.create_from_json_collection!(JSON.parse(request.parsed_response))
30
31
  request
32
+
33
+ # Customize error message on HTTP Timeout
34
+ rescue Timeout::Error => err
35
+ raise Timeout::Error, "Failed to PULL from #{base_uri} - Request timed out!"
31
36
  end
32
37
 
33
38
  def push(from_id=nil)
@@ -45,6 +50,10 @@ class Communicator::Client
45
50
  else
46
51
  raise "Could not agree upon from_id with server!"
47
52
  end
53
+
54
+ # Customize error message on HTTP Timeout
55
+ rescue Timeout::Error => err
56
+ raise Timeout::Error, "Failed to PUSH to #{base_uri} - Request timed out!"
48
57
  end
49
58
 
50
59
  def verify_response(response)
@@ -60,4 +69,4 @@ class Communicator::Client
60
69
  end
61
70
  end
62
71
 
63
- end
72
+ end
@@ -0,0 +1,3 @@
1
+ module Communicator
2
+ VERSION = '0.2.0'
3
+ end
@@ -1,8 +1,7 @@
1
1
  require 'bundler'
2
2
  Bundler.setup(:default, :development)
3
3
 
4
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
- $LOAD_PATH.unshift(File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift(::File.dirname(__FILE__))
6
5
 
7
6
  require 'active_record'
8
7
  require 'communicator'
@@ -14,4 +13,4 @@ require 'lib/comment'
14
13
  Communicator::Server.username = 'testuser'
15
14
  Communicator::Server.password = 'pwd'
16
15
 
17
- run Communicator::Server
16
+ run Communicator::Server
@@ -48,4 +48,13 @@ class Test::Unit::TestCase
48
48
  TestServerDatabase::Post.delete_all
49
49
  TestServerDatabase::Comment.delete_all
50
50
  end
51
- end
51
+
52
+ # Retrieves the test server port that is generated randomly (see Rakefile)
53
+ # from the tempfile...
54
+ def server_port
55
+ File.read(File.join(File.dirname(__FILE__), '../tmp/server_port')).strip.chomp
56
+ rescue => err
57
+ err.message = "Failed to retrieve test server port. Are you sure test server is running? #{err.message}"
58
+ raise err
59
+ end
60
+ end
@@ -2,8 +2,8 @@ require 'helper'
2
2
 
3
3
  #
4
4
  # Unit tests for client and it's interaction with the real server running in background
5
- # on port 20359. For introspection purposes, a simple second database connection
6
- # has been established as TestServerDatabase
5
+ # For introspection purposes, a simple second database connection has been established
6
+ # as TestServerDatabase
7
7
  #
8
8
  class TestClient < Test::Unit::TestCase
9
9
  context "Without auth credentials configured" do
@@ -28,7 +28,7 @@ class TestClient < Test::Unit::TestCase
28
28
  setup do
29
29
  Communicator::Client.username = 'testuser'
30
30
  Communicator::Client.password = 'pwd'
31
- Communicator::Client.base_uri 'localhost:20359'
31
+ Communicator::Client.base_uri "localhost:#{server_port}"
32
32
  end
33
33
 
34
34
  context "PUSH" do
@@ -132,7 +132,7 @@ class TestClient < Test::Unit::TestCase
132
132
  assert_equal 'some comment', TestServerDatabase::Comment.first.body
133
133
  end
134
134
 
135
- should "have skipped permissions attribute when processing at remote" do
135
+ should "have skipped title attribute when processing at remote" do
136
136
  assert_nil TestServerDatabase::Comment.first.title
137
137
  end
138
138
  end
@@ -159,4 +159,4 @@ class TestClient < Test::Unit::TestCase
159
159
  end
160
160
  end
161
161
  end
162
- end
162
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: communicator
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
9
- - 11
10
- version: 0.1.11
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Christoph Olszowka
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-19 00:00:00 +01:00
18
+ date: 2011-02-09 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -163,40 +163,35 @@ dependencies:
163
163
  type: :development
164
164
  version_requirements: *id009
165
165
  - !ruby/object:Gem::Dependency
166
- name: jeweler
166
+ name: thin
167
167
  prerelease: false
168
168
  requirement: &id010 !ruby/object:Gem::Requirement
169
169
  none: false
170
170
  requirements:
171
- - - ~>
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
- hash: 7
173
+ hash: 3
174
174
  segments:
175
- - 1
176
- - 4
177
175
  - 0
178
- version: 1.4.0
176
+ version: "0"
179
177
  type: :development
180
178
  version_requirements: *id010
181
179
  description: Data push/pull between apps with local inbound/outbound queue and easy publish/process interface
182
- email: christoph at olszowka de
180
+ email:
181
+ - christoph at olszowka de
183
182
  executables: []
184
183
 
185
184
  extensions: []
186
185
 
187
- extra_rdoc_files:
188
- - LICENSE
189
- - README.rdoc
186
+ extra_rdoc_files: []
187
+
190
188
  files:
191
189
  - .document
192
190
  - .gitignore
193
- - .rvmrc
194
191
  - Gemfile
195
- - Gemfile.lock
196
192
  - LICENSE
197
193
  - README.rdoc
198
194
  - Rakefile
199
- - VERSION
200
195
  - communicator.gemspec
201
196
  - db/migrate/20101101075419_create_inbound_messages.rb
202
197
  - db/migrate/20101101075719_create_outbound_messages.rb
@@ -207,6 +202,7 @@ files:
207
202
  - lib/communicator/outbound_message.rb
208
203
  - lib/communicator/server.rb
209
204
  - lib/communicator/tasks.rb
205
+ - lib/communicator/version.rb
210
206
  - test/config.ru
211
207
  - test/factories.rb
212
208
  - test/helper.rb
@@ -221,13 +217,14 @@ files:
221
217
  - test/test_client.rb
222
218
  - test/test_message_models.rb
223
219
  - test/test_server.rb
220
+ - tmp/.gitignore
224
221
  has_rdoc: true
225
- homepage: http://github.com/colszowka/communicator
222
+ homepage: http://github.com/capita/communicator
226
223
  licenses: []
227
224
 
228
225
  post_install_message:
229
- rdoc_options:
230
- - --charset=UTF-8
226
+ rdoc_options: []
227
+
231
228
  require_paths:
232
229
  - lib
233
230
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -250,22 +247,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
250
247
  version: "0"
251
248
  requirements: []
252
249
 
253
- rubyforge_project:
254
- rubygems_version: 1.3.7
250
+ rubyforge_project: communicator
251
+ rubygems_version: 1.4.1
255
252
  signing_key:
256
253
  specification_version: 3
257
254
  summary: Data push/pull between apps with local inbound/outbound queue and easy publish/process interface
258
- test_files:
259
- - test/factories.rb
260
- - test/helper.rb
261
- - test/lib/comment.rb
262
- - test/lib/post.rb
263
- - test/lib/test_server_database/comment.rb
264
- - test/lib/test_server_database/inbound_message.rb
265
- - test/lib/test_server_database/outbound_message.rb
266
- - test/lib/test_server_database/post.rb
267
- - test/migrate/20101101093519_create_posts.rb
268
- - test/migrate/20101103120519_create_comments.rb
269
- - test/test_client.rb
270
- - test/test_message_models.rb
271
- - test/test_server.rb
255
+ test_files: []
256
+
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm use 1.8.7
@@ -1,54 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- communicator (0.1.10)
5
- activerecord (< 3.0.0)
6
- httparty (>= 0.6.1)
7
- json (>= 1.4.0)
8
- sinatra (~> 1.1.0)
9
-
10
- GEM
11
- remote: http://rubygems.org/
12
- specs:
13
- activerecord (2.3.10)
14
- activesupport (= 2.3.10)
15
- activesupport (2.3.10)
16
- crack (0.1.8)
17
- factory_girl (1.3.2)
18
- gemcutter (0.6.1)
19
- git (1.2.5)
20
- httparty (0.6.1)
21
- crack (= 0.1.8)
22
- jeweler (1.4.0)
23
- gemcutter (>= 0.1.0)
24
- git (>= 1.2.5)
25
- rubyforge (>= 2.0.0)
26
- json (1.4.6)
27
- json_pure (1.4.6)
28
- rack (1.2.1)
29
- rack-test (0.5.6)
30
- rack (>= 1.0)
31
- rubyforge (2.0.4)
32
- json_pure (>= 1.1.7)
33
- shoulda (2.10.3)
34
- sinatra (1.1.0)
35
- rack (~> 1.1)
36
- tilt (~> 1.1)
37
- sqlite3-ruby (1.3.2)
38
- tilt (1.1)
39
-
40
- PLATFORMS
41
- ruby
42
-
43
- DEPENDENCIES
44
- activerecord (< 3.0.0)
45
- bundler (>= 1.0.0)
46
- communicator!
47
- factory_girl (>= 1.2.3)
48
- httparty (>= 0.6.1)
49
- jeweler (>= 1.4.0)
50
- json (>= 1.4.0)
51
- rack-test (>= 0.5.6)
52
- shoulda (= 2.10.3)
53
- sinatra (~> 1.1.0)
54
- sqlite3-ruby (>= 1.3.0)
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.11