captivus 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +2 -1
  3. data/README.md +9 -0
  4. data/captivus.gemspec +2 -1
  5. data/lib/captivus/backtrace/line.rb +14 -8
  6. data/lib/captivus/backtrace.rb +8 -2
  7. data/lib/captivus/configuration.rb +4 -2
  8. data/lib/captivus/notifier.rb +34 -0
  9. data/lib/captivus/payload.rb +70 -14
  10. data/lib/captivus/rack_capturer.rb +4 -8
  11. data/lib/captivus/rails_capturer.rb +21 -0
  12. data/lib/captivus/railtie.rb +35 -0
  13. data/lib/captivus/tasks/captivus.rake +12 -0
  14. data/lib/captivus/util.rb +24 -0
  15. data/lib/captivus/version.rb +1 -1
  16. data/lib/captivus.rb +30 -14
  17. data/rails-3.0-app/.rspec +1 -0
  18. data/rails-3.0-app/Gemfile +40 -0
  19. data/rails-3.0-app/README +256 -0
  20. data/rails-3.0-app/Rakefile +7 -0
  21. data/rails-3.0-app/app/controllers/application_controller.rb +3 -0
  22. data/rails-3.0-app/app/controllers/errors_controller.rb +5 -0
  23. data/rails-3.0-app/app/helpers/application_helper.rb +2 -0
  24. data/rails-3.0-app/app/views/layouts/application.html.erb +14 -0
  25. data/rails-3.0-app/config/application.rb +42 -0
  26. data/rails-3.0-app/config/boot.rb +6 -0
  27. data/rails-3.0-app/config/database.yml +7 -0
  28. data/rails-3.0-app/config/environment.rb +5 -0
  29. data/rails-3.0-app/config/environments/development.rb +26 -0
  30. data/rails-3.0-app/config/environments/production.rb +49 -0
  31. data/rails-3.0-app/config/environments/test.rb +35 -0
  32. data/rails-3.0-app/config/initializers/backtrace_silencers.rb +7 -0
  33. data/rails-3.0-app/config/initializers/captivus.rb +4 -0
  34. data/rails-3.0-app/config/initializers/inflections.rb +10 -0
  35. data/rails-3.0-app/config/initializers/mime_types.rb +5 -0
  36. data/rails-3.0-app/config/initializers/secret_token.rb +7 -0
  37. data/rails-3.0-app/config/initializers/session_store.rb +8 -0
  38. data/rails-3.0-app/config/locales/en.yml +5 -0
  39. data/rails-3.0-app/config/routes.rb +59 -0
  40. data/rails-3.0-app/config.ru +4 -0
  41. data/rails-3.0-app/db/seeds.rb +7 -0
  42. data/rails-3.0-app/public/404.html +26 -0
  43. data/rails-3.0-app/public/422.html +26 -0
  44. data/rails-3.0-app/public/500.html +26 -0
  45. data/rails-3.0-app/public/favicon.ico +0 -0
  46. data/rails-3.0-app/public/images/rails.png +0 -0
  47. data/rails-3.0-app/public/index.html +239 -0
  48. data/rails-3.0-app/public/javascripts/application.js +2 -0
  49. data/rails-3.0-app/public/javascripts/controls.js +965 -0
  50. data/rails-3.0-app/public/javascripts/dragdrop.js +974 -0
  51. data/rails-3.0-app/public/javascripts/effects.js +1123 -0
  52. data/rails-3.0-app/public/javascripts/prototype.js +6001 -0
  53. data/rails-3.0-app/public/javascripts/rails.js +202 -0
  54. data/rails-3.0-app/public/robots.txt +5 -0
  55. data/rails-3.0-app/script/rails +6 -0
  56. data/rails-3.0-app/spec/requests/events_from_rails_spec.rb +115 -0
  57. data/rails-3.0-app/spec/spec_helper.rb +38 -0
  58. data/rails-3.0-app/spec/support/captivus_api.rb +1 -0
  59. data/rails-3.1-app/.rspec +1 -0
  60. data/rails-3.1-app/Gemfile +44 -0
  61. data/rails-3.1-app/README +261 -0
  62. data/rails-3.1-app/Rakefile +7 -0
  63. data/rails-3.1-app/app/assets/images/rails.png +0 -0
  64. data/rails-3.1-app/app/assets/javascripts/application.js +9 -0
  65. data/rails-3.1-app/app/assets/stylesheets/application.css +7 -0
  66. data/rails-3.1-app/app/controllers/application_controller.rb +3 -0
  67. data/rails-3.1-app/app/controllers/errors_controller.rb +5 -0
  68. data/rails-3.1-app/app/helpers/application_helper.rb +2 -0
  69. data/rails-3.1-app/app/views/layouts/application.html.erb +14 -0
  70. data/rails-3.1-app/config/application.rb +54 -0
  71. data/rails-3.1-app/config/boot.rb +6 -0
  72. data/rails-3.1-app/config/database.yml +7 -0
  73. data/rails-3.1-app/config/environment.rb +5 -0
  74. data/rails-3.1-app/config/environments/development.rb +30 -0
  75. data/rails-3.1-app/config/environments/production.rb +60 -0
  76. data/rails-3.1-app/config/environments/test.rb +39 -0
  77. data/rails-3.1-app/config/initializers/backtrace_silencers.rb +7 -0
  78. data/rails-3.1-app/config/initializers/captivus.rb +4 -0
  79. data/rails-3.1-app/config/initializers/inflections.rb +10 -0
  80. data/rails-3.1-app/config/initializers/mime_types.rb +5 -0
  81. data/rails-3.1-app/config/initializers/secret_token.rb +7 -0
  82. data/rails-3.1-app/config/initializers/session_store.rb +8 -0
  83. data/rails-3.1-app/config/initializers/wrap_parameters.rb +14 -0
  84. data/rails-3.1-app/config/locales/en.yml +5 -0
  85. data/rails-3.1-app/config/routes.rb +59 -0
  86. data/rails-3.1-app/config.ru +4 -0
  87. data/rails-3.1-app/db/seeds.rb +7 -0
  88. data/rails-3.1-app/public/404.html +26 -0
  89. data/rails-3.1-app/public/422.html +26 -0
  90. data/rails-3.1-app/public/500.html +26 -0
  91. data/rails-3.1-app/public/favicon.ico +0 -0
  92. data/rails-3.1-app/public/index.html +241 -0
  93. data/rails-3.1-app/public/robots.txt +5 -0
  94. data/rails-3.1-app/script/rails +6 -0
  95. data/rails-3.1-app/spec/requests/events_from_rails_spec.rb +115 -0
  96. data/rails-3.1-app/spec/spec_helper.rb +38 -0
  97. data/rails-3.1-app/spec/support/captivus_api.rb +1 -0
  98. data/rails-3.2-app/.rspec +1 -0
  99. data/rails-3.2-app/Gemfile +47 -0
  100. data/rails-3.2-app/README.rdoc +261 -0
  101. data/rails-3.2-app/Rakefile +7 -0
  102. data/rails-3.2-app/app/assets/images/rails.png +0 -0
  103. data/rails-3.2-app/app/assets/javascripts/application.js +15 -0
  104. data/rails-3.2-app/app/assets/stylesheets/application.css +13 -0
  105. data/rails-3.2-app/app/controllers/application_controller.rb +3 -0
  106. data/rails-3.2-app/app/controllers/errors_controller.rb +5 -0
  107. data/rails-3.2-app/app/helpers/application_helper.rb +2 -0
  108. data/rails-3.2-app/app/views/layouts/application.html.erb +14 -0
  109. data/rails-3.2-app/config/application.rb +68 -0
  110. data/rails-3.2-app/config/boot.rb +6 -0
  111. data/rails-3.2-app/config/database.yml +7 -0
  112. data/rails-3.2-app/config/environment.rb +5 -0
  113. data/rails-3.2-app/config/environments/development.rb +37 -0
  114. data/rails-3.2-app/config/environments/production.rb +67 -0
  115. data/rails-3.2-app/config/environments/test.rb +37 -0
  116. data/rails-3.2-app/config/initializers/backtrace_silencers.rb +7 -0
  117. data/rails-3.2-app/config/initializers/captivus.rb +4 -0
  118. data/rails-3.2-app/config/initializers/inflections.rb +15 -0
  119. data/rails-3.2-app/config/initializers/mime_types.rb +5 -0
  120. data/rails-3.2-app/config/initializers/secret_token.rb +7 -0
  121. data/rails-3.2-app/config/initializers/session_store.rb +8 -0
  122. data/rails-3.2-app/config/initializers/wrap_parameters.rb +14 -0
  123. data/rails-3.2-app/config/locales/en.yml +5 -0
  124. data/rails-3.2-app/config/routes.rb +59 -0
  125. data/rails-3.2-app/config.ru +4 -0
  126. data/rails-3.2-app/db/schema.rb +16 -0
  127. data/rails-3.2-app/db/seeds.rb +7 -0
  128. data/rails-3.2-app/public/404.html +26 -0
  129. data/rails-3.2-app/public/422.html +26 -0
  130. data/rails-3.2-app/public/500.html +25 -0
  131. data/rails-3.2-app/public/favicon.ico +0 -0
  132. data/rails-3.2-app/public/index.html +241 -0
  133. data/rails-3.2-app/public/robots.txt +5 -0
  134. data/rails-3.2-app/script/rails +6 -0
  135. data/rails-3.2-app/spec/requests/events_from_rails_spec.rb +115 -0
  136. data/rails-3.2-app/spec/spec_helper.rb +38 -0
  137. data/rails-3.2-app/spec/support/captivus_api.rb +1 -0
  138. data/spec/captivus/backtrace/line_spec.rb +20 -10
  139. data/spec/captivus/backtrace_spec.rb +1 -3
  140. data/spec/captivus/configuration_spec.rb +3 -1
  141. data/spec/captivus/notifier_spec.rb +73 -0
  142. data/spec/captivus/payload_spec.rb +293 -28
  143. data/spec/captivus/rack_capturer_spec.rb +32 -15
  144. data/spec/captivus/rails_capturer_spec.rb +59 -0
  145. data/spec/captivus_spec.rb +50 -29
  146. data/spec/integration/events_from_rack_spec.rb +112 -74
  147. data/spec/spec_helper.rb +6 -29
  148. data/spec/support/captivus_api.rb +29 -0
  149. data/spec/support/delorean.rb +5 -0
  150. metadata +154 -4
@@ -0,0 +1,241 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Ruby on Rails: Welcome aboard</title>
5
+ <style type="text/css" media="screen">
6
+ body {
7
+ margin: 0;
8
+ margin-bottom: 25px;
9
+ padding: 0;
10
+ background-color: #f0f0f0;
11
+ font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
12
+ font-size: 13px;
13
+ color: #333;
14
+ }
15
+
16
+ h1 {
17
+ font-size: 28px;
18
+ color: #000;
19
+ }
20
+
21
+ a {color: #03c}
22
+ a:hover {
23
+ background-color: #03c;
24
+ color: white;
25
+ text-decoration: none;
26
+ }
27
+
28
+
29
+ #page {
30
+ background-color: #f0f0f0;
31
+ width: 750px;
32
+ margin: 0;
33
+ margin-left: auto;
34
+ margin-right: auto;
35
+ }
36
+
37
+ #content {
38
+ float: left;
39
+ background-color: white;
40
+ border: 3px solid #aaa;
41
+ border-top: none;
42
+ padding: 25px;
43
+ width: 500px;
44
+ }
45
+
46
+ #sidebar {
47
+ float: right;
48
+ width: 175px;
49
+ }
50
+
51
+ #footer {
52
+ clear: both;
53
+ }
54
+
55
+ #header, #about, #getting-started {
56
+ padding-left: 75px;
57
+ padding-right: 30px;
58
+ }
59
+
60
+
61
+ #header {
62
+ background-image: url("/assets/rails.png");
63
+ background-repeat: no-repeat;
64
+ background-position: top left;
65
+ height: 64px;
66
+ }
67
+ #header h1, #header h2 {margin: 0}
68
+ #header h2 {
69
+ color: #888;
70
+ font-weight: normal;
71
+ font-size: 16px;
72
+ }
73
+
74
+
75
+ #about h3 {
76
+ margin: 0;
77
+ margin-bottom: 10px;
78
+ font-size: 14px;
79
+ }
80
+
81
+ #about-content {
82
+ background-color: #ffd;
83
+ border: 1px solid #fc0;
84
+ margin-left: -55px;
85
+ margin-right: -10px;
86
+ }
87
+ #about-content table {
88
+ margin-top: 10px;
89
+ margin-bottom: 10px;
90
+ font-size: 11px;
91
+ border-collapse: collapse;
92
+ }
93
+ #about-content td {
94
+ padding: 10px;
95
+ padding-top: 3px;
96
+ padding-bottom: 3px;
97
+ }
98
+ #about-content td.name {color: #555}
99
+ #about-content td.value {color: #000}
100
+
101
+ #about-content ul {
102
+ padding: 0;
103
+ list-style-type: none;
104
+ }
105
+
106
+ #about-content.failure {
107
+ background-color: #fcc;
108
+ border: 1px solid #f00;
109
+ }
110
+ #about-content.failure p {
111
+ margin: 0;
112
+ padding: 10px;
113
+ }
114
+
115
+
116
+ #getting-started {
117
+ border-top: 1px solid #ccc;
118
+ margin-top: 25px;
119
+ padding-top: 15px;
120
+ }
121
+ #getting-started h1 {
122
+ margin: 0;
123
+ font-size: 20px;
124
+ }
125
+ #getting-started h2 {
126
+ margin: 0;
127
+ font-size: 14px;
128
+ font-weight: normal;
129
+ color: #333;
130
+ margin-bottom: 25px;
131
+ }
132
+ #getting-started ol {
133
+ margin-left: 0;
134
+ padding-left: 0;
135
+ }
136
+ #getting-started li {
137
+ font-size: 18px;
138
+ color: #888;
139
+ margin-bottom: 25px;
140
+ }
141
+ #getting-started li h2 {
142
+ margin: 0;
143
+ font-weight: normal;
144
+ font-size: 18px;
145
+ color: #333;
146
+ }
147
+ #getting-started li p {
148
+ color: #555;
149
+ font-size: 13px;
150
+ }
151
+
152
+
153
+ #sidebar ul {
154
+ margin-left: 0;
155
+ padding-left: 0;
156
+ }
157
+ #sidebar ul h3 {
158
+ margin-top: 25px;
159
+ font-size: 16px;
160
+ padding-bottom: 10px;
161
+ border-bottom: 1px solid #ccc;
162
+ }
163
+ #sidebar li {
164
+ list-style-type: none;
165
+ }
166
+ #sidebar ul.links li {
167
+ margin-bottom: 5px;
168
+ }
169
+
170
+ .filename {
171
+ font-style: italic;
172
+ }
173
+ </style>
174
+ <script type="text/javascript">
175
+ function about() {
176
+ info = document.getElementById('about-content');
177
+ if (window.XMLHttpRequest)
178
+ { xhr = new XMLHttpRequest(); }
179
+ else
180
+ { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
181
+ xhr.open("GET","rails/info/properties",false);
182
+ xhr.send("");
183
+ info.innerHTML = xhr.responseText;
184
+ info.style.display = 'block'
185
+ }
186
+ </script>
187
+ </head>
188
+ <body>
189
+ <div id="page">
190
+ <div id="sidebar">
191
+ <ul id="sidebar-items">
192
+ <li>
193
+ <h3>Browse the documentation</h3>
194
+ <ul class="links">
195
+ <li><a href="http://guides.rubyonrails.org/">Rails Guides</a></li>
196
+ <li><a href="http://api.rubyonrails.org/">Rails API</a></li>
197
+ <li><a href="http://www.ruby-doc.org/core/">Ruby core</a></li>
198
+ <li><a href="http://www.ruby-doc.org/stdlib/">Ruby standard library</a></li>
199
+ </ul>
200
+ </li>
201
+ </ul>
202
+ </div>
203
+
204
+ <div id="content">
205
+ <div id="header">
206
+ <h1>Welcome aboard</h1>
207
+ <h2>You&rsquo;re riding Ruby on Rails!</h2>
208
+ </div>
209
+
210
+ <div id="about">
211
+ <h3><a href="rails/info/properties" onclick="about(); return false">About your application&rsquo;s environment</a></h3>
212
+ <div id="about-content" style="display: none"></div>
213
+ </div>
214
+
215
+ <div id="getting-started">
216
+ <h1>Getting started</h1>
217
+ <h2>Here&rsquo;s how to get rolling:</h2>
218
+
219
+ <ol>
220
+ <li>
221
+ <h2>Use <code>rails generate</code> to create your models and controllers</h2>
222
+ <p>To see all available options, run it without parameters.</p>
223
+ </li>
224
+
225
+ <li>
226
+ <h2>Set up a default route and remove <span class="filename">public/index.html</span></h2>
227
+ <p>Routes are set up in <span class="filename">config/routes.rb</span>.</p>
228
+ </li>
229
+
230
+ <li>
231
+ <h2>Create your database</h2>
232
+ <p>Run <code>rake db:create</code> to create your database. If you're not using SQLite (the default), edit <span class="filename">config/database.yml</span> with your username and password.</p>
233
+ </li>
234
+ </ol>
235
+ </div>
236
+ </div>
237
+
238
+ <div id="footer">&nbsp;</div>
239
+ </div>
240
+ </body>
241
+ </html>
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,115 @@
1
+ require 'spec_helper'
2
+
3
+ feature "Events from Rails" do
4
+ before { Timecop.freeze Time.utc(2012, 8, 23, 16, 34, 19) }
5
+ after { Timecop.return }
6
+
7
+ scenario "reports errors to the Captivus API" do
8
+ Captivus.config.environment = 'production'
9
+
10
+ begin
11
+ visit '/error?username=austin&password=secret'
12
+ rescue Exception
13
+ end
14
+
15
+ expect(captivus_api.requests.size).to eq 1
16
+
17
+ last_request = captivus_api.requests[0]
18
+
19
+ headers = {
20
+ "CONTENT_TYPE"=>"application/json; charset=UTF-8",
21
+ "HTTP_ACCEPT" => "*/*",
22
+ "HTTP_USER_AGENT" => "Ruby",
23
+ "HTTP_DATE" => "Thu, 23 Aug 2012 16:34:19 GMT",
24
+ "HTTP_AUTHORIZATION" => "Captivus api-key:syLWMLH8mJ4jTFGO2lVe+9PfgVo=",
25
+ "PATH_INFO" => "/events",
26
+ "QUERY_STRING" => "",
27
+ "REQUEST_METHOD"=>"POST",
28
+ "SCRIPT_NAME" => "",
29
+ "SERVER_NAME" => "api.captiv.us",
30
+ "SERVER_PORT" => "80",
31
+ "rack.url_scheme" => "http"
32
+ }
33
+
34
+ expect(last_request.values_at(*headers.keys)).to eq headers.values
35
+
36
+ JSON(last_request['rack.input'].read).tap do |payload|
37
+ expect(payload.keys).to match_array %w[notifier event backtrace environment context]
38
+
39
+ payload['notifier'].tap do |notifier|
40
+ expect(notifier.keys).to match_array %w[name version language]
41
+
42
+ expect(notifier['name']).to eq 'captivus'
43
+ expect(notifier['version']).to eq Captivus::VERSION
44
+ expect(notifier['language']).to eq 'Ruby'
45
+ end
46
+
47
+ payload['event'].tap do |event|
48
+ expect(event.keys).to match_array %w[type message timestamp]
49
+
50
+ expect(event['type']).to eq 'Exception'
51
+ expect(event['message']).to eq 'Error from Rails 3.2 app'
52
+ expect(event['timestamp']).to eq '2012-08-23T16:34:19Z'
53
+ end
54
+
55
+ expect(payload['backtrace'].size > 10).to be_true
56
+ expect(payload['backtrace'][0..2]).to eq [{
57
+ "file" => "/Users/austin/projects/captivus/gem/rails-3.1-app/app/controllers/errors_controller.rb",
58
+ "number"=> 3,
59
+ "method" => "show"
60
+ }, {
61
+ "file" => "/Users/austin/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.8/lib/action_controller/metal/implicit_render.rb",
62
+ "number"=> 4,
63
+ "method" => "send_action"
64
+ }, {
65
+ "file" => "/Users/austin/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.8/lib/abstract_controller/base.rb",
66
+ "number"=> 167,
67
+ "method" => "process_action"
68
+ }]
69
+
70
+ payload['environment'].tap do |environment|
71
+ expect(environment.keys).to match_array %w[name]
72
+
73
+ expect(environment['name']).to eq 'production'
74
+ end
75
+
76
+ payload['context'].tap do |context|
77
+ expect(context.keys).to match_array %w[controller action params]
78
+
79
+ expect(context['controller']).to eq 'errors'
80
+ expect(context['action']).to eq 'show'
81
+ expect(context['params']).to eq({'username' => 'austin', 'password' => '[FILTERED]'})
82
+ end
83
+ end
84
+ end
85
+
86
+ scenario "by default, it doesn't report errors in development or test" do
87
+ Captivus.config.environment = 'review'
88
+ begin
89
+ visit '/error'
90
+ rescue Exception
91
+ end
92
+ expect(captivus_api.requests.size).to eq 1
93
+
94
+ Captivus.config.environment = 'demo'
95
+ begin
96
+ visit '/error'
97
+ rescue Exception
98
+ end
99
+ expect(captivus_api.requests.size).to eq 2
100
+
101
+ Captivus.config.environment = 'development'
102
+ begin
103
+ visit '/error'
104
+ rescue Exception
105
+ end
106
+ expect(captivus_api.requests.size).to eq 2
107
+
108
+ Captivus.config.environment = 'test'
109
+ begin
110
+ visit '/error'
111
+ rescue Exception
112
+ end
113
+ expect(captivus_api.requests.size).to eq 2
114
+ end
115
+ end
@@ -0,0 +1,38 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../../config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # in spec/support/ and its subdirectories.
9
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+ # ## Mock Framework
13
+ #
14
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
15
+ #
16
+ # config.mock_with :mocha
17
+ # config.mock_with :flexmock
18
+ # config.mock_with :rr
19
+
20
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
21
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
22
+
23
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
24
+ # examples within a transaction, remove the following line or assign false
25
+ # instead of true.
26
+ config.use_transactional_fixtures = true
27
+
28
+ # If true, the base class of anonymous controllers will be inferred
29
+ # automatically. This will be the default behavior in future versions of
30
+ # rspec-rails.
31
+ config.infer_base_class_for_anonymous_controllers = false
32
+
33
+ # Run specs in random order to surface order dependencies. If you find an
34
+ # order dependency and want to debug it, you can fix the order by providing
35
+ # the seed, which is printed after each run.
36
+ # --seed 1234
37
+ config.order = "random"
38
+ end
@@ -0,0 +1 @@
1
+ require_relative '../../../spec/support/captivus_api'
@@ -0,0 +1 @@
1
+ --color
@@ -0,0 +1,47 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'rails', '3.2.8'
4
+
5
+ # Bundle edge Rails instead:
6
+ # gem 'rails', :git => 'git://github.com/rails/rails.git'
7
+
8
+ gem 'pg'
9
+
10
+
11
+ # Gems used only for assets and not required
12
+ # in production environments by default.
13
+ group :assets do
14
+ gem 'sass-rails', '~> 3.2.3'
15
+ gem 'coffee-rails', '~> 3.2.1'
16
+
17
+ # See https://github.com/sstephenson/execjs#readme for more supported runtimes
18
+ # gem 'therubyracer', :platforms => :ruby
19
+
20
+ gem 'uglifier', '>= 1.0.3'
21
+ end
22
+
23
+ gem 'jquery-rails'
24
+
25
+ # To use ActiveModel has_secure_password
26
+ # gem 'bcrypt-ruby', '~> 3.0.0'
27
+
28
+ # To use Jbuilder templates for JSON
29
+ # gem 'jbuilder'
30
+
31
+ # Use unicorn as the app server
32
+ # gem 'unicorn'
33
+
34
+ # Deploy with Capistrano
35
+ # gem 'capistrano'
36
+
37
+ # To use debugger
38
+ # gem 'debugger'
39
+
40
+ gem 'captivus', :path => '..'
41
+
42
+ group :test do
43
+ gem "rspec-rails", "~> 2.11.4"
44
+ gem "capybara", "~> 1.1.2"
45
+ gem "sham_rack", "~> 1.3"
46
+ gem "timecop", '~> 0.5'
47
+ end