punchcard 0.2.9 → 0.3.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,7 @@
1
1
  .DS_Store
2
2
 
3
3
  .bundle
4
+ Gemfile.lock
4
5
  .sass-cache
5
6
  *.sqlite*
6
7
 
@@ -26,11 +26,11 @@ Create a config.ru for rack:
26
26
 
27
27
  # You'll surely want to secure your punch card from general web access. The simplest way to do so is by
28
28
  # using the rack auth middleware, defining it somewhere in your config.ru:
29
- Punchcard.use Rack::Auth::Basic do |username, password|
29
+ Punchcard::App.use Rack::Auth::Basic do |username, password|
30
30
  [username, password] == ['someuser', 'secret']
31
31
  end
32
32
 
33
- run Punchcard
33
+ run Punchcard::App
34
34
 
35
35
  To run locally, make sure you have a proper ENV['DATABASE_URL'] configured or the sqlite3 gem installed
36
36
  with your bundle. Then:
@@ -41,6 +41,10 @@ with your bundle. Then:
41
41
 
42
42
  Open http://localhost:9292
43
43
 
44
+ == Supported Ruby versions
45
+
46
+ Punchcard is tested against MRI 1.8.7, 1.9.1, 1.9.2 and Ruby Enterprise Edition.
47
+
44
48
  == Hosting on Heroku
45
49
 
46
50
  Starting from the initial bootstrap above, make sure you have the pg gem in your bundle and did run
data/Rakefile CHANGED
@@ -1,32 +1,5 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "punchcard"
8
- gem.summary = %Q{Simple sinatra/activerecord based app for tracking time when people have been in the office}
9
- gem.description = %Q{Simple sinatra/activerecord based app for tracking time when people have been in the office}
10
- gem.email = "christoph at olszowka de"
11
- gem.homepage = "http://github.com/colszowka/punchcard"
12
- gem.authors = ["Christoph Olszowka"]
13
- gem.add_dependency 'sinatra', ">= 1.0.0"
14
- gem.add_dependency 'bson_ext', '>= 0'
15
- gem.add_dependency 'haml', '>= 3.0.24'
16
- gem.add_dependency 'sass', '>= 3.0.0'
17
- gem.add_dependency 'activerecord', '~> 3.0.0'
18
- gem.add_dependency 'gravtastic', '>= 0'
19
- gem.add_development_dependency "shoulda", "2.10.3"
20
- gem.add_development_dependency "rack-test", ">= 0.5.6"
21
- gem.add_development_dependency 'sqlite3', '>= 0'
22
- gem.add_development_dependency 'timecop', '>= 0'
23
- gem.add_development_dependency 'jeweler', '>= 0'
24
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
25
- end
26
- Jeweler::GemcutterTasks.new
27
- rescue LoadError
28
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
29
- end
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
30
3
 
31
4
  require 'rake/testtask'
32
5
  Rake::TestTask.new(:test) do |test|
@@ -35,29 +8,11 @@ Rake::TestTask.new(:test) do |test|
35
8
  test.verbose = true
36
9
  end
37
10
 
38
- begin
39
- require 'rcov/rcovtask'
40
- Rcov::RcovTask.new do |test|
41
- test.libs << 'test'
42
- test.pattern = 'test/**/test_*.rb'
43
- test.verbose = true
44
- end
45
- rescue LoadError
46
- task :rcov do
47
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
48
- end
49
- end
50
-
51
- task :test => :check_dependencies
52
-
53
11
  task :default => :test
54
12
 
55
13
  require 'rake/rdoctask'
56
14
  Rake::RDocTask.new do |rdoc|
57
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
58
-
59
15
  rdoc.rdoc_dir = 'rdoc'
60
- rdoc.title = "punchcard #{version}"
61
16
  rdoc.rdoc_files.include('README*')
62
17
  rdoc.rdoc_files.include('lib/**/*.rb')
63
- end
18
+ end
@@ -21,25 +21,8 @@ end
21
21
  require 'punchcard/person'
22
22
  require 'punchcard/punch'
23
23
 
24
- class Punchcard < Sinatra::Base
25
- set :views, File.join(File.dirname(__FILE__), 'views')
26
- set :public, File.join(File.dirname(__FILE__), 'public')
27
-
28
- get '/' do
29
- haml :index
30
- end
31
-
32
- get '/status.json' do
33
- {:people => Person.order('name ASC').map(&:payload)}.to_json
34
- end
35
-
36
- post '/punch/:id' do
37
- @person = Person.find(params[:id])
38
- @person.punch!
39
- @person.to_json
40
- end
41
-
42
- get '/css/screen.css' do
43
- sass :screen
44
- end
45
- end
24
+ module Punchcard
25
+ end
26
+
27
+ require 'punchcard/app'
28
+ require 'punchcard/version'
@@ -0,0 +1,22 @@
1
+ class Punchcard::App < Sinatra::Base
2
+ set :views, File.join(File.dirname(__FILE__), '../views')
3
+ set :public, File.join(File.dirname(__FILE__), '../public')
4
+
5
+ get '/' do
6
+ haml :index
7
+ end
8
+
9
+ get '/status.json' do
10
+ {:people => Person.order('name ASC').map(&:payload)}.to_json
11
+ end
12
+
13
+ post '/punch/:id' do
14
+ @person = Person.find(params[:id])
15
+ @person.punch!
16
+ @person.to_json
17
+ end
18
+
19
+ get '/css/screen.css' do
20
+ sass :screen
21
+ end
22
+ end
@@ -0,0 +1,3 @@
1
+ module Punchcard
2
+ VERSION = '0.3.0'
3
+ end
@@ -1,101 +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 "punchcard/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{punchcard}
8
- s.version = "0.2.9"
6
+ s.name = "punchcard"
7
+ s.version = Punchcard::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Christoph Olszowka"]
10
+ s.email = ["christoph at olszowka de"]
11
+ s.homepage = "https://github.com/capita/punchcard"
12
+ s.summary = %Q{Simple sinatra/activerecord based app for tracking time when people have been in the office}
13
+ s.description = %Q{Simple sinatra/activerecord based app for tracking time when people have been in the office}
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-12-10}
13
- s.description = %q{Simple sinatra/activerecord based app for tracking time when people have been in the office}
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
- "Gemfile",
23
- "Gemfile.lock",
24
- "LICENSE",
25
- "README.rdoc",
26
- "Rakefile",
27
- "VERSION",
28
- "lib/db/migrate/01_create_people.rb",
29
- "lib/db/migrate/02_create_punches.rb",
30
- "lib/db/migrate/03_add_minutes_to_punches.rb",
31
- "lib/public/cardbg.png",
32
- "lib/public/css/blueprint.css",
33
- "lib/public/js/app.js",
34
- "lib/public/js/jquery.timeago.js",
35
- "lib/punchcard.rb",
36
- "lib/punchcard/person.rb",
37
- "lib/punchcard/punch.rb",
38
- "lib/punchcard/tasks.rb",
39
- "lib/views/index.haml",
40
- "lib/views/layout.haml",
41
- "lib/views/screen.sass",
42
- "punchcard.gemspec",
43
- "test/helper.rb",
44
- "test/test_database.rb",
45
- "test/test_punchcard.rb"
46
- ]
47
- s.homepage = %q{http://github.com/colszowka/punchcard}
48
- s.rdoc_options = ["--charset=UTF-8"]
49
- s.require_paths = ["lib"]
50
- s.rubygems_version = %q{1.3.7}
51
- s.summary = %q{Simple sinatra/activerecord based app for tracking time when people have been in the office}
52
- s.test_files = [
53
- "test/helper.rb",
54
- "test/test_database.rb",
55
- "test/test_punchcard.rb"
56
- ]
57
-
58
- if s.respond_to? :specification_version then
59
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
60
- s.specification_version = 3
61
-
62
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
63
- s.add_runtime_dependency(%q<sinatra>, [">= 1.0.0"])
64
- s.add_runtime_dependency(%q<bson_ext>, [">= 0"])
65
- s.add_runtime_dependency(%q<haml>, [">= 3.0.24"])
66
- s.add_runtime_dependency(%q<sass>, [">= 3.0.0"])
67
- s.add_runtime_dependency(%q<activerecord>, ["~> 3.0.0"])
68
- s.add_runtime_dependency(%q<gravtastic>, [">= 0"])
69
- s.add_development_dependency(%q<shoulda>, ["= 2.10.3"])
70
- s.add_development_dependency(%q<rack-test>, [">= 0.5.6"])
71
- s.add_development_dependency(%q<sqlite3>, [">= 0"])
72
- s.add_development_dependency(%q<timecop>, [">= 0"])
73
- s.add_development_dependency(%q<jeweler>, [">= 0"])
74
- else
75
- s.add_dependency(%q<sinatra>, [">= 1.0.0"])
76
- s.add_dependency(%q<bson_ext>, [">= 0"])
77
- s.add_dependency(%q<haml>, [">= 3.0.24"])
78
- s.add_dependency(%q<sass>, [">= 3.0.0"])
79
- s.add_dependency(%q<activerecord>, ["~> 3.0.0"])
80
- s.add_dependency(%q<gravtastic>, [">= 0"])
81
- s.add_dependency(%q<shoulda>, ["= 2.10.3"])
82
- s.add_dependency(%q<rack-test>, [">= 0.5.6"])
83
- s.add_dependency(%q<sqlite3>, [">= 0"])
84
- s.add_dependency(%q<timecop>, [">= 0"])
85
- s.add_dependency(%q<jeweler>, [">= 0"])
86
- end
87
- else
88
- s.add_dependency(%q<sinatra>, [">= 1.0.0"])
89
- s.add_dependency(%q<bson_ext>, [">= 0"])
90
- s.add_dependency(%q<haml>, [">= 3.0.24"])
91
- s.add_dependency(%q<sass>, [">= 3.0.0"])
92
- s.add_dependency(%q<activerecord>, ["~> 3.0.0"])
93
- s.add_dependency(%q<gravtastic>, [">= 0"])
94
- s.add_dependency(%q<shoulda>, ["= 2.10.3"])
95
- s.add_dependency(%q<rack-test>, [">= 0.5.6"])
96
- s.add_dependency(%q<sqlite3>, [">= 0"])
97
- s.add_dependency(%q<timecop>, [">= 0"])
98
- s.add_dependency(%q<jeweler>, [">= 0"])
99
- end
100
- end
15
+ s.rubyforge_project = "punchcard"
16
+
17
+ s.add_dependency 'sinatra', "~> 1.1.0"
18
+ s.add_dependency 'haml', '~> 3.0.24'
19
+ s.add_dependency 'sass', '>= 3.0.0'
20
+ s.add_dependency 'activerecord', '~> 3.0.0'
21
+ s.add_dependency 'gravtastic', '~> 3.1.0'
22
+ s.add_dependency 'json', '~> 1.5.0'
23
+ s.add_development_dependency "shoulda", "2.10.3"
24
+ s.add_development_dependency "rack-test", ">= 0.5.6"
25
+ s.add_development_dependency 'sqlite3', '>= 0'
26
+ s.add_development_dependency 'timecop', '>= 0'
101
27
 
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"]
32
+ end
@@ -1,15 +1,13 @@
1
1
  ENV['RACK_ENV'] = 'test'
2
2
  require 'rubygems'
3
- require 'bundler'
4
- Bundler.require
3
+ require 'bundler/setup'
4
+ require 'punchcard'
5
+
5
6
  require 'test/unit'
6
7
  require 'shoulda'
7
8
  require 'rack/test'
8
9
  require 'timecop'
9
-
10
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
11
- $LOAD_PATH.unshift(File.dirname(__FILE__))
12
- require 'punchcard'
10
+ require 'json'
13
11
 
14
12
  # DB setup
15
13
  require 'logger'
@@ -1,5 +1,75 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestPunchcard < Test::Unit::TestCase
4
- # TODO
4
+ include Rack::Test::Methods
5
+
6
+ def app
7
+ Punchcard::App
8
+ end
9
+
10
+ context "With 3 users set up" do
11
+ setup do
12
+ @people = ["Christoph", "Sebastian", "Andrea"].map {|name| Person.create!(:name => name, :email => name.downcase + '@example.com')}
13
+ end
14
+
15
+ should "GET /" do
16
+ get '/'
17
+ assert last_response.ok?
18
+ assert last_response.body.include?('Punchcard')
19
+ end
20
+
21
+ context "GET /status.json" do
22
+ setup { get '/status.json' }
23
+ should("respond with success") { assert last_response.ok? }
24
+
25
+ context "the JSON body" do
26
+ setup { @json = JSON.parse(last_response.body) }
27
+ should("be a Hash") { assert_equal Hash, @json.class }
28
+ should("have 3 people") { assert_equal 3, @json["people"].length }
29
+ should "have all ids, names and emails in people array" do
30
+ @people.each do |person|
31
+ assert @json["people"].any? {|p| p["name"] == person.name && p["email"] == person.email && p["_id"] == person.id }
32
+ end
33
+ end
34
+
35
+ should "have all people punched out" do
36
+ assert @json["people"].all? {|p| @json["checked_in_at"] == nil }
37
+ end
38
+ end
39
+ end
40
+
41
+ context "POST /punch/:id" do
42
+ setup do
43
+ post "/punch/#{@people.first.id}"
44
+ end
45
+ should("respond with success") { assert last_response.ok? }
46
+ should "include the person details in response as JSON" do
47
+ json = JSON.parse(last_response.body)
48
+ person = @people.first.reload
49
+ assert_equal person.name, json["name"]
50
+ assert_equal person.email, json["email"]
51
+ assert_equal person.id, json["_id"]
52
+ assert Time.xmlschema(json["checked_in_at"]) > 10.seconds.ago
53
+ end
54
+
55
+ context "GET /status.json" do
56
+ setup { get '/status.json' }
57
+ should("respond with success") { assert last_response.ok? }
58
+
59
+ context "the JSON body" do
60
+ setup { @json = JSON.parse(last_response.body) }
61
+
62
+ should "have 1 person punched in" do
63
+ assert_equal 1, @json["people"].reject {|p| p["checked_in_at"] == nil}.count
64
+ end
65
+ end
66
+ end
67
+ end
68
+
69
+ should "GET /css/screen.css" do
70
+ get '/css/screen.css'
71
+ assert last_response.ok?
72
+ assert last_response.body.include?('font-family')
73
+ end
74
+ end
5
75
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 2
8
- - 9
9
- version: 0.2.9
7
+ - 3
8
+ - 0
9
+ version: 0.3.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Christoph Olszowka
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-10 00:00:00 +01:00
17
+ date: 2011-02-05 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -23,30 +23,32 @@ dependencies:
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
26
- - - ">="
26
+ - - ~>
27
27
  - !ruby/object:Gem::Version
28
28
  segments:
29
29
  - 1
30
+ - 1
30
31
  - 0
31
- - 0
32
- version: 1.0.0
32
+ version: 1.1.0
33
33
  type: :runtime
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
36
- name: bson_ext
36
+ name: haml
37
37
  prerelease: false
38
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
- - - ">="
41
+ - - ~>
42
42
  - !ruby/object:Gem::Version
43
43
  segments:
44
+ - 3
44
45
  - 0
45
- version: "0"
46
+ - 24
47
+ version: 3.0.24
46
48
  type: :runtime
47
49
  version_requirements: *id002
48
50
  - !ruby/object:Gem::Dependency
49
- name: haml
51
+ name: sass
50
52
  prerelease: false
51
53
  requirement: &id003 !ruby/object:Gem::Requirement
52
54
  none: false
@@ -56,17 +58,17 @@ dependencies:
56
58
  segments:
57
59
  - 3
58
60
  - 0
59
- - 24
60
- version: 3.0.24
61
+ - 0
62
+ version: 3.0.0
61
63
  type: :runtime
62
64
  version_requirements: *id003
63
65
  - !ruby/object:Gem::Dependency
64
- name: sass
66
+ name: activerecord
65
67
  prerelease: false
66
68
  requirement: &id004 !ruby/object:Gem::Requirement
67
69
  none: false
68
70
  requirements:
69
- - - ">="
71
+ - - ~>
70
72
  - !ruby/object:Gem::Version
71
73
  segments:
72
74
  - 3
@@ -76,7 +78,7 @@ dependencies:
76
78
  type: :runtime
77
79
  version_requirements: *id004
78
80
  - !ruby/object:Gem::Dependency
79
- name: activerecord
81
+ name: gravtastic
80
82
  prerelease: false
81
83
  requirement: &id005 !ruby/object:Gem::Requirement
82
84
  none: false
@@ -85,22 +87,24 @@ dependencies:
85
87
  - !ruby/object:Gem::Version
86
88
  segments:
87
89
  - 3
90
+ - 1
88
91
  - 0
89
- - 0
90
- version: 3.0.0
92
+ version: 3.1.0
91
93
  type: :runtime
92
94
  version_requirements: *id005
93
95
  - !ruby/object:Gem::Dependency
94
- name: gravtastic
96
+ name: json
95
97
  prerelease: false
96
98
  requirement: &id006 !ruby/object:Gem::Requirement
97
99
  none: false
98
100
  requirements:
99
- - - ">="
101
+ - - ~>
100
102
  - !ruby/object:Gem::Version
101
103
  segments:
104
+ - 1
105
+ - 5
102
106
  - 0
103
- version: "0"
107
+ version: 1.5.0
104
108
  type: :runtime
105
109
  version_requirements: *id006
106
110
  - !ruby/object:Gem::Dependency
@@ -159,37 +163,22 @@ dependencies:
159
163
  version: "0"
160
164
  type: :development
161
165
  version_requirements: *id010
162
- - !ruby/object:Gem::Dependency
163
- name: jeweler
164
- prerelease: false
165
- requirement: &id011 !ruby/object:Gem::Requirement
166
- none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- segments:
171
- - 0
172
- version: "0"
173
- type: :development
174
- version_requirements: *id011
175
166
  description: Simple sinatra/activerecord based app for tracking time when people have been in the office
176
- email: christoph at olszowka de
167
+ email:
168
+ - christoph at olszowka de
177
169
  executables: []
178
170
 
179
171
  extensions: []
180
172
 
181
- extra_rdoc_files:
182
- - LICENSE
183
- - README.rdoc
173
+ extra_rdoc_files: []
174
+
184
175
  files:
185
176
  - .document
186
177
  - .gitignore
187
178
  - Gemfile
188
- - Gemfile.lock
189
179
  - LICENSE
190
180
  - README.rdoc
191
181
  - Rakefile
192
- - VERSION
193
182
  - lib/db/migrate/01_create_people.rb
194
183
  - lib/db/migrate/02_create_punches.rb
195
184
  - lib/db/migrate/03_add_minutes_to_punches.rb
@@ -198,9 +187,11 @@ files:
198
187
  - lib/public/js/app.js
199
188
  - lib/public/js/jquery.timeago.js
200
189
  - lib/punchcard.rb
190
+ - lib/punchcard/app.rb
201
191
  - lib/punchcard/person.rb
202
192
  - lib/punchcard/punch.rb
203
193
  - lib/punchcard/tasks.rb
194
+ - lib/punchcard/version.rb
204
195
  - lib/views/index.haml
205
196
  - lib/views/layout.haml
206
197
  - lib/views/screen.sass
@@ -209,12 +200,12 @@ files:
209
200
  - test/test_database.rb
210
201
  - test/test_punchcard.rb
211
202
  has_rdoc: true
212
- homepage: http://github.com/colszowka/punchcard
203
+ homepage: https://github.com/capita/punchcard
213
204
  licenses: []
214
205
 
215
206
  post_install_message:
216
- rdoc_options:
217
- - --charset=UTF-8
207
+ rdoc_options: []
208
+
218
209
  require_paths:
219
210
  - lib
220
211
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -235,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
226
  version: "0"
236
227
  requirements: []
237
228
 
238
- rubyforge_project:
229
+ rubyforge_project: punchcard
239
230
  rubygems_version: 1.3.7
240
231
  signing_key:
241
232
  specification_version: 3
@@ -1,72 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- punchcard (0.2.5)
5
- activerecord (~> 3.0.0)
6
- bson_ext
7
- gravtastic
8
- haml (>= 3.0.24)
9
- sass (>= 3.0.0)
10
- sinatra (>= 1.0.0)
11
-
12
- GEM
13
- remote: http://rubygems.org/
14
- specs:
15
- activemodel (3.0.3)
16
- activesupport (= 3.0.3)
17
- builder (~> 2.1.2)
18
- i18n (~> 0.4)
19
- activerecord (3.0.3)
20
- activemodel (= 3.0.3)
21
- activesupport (= 3.0.3)
22
- arel (~> 2.0.2)
23
- tzinfo (~> 0.3.23)
24
- activesupport (3.0.3)
25
- arel (2.0.6)
26
- bson_ext (1.1.4)
27
- builder (2.1.2)
28
- ffi (1.0.1)
29
- rake (>= 0.8.7)
30
- gemcutter (0.6.1)
31
- git (1.2.5)
32
- gravtastic (3.1.0)
33
- haml (3.0.24)
34
- i18n (0.5.0)
35
- jeweler (1.4.0)
36
- gemcutter (>= 0.1.0)
37
- git (>= 1.2.5)
38
- rubyforge (>= 2.0.0)
39
- json_pure (1.4.6)
40
- rack (1.2.1)
41
- rack-test (0.5.6)
42
- rack (>= 1.0)
43
- rake (0.8.7)
44
- rubyforge (2.0.4)
45
- json_pure (>= 1.1.7)
46
- sass (3.1.0.alpha.200)
47
- shoulda (2.10.3)
48
- sinatra (1.1.0)
49
- rack (~> 1.1)
50
- tilt (~> 1.1)
51
- sqlite3 (0.1.1)
52
- ffi (>= 0.6.3)
53
- tilt (1.1)
54
- timecop (0.3.5)
55
- tzinfo (0.3.23)
56
-
57
- PLATFORMS
58
- ruby
59
-
60
- DEPENDENCIES
61
- activerecord (~> 3.0.0)
62
- bson_ext
63
- gravtastic
64
- haml (>= 3.0.24)
65
- jeweler
66
- punchcard!
67
- rack-test (>= 0.5.6)
68
- sass (>= 3.0.0)
69
- shoulda (= 2.10.3)
70
- sinatra (>= 1.0.0)
71
- sqlite3
72
- timecop
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.2.9