route_dog 2.4.2 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/Rakefile +9 -28
  2. data/lib/route_dog/middleware/notifier.rb +5 -3
  3. data/lib/route_dog/middleware/route_dog.rb +10 -0
  4. data/lib/route_dog/railtie.rb +1 -1
  5. data/lib/route_dog.rb +10 -2
  6. data/lib/tasks/tasks.rake +4 -3
  7. data/route_dog.gemspec +16 -145
  8. data/test/integration/application_controller_test.rb +14 -0
  9. data/test/mock_app/Gemfile +24 -17
  10. data/test/mock_app/Gemfile.lock +130 -0
  11. data/test/mock_app/README +261 -0
  12. data/test/mock_app/Rakefile +1 -1
  13. data/test/mock_app/app/assets/images/rails.png +0 -0
  14. data/test/mock_app/app/assets/javascripts/application.js +9 -0
  15. data/test/mock_app/app/assets/stylesheets/application.css +7 -0
  16. data/test/mock_app/app/views/layouts/application.html.erb +3 -3
  17. data/test/mock_app/config/application.rb +12 -6
  18. data/test/mock_app/config/boot.rb +3 -10
  19. data/test/mock_app/config/database.yml +4 -1
  20. data/test/mock_app/config/environments/development.rb +8 -4
  21. data/test/mock_app/config/environments/production.rb +24 -13
  22. data/test/mock_app/config/environments/test.rb +6 -2
  23. data/test/mock_app/config/initializers/session_store.rb +1 -1
  24. data/test/mock_app/config/initializers/wrap_parameters.rb +14 -0
  25. data/test/mock_app/config/locales/en.yml +1 -1
  26. data/test/mock_app/db/development.sqlite3 +0 -0
  27. data/test/mock_app/db/seeds.rb +1 -1
  28. data/test/mock_app/{public/stylesheets/.gitkeep → db/test.sqlite3} +0 -0
  29. data/test/mock_app/doc/README_FOR_APP +2 -0
  30. data/test/mock_app/log/development.log +683 -0
  31. data/test/mock_app/log/production.log +0 -0
  32. data/test/mock_app/log/server.log +0 -0
  33. data/test/mock_app/log/test.log +39281 -0
  34. data/test/mock_app/public/index.html +10 -8
  35. data/test/mock_app/script/rails +6 -0
  36. data/test/mock_app/test/test_helper.rb +13 -0
  37. data/test/mock_app/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016 +0 -0
  38. data/test/mock_app/tmp/mock_app_application_routes_report.html +175 -0
  39. data/test/mock_app/tmp/pids/server.pid +1 -0
  40. data/test/mock_app/tmp/route_dog_routes.yml +34 -0
  41. data/test/support/assertions.rb +2 -2
  42. data/test/unit/route_dog_test.rb +1 -1
  43. metadata +40 -60
  44. data/VERSION +0 -1
  45. data/test/mock_app/.gitignore +0 -4
  46. data/test/mock_app/tmp/.gitignore +0 -1
data/Rakefile CHANGED
@@ -1,36 +1,17 @@
1
1
  require "rake/testtask"
2
- import "lib/tasks/tasks.rake"
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "route_dog"
8
- gem.summary = %Q{Watch and Notify your not tested routes of a RoR Application}
9
- gem.description = %Q{Watch and Notify your not tested routes of a RoR Application, it also has a simple report about Routes defines, used and tested}
10
- gem.rubyforge_project = "routedog"
11
- gem.email = "zevarito@gmail.com"
12
- gem.homepage = "http://github.com/zevarito/route_dog"
13
- gem.authors = ["Alvaro Gil"]
14
- gem.add_dependency 'rack'
15
- gem.add_dependency 'rails', '>=2.3.8'
16
- gem.add_development_dependency "contest", "=0.1.2"
17
- gem.add_development_dependency "nokogiri", "=1.4.3.1"
18
- end
19
- Jeweler::GemcutterTasks.new
20
- rescue LoadError
21
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
- end
23
2
 
24
3
  desc "Default: run tests"
25
- task :default => [:test, :report]
26
-
27
- task :test => "route_dog:clean"
28
-
29
- task :report do
30
- `cd test/mock_app && rake route_dog:report`
31
- end
4
+ task :default => [:clean, :test, :report]
32
5
 
33
6
  Rake::TestTask.new do |t|
34
7
  t.libs << "lib" << "test"
35
8
  t.test_files = FileList["test/**/*_test.rb"]
36
9
  end
10
+
11
+ task :clean do
12
+ `cd test/mock_app && rake route_dog:clean`
13
+ end
14
+
15
+ task :report do
16
+ `cd test/mock_app && rake route_dog:report`
17
+ end
@@ -8,11 +8,13 @@ module RouteDog
8
8
  def call(env)
9
9
  @env = env
10
10
 
11
- status, headers, @response = @app.call(env)
11
+ @status, @headers, @response = @app.call(env)
12
12
 
13
- append_warning if !::RouteDog.route_tested_with_requirements?(identify_controller, identify_action, request_method)
13
+ if is_html_response? && !tested_action?
14
+ append_warning
15
+ end
14
16
 
15
- [status, headers, @response]
17
+ [@status, @headers, @response]
16
18
  end
17
19
 
18
20
  private
@@ -6,6 +6,8 @@ module RouteDog
6
6
 
7
7
  include ::RouteDog
8
8
 
9
+ attr_accessor :status, :headers, :response
10
+
9
11
  def initialize(app)
10
12
  load_watched_routes
11
13
  end
@@ -29,6 +31,14 @@ module RouteDog
29
31
  def identify_path
30
32
  Rails.application.routes.recognize_path(request_path, :method => request_method)
31
33
  end
34
+
35
+ def is_html_response?
36
+ headers["Content-Type"].include?("text/html")
37
+ end
38
+
39
+ def tested_action?
40
+ ::RouteDog.route_tested_with_requirements?(identify_controller, identify_action, request_method)
41
+ end
32
42
  end
33
43
  end
34
44
  end
@@ -22,7 +22,7 @@ module RouteDog
22
22
  end
23
23
 
24
24
  def route_dog_configuration
25
- YAML.load_file(File.join(Rails.root, 'config', 'middlewares_route_dog.yml'))
25
+ YAML.load_file(RouteDog.config_file)
26
26
  rescue Errno::ENOENT
27
27
  {"watcher" => {"env" => ["test"]}, "notifier" => {"env" => ["development"]}}
28
28
  end
data/lib/route_dog.rb CHANGED
@@ -4,17 +4,25 @@ require 'route_dog/railtie' if defined?(Rails)
4
4
 
5
5
  module RouteDog
6
6
  def self.config_file
7
+ File.join(Rails.root, 'config', 'middlewares_route_dog.yml')
8
+ end
9
+
10
+ def self.watched_routes_file
7
11
  File.join(Rails.root, 'tmp', 'route_dog_routes.yml')
8
12
  end
9
13
 
10
14
  def self.load_watched_routes
11
- YAML.load_file(config_file)
15
+ YAML.load_file(watched_routes_file)
12
16
  rescue Errno::ENOENT
13
17
  {}
14
18
  end
15
19
 
16
20
  def self.write_watched_routes(routes)
17
- File.open(config_file, "w+") {|file| file.puts(routes.to_yaml) }
21
+ File.open(watched_routes_file, "w+") {|file| file.puts(routes.to_yaml) }
22
+ end
23
+
24
+ def self.delete_watched_routes_file
25
+ File.delete(watched_routes_file) if File.exists?(watched_routes_file)
18
26
  end
19
27
 
20
28
  # When method.nil? it respond to all methods.
data/lib/tasks/tasks.rake CHANGED
@@ -6,9 +6,10 @@ end
6
6
 
7
7
  namespace :route_dog do
8
8
  desc "Clean Tested Routes File"
9
- task :clean do
10
- File.delete("test/mock_app/tmp/route_dog_routes.yml") if File.exists? "test/mock_app/tmp/route_dog_routes.yml"
11
- puts "\nRoute Dog tested routes definition file deleted."
9
+ task :clean => :environment do
10
+ if RouteDog.delete_watched_routes_file
11
+ puts "\nRoute Dog tested routes definition file deleted."
12
+ end
12
13
  end
13
14
 
14
15
  desc "Create A Html Report Of The Routes Defined, Tested And Used"
data/route_dog.gemspec CHANGED
@@ -1,150 +1,21 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
1
+ files = ['README.md', 'LICENSE', 'Rakefile', 'route_dog.gemspec', '{test,lib}/**/*'].map {|f| Dir[f]}.flatten
5
2
 
6
3
  Gem::Specification.new do |s|
7
- s.name = %q{route_dog}
8
- s.version = "2.4.2"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Alvaro Gil"]
12
- s.date = %q{2011-04-14}
13
- s.description = %q{Watch and Notify your not tested routes of a RoR Application, it also has a simple report about Routes defines, used and tested}
14
- s.email = %q{zevarito@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.md"
18
- ]
19
- s.files = [
20
- "LICENSE",
21
- "README.md",
22
- "Rakefile",
23
- "VERSION",
24
- "lib/route_dog.rb",
25
- "lib/route_dog/middleware.rb",
26
- "lib/route_dog/middleware/notifier.rb",
27
- "lib/route_dog/middleware/route_dog.rb",
28
- "lib/route_dog/middleware/watcher.rb",
29
- "lib/route_dog/railtie.rb",
30
- "lib/route_dog/report.rb",
31
- "lib/route_dog/templates/report.html.erb",
32
- "lib/route_dog/templates/warning.html.erb",
33
- "lib/tasks/tasks.rake",
34
- "route_dog.gemspec",
35
- "test/integration/pages_controller_test.rb",
36
- "test/integration/products_controller_test.rb",
37
- "test/integration/sessions_controller_test.rb",
38
- "test/integration/users_controller_test.rb",
39
- "test/mock_app/.gitignore",
40
- "test/mock_app/Gemfile",
41
- "test/mock_app/Rakefile",
42
- "test/mock_app/app/controllers/admin/blogs/posts_controller.rb",
43
- "test/mock_app/app/controllers/admin/project_settings_controller.rb",
44
- "test/mock_app/app/controllers/admin/users_controller.rb",
45
- "test/mock_app/app/controllers/application_controller.rb",
46
- "test/mock_app/app/controllers/pages_controller.rb",
47
- "test/mock_app/app/controllers/products_controller.rb",
48
- "test/mock_app/app/controllers/project_settings_controller.rb",
49
- "test/mock_app/app/controllers/sessions_controller.rb",
50
- "test/mock_app/app/controllers/users_controller.rb",
51
- "test/mock_app/app/helpers/application_helper.rb",
52
- "test/mock_app/app/views/layouts/application.html.erb",
53
- "test/mock_app/app/views/users/index.html.erb",
54
- "test/mock_app/config.ru",
55
- "test/mock_app/config/application.rb",
56
- "test/mock_app/config/boot.rb",
57
- "test/mock_app/config/database.yml",
58
- "test/mock_app/config/environment.rb",
59
- "test/mock_app/config/environments/development.rb",
60
- "test/mock_app/config/environments/production.rb",
61
- "test/mock_app/config/environments/test.rb",
62
- "test/mock_app/config/initializers/backtrace_silencers.rb",
63
- "test/mock_app/config/initializers/inflections.rb",
64
- "test/mock_app/config/initializers/mime_types.rb",
65
- "test/mock_app/config/initializers/secret_token.rb",
66
- "test/mock_app/config/initializers/session_store.rb",
67
- "test/mock_app/config/locales/en.yml",
68
- "test/mock_app/config/middlewares_route_dog.yml",
69
- "test/mock_app/config/routes.rb",
70
- "test/mock_app/db/seeds.rb",
71
- "test/mock_app/public/404.html",
72
- "test/mock_app/public/422.html",
73
- "test/mock_app/public/500.html",
74
- "test/mock_app/public/favicon.ico",
75
- "test/mock_app/public/images/rails.png",
76
- "test/mock_app/public/index.html",
77
- "test/mock_app/public/javascripts/application.js",
78
- "test/mock_app/public/javascripts/controls.js",
79
- "test/mock_app/public/javascripts/dragdrop.js",
80
- "test/mock_app/public/javascripts/effects.js",
81
- "test/mock_app/public/javascripts/prototype.js",
82
- "test/mock_app/public/javascripts/rails.js",
83
- "test/mock_app/public/robots.txt",
84
- "test/mock_app/public/stylesheets/.gitkeep",
85
- "test/mock_app/tmp/.gitignore",
86
- "test/support/assertions.rb",
87
- "test/test_helper.rb",
88
- "test/unit/route_dog_test.rb"
89
- ]
90
- s.homepage = %q{http://github.com/zevarito/route_dog}
4
+ s.name = "route_dog"
5
+ s.version = "2.5.0"
6
+ s.author = "Alvaro Gil"
7
+ s.date = "2011-04-18"
8
+ s.description = "Watch and Notify your not tested routes of a RoR Application, it also has a simple report about Routes defines, used and tested"
9
+ s.email = "zevarito@gmail.com"
10
+ s.extra_rdoc_files = ["LICENSE", "README.md"]
11
+ s.files = files
12
+ s.homepage = "http://github.com/zevarito/route_dog"
91
13
  s.require_paths = ["lib"]
92
- s.rubyforge_project = %q{routedog}
93
- s.rubygems_version = %q{1.3.7}
94
- s.summary = %q{Watch and Notify your not tested routes of a RoR Application}
95
- s.test_files = [
96
- "test/integration/pages_controller_test.rb",
97
- "test/integration/products_controller_test.rb",
98
- "test/integration/sessions_controller_test.rb",
99
- "test/integration/users_controller_test.rb",
100
- "test/mock_app/app/controllers/admin/blogs/posts_controller.rb",
101
- "test/mock_app/app/controllers/admin/project_settings_controller.rb",
102
- "test/mock_app/app/controllers/admin/users_controller.rb",
103
- "test/mock_app/app/controllers/application_controller.rb",
104
- "test/mock_app/app/controllers/pages_controller.rb",
105
- "test/mock_app/app/controllers/products_controller.rb",
106
- "test/mock_app/app/controllers/project_settings_controller.rb",
107
- "test/mock_app/app/controllers/sessions_controller.rb",
108
- "test/mock_app/app/controllers/users_controller.rb",
109
- "test/mock_app/app/helpers/application_helper.rb",
110
- "test/mock_app/config/application.rb",
111
- "test/mock_app/config/boot.rb",
112
- "test/mock_app/config/environment.rb",
113
- "test/mock_app/config/environments/development.rb",
114
- "test/mock_app/config/environments/production.rb",
115
- "test/mock_app/config/environments/test.rb",
116
- "test/mock_app/config/initializers/backtrace_silencers.rb",
117
- "test/mock_app/config/initializers/inflections.rb",
118
- "test/mock_app/config/initializers/mime_types.rb",
119
- "test/mock_app/config/initializers/secret_token.rb",
120
- "test/mock_app/config/initializers/session_store.rb",
121
- "test/mock_app/config/routes.rb",
122
- "test/mock_app/db/seeds.rb",
123
- "test/support/assertions.rb",
124
- "test/test_helper.rb",
125
- "test/unit/route_dog_test.rb"
126
- ]
127
-
128
- if s.respond_to? :specification_version then
129
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
130
- s.specification_version = 3
131
-
132
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
133
- s.add_runtime_dependency(%q<rack>, [">= 0"])
134
- s.add_runtime_dependency(%q<rails>, [">= 2.3.8"])
135
- s.add_development_dependency(%q<contest>, ["= 0.1.2"])
136
- s.add_development_dependency(%q<nokogiri>, ["= 1.4.3.1"])
137
- else
138
- s.add_dependency(%q<rack>, [">= 0"])
139
- s.add_dependency(%q<rails>, [">= 2.3.8"])
140
- s.add_dependency(%q<contest>, ["= 0.1.2"])
141
- s.add_dependency(%q<nokogiri>, ["= 1.4.3.1"])
142
- end
143
- else
144
- s.add_dependency(%q<rack>, [">= 0"])
145
- s.add_dependency(%q<rails>, [">= 2.3.8"])
146
- s.add_dependency(%q<contest>, ["= 0.1.2"])
147
- s.add_dependency(%q<nokogiri>, ["= 1.4.3.1"])
148
- end
14
+ s.rubyforge_project = "routedog"
15
+ s.summary = "Watch and Notify your not tested routes of a RoR Application"
16
+ s.add_runtime_dependency(%q<rack>, [">= 0"])
17
+ s.add_runtime_dependency(%q<rails>, [">= 2.3.8"])
18
+ s.add_development_dependency(%q<contest>, ["= 0.1.2"])
19
+ s.add_development_dependency(%q<nokogiri>, ["= 1.4.3.1"])
149
20
  end
150
21
 
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
2
+
3
+ class ApplicationControllerTest < ActionController::IntegrationTest
4
+
5
+ def setup
6
+ @controller = ApplicationController.new
7
+ end
8
+
9
+ context "Asset pipeline" do
10
+ test "should work fine with asset pipeline" do
11
+ get "/assets/rails.png"
12
+ end
13
+ end
14
+ end
@@ -1,11 +1,30 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rails', '3.0.1'
3
+ gem 'rails', '3.1.1'
4
4
 
5
5
  # Bundle edge Rails instead:
6
- # gem 'rails', :git => 'git://github.com/rails/rails.git'
6
+ # gem 'rails', :git => 'git://github.com/rails/rails.git'
7
7
 
8
- gem 'sqlite3', :require => 'sqlite3'
8
+ gem 'sqlite3'
9
+
10
+ gem 'json'
11
+
12
+ # Gems used only for assets and not required
13
+ # in production environments by default.
14
+ group :assets do
15
+ gem 'sass-rails', '~> 3.1.4'
16
+ gem 'coffee-rails', '~> 3.1.1'
17
+ gem 'uglifier', '>= 1.0.3'
18
+ end
19
+
20
+ gem 'route_dog', :path => File.join(File.dirname(__FILE__), "..", "..")
21
+ gem 'launchy'
22
+ gem 'ruby-prof'
23
+
24
+ # gem 'jquery-rails'
25
+
26
+ # To use ActiveModel has_secure_password
27
+ # gem 'bcrypt-ruby', '~> 3.0.0'
9
28
 
10
29
  # Use unicorn as the web server
11
30
  # gem 'unicorn'
@@ -13,18 +32,6 @@ gem 'sqlite3', :require => 'sqlite3'
13
32
  # Deploy with Capistrano
14
33
  # gem 'capistrano'
15
34
 
16
- # Bundle the extra gems:
17
- # gem 'bj'
18
- # gem 'nokogiri'
19
- # gem 'sqlite3-ruby', :require => 'sqlite3'
20
- # gem 'aws-s3', :require => 'aws/s3'
21
-
22
- # Bundle gems for the local environment. Make sure to
23
- # put test-only gems in this group so their generators
24
- # and rake tasks are available in development mode:
25
- # group :development, :test do
26
- # gem 'webrat'
27
- # end
35
+ # To use debugger
36
+ # gem 'ruby-debug'
28
37
 
29
- gem 'route_dog', :path => File.join(File.dirname(__FILE__), "..", "..")
30
- gem 'launchy'
@@ -0,0 +1,130 @@
1
+ PATH
2
+ remote: /Users/zevarito/Sources/zevarito/route_dog
3
+ specs:
4
+ route_dog (2.5.0)
5
+ rack
6
+ rails (>= 2.3.8)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ actionmailer (3.1.1)
12
+ actionpack (= 3.1.1)
13
+ mail (~> 2.3.0)
14
+ actionpack (3.1.1)
15
+ activemodel (= 3.1.1)
16
+ activesupport (= 3.1.1)
17
+ builder (~> 3.0.0)
18
+ erubis (~> 2.7.0)
19
+ i18n (~> 0.6)
20
+ rack (~> 1.3.2)
21
+ rack-cache (~> 1.1)
22
+ rack-mount (~> 0.8.2)
23
+ rack-test (~> 0.6.1)
24
+ sprockets (~> 2.0.2)
25
+ activemodel (3.1.1)
26
+ activesupport (= 3.1.1)
27
+ builder (~> 3.0.0)
28
+ i18n (~> 0.6)
29
+ activerecord (3.1.1)
30
+ activemodel (= 3.1.1)
31
+ activesupport (= 3.1.1)
32
+ arel (~> 2.2.1)
33
+ tzinfo (~> 0.3.29)
34
+ activeresource (3.1.1)
35
+ activemodel (= 3.1.1)
36
+ activesupport (= 3.1.1)
37
+ activesupport (3.1.1)
38
+ multi_json (~> 1.0)
39
+ arel (2.2.1)
40
+ builder (3.0.0)
41
+ coffee-rails (3.1.1)
42
+ coffee-script (>= 2.2.0)
43
+ railties (~> 3.1.0)
44
+ coffee-script (2.2.0)
45
+ coffee-script-source
46
+ execjs
47
+ coffee-script-source (1.1.2)
48
+ configuration (1.2.0)
49
+ erubis (2.7.0)
50
+ execjs (1.2.9)
51
+ multi_json (~> 1.0)
52
+ hike (1.2.1)
53
+ i18n (0.6.0)
54
+ json (1.6.1)
55
+ launchy (0.4.0)
56
+ configuration (>= 0.0.5)
57
+ rake (>= 0.8.1)
58
+ mail (2.3.0)
59
+ i18n (>= 0.4.0)
60
+ mime-types (~> 1.16)
61
+ treetop (~> 1.4.8)
62
+ mime-types (1.17.1)
63
+ multi_json (1.0.3)
64
+ polyglot (0.3.2)
65
+ rack (1.3.5)
66
+ rack-cache (1.1)
67
+ rack (>= 0.4)
68
+ rack-mount (0.8.3)
69
+ rack (>= 1.0.0)
70
+ rack-ssl (1.3.2)
71
+ rack
72
+ rack-test (0.6.1)
73
+ rack (>= 1.0)
74
+ rails (3.1.1)
75
+ actionmailer (= 3.1.1)
76
+ actionpack (= 3.1.1)
77
+ activerecord (= 3.1.1)
78
+ activeresource (= 3.1.1)
79
+ activesupport (= 3.1.1)
80
+ bundler (~> 1.0)
81
+ railties (= 3.1.1)
82
+ railties (3.1.1)
83
+ actionpack (= 3.1.1)
84
+ activesupport (= 3.1.1)
85
+ rack-ssl (~> 1.3.2)
86
+ rake (>= 0.8.7)
87
+ rdoc (~> 3.4)
88
+ thor (~> 0.14.6)
89
+ rake (0.9.2.2)
90
+ rdoc (3.11)
91
+ json (~> 1.4)
92
+ ruby-prof (0.9.2)
93
+ sass (3.1.10)
94
+ sass-rails (3.1.4)
95
+ actionpack (~> 3.1.0)
96
+ railties (~> 3.1.0)
97
+ sass (>= 3.1.4)
98
+ sprockets (~> 2.0.0)
99
+ tilt (~> 1.3.2)
100
+ sprockets (2.0.3)
101
+ hike (~> 1.2)
102
+ rack (~> 1.0)
103
+ tilt (~> 1.1, != 1.3.0)
104
+ sqlite3 (1.3.4)
105
+ thor (0.14.6)
106
+ tilt (1.3.3)
107
+ treetop (1.4.10)
108
+ polyglot
109
+ polyglot (>= 0.3.1)
110
+ tzinfo (0.3.30)
111
+ uglifier (1.0.4)
112
+ execjs (>= 0.3.0)
113
+ multi_json (>= 1.0.2)
114
+
115
+ PLATFORMS
116
+ ruby
117
+
118
+ DEPENDENCIES
119
+ coffee-rails (~> 3.1.1)
120
+ json
121
+ launchy
122
+ rails (= 3.1.1)
123
+ route_dog!
124
+ ruby-prof
125
+ sass-rails (~> 3.1.4)
126
+ sqlite3
127
+ uglifier (>= 1.0.3)
128
+
129
+ METADATA
130
+ version: 1.0.6