waitlist 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +27 -0
  3. data/app/assets/javascripts/waitlist/application.js +13 -0
  4. data/app/assets/stylesheets/waitlist/application.css +15 -0
  5. data/app/controllers/waitlist/application_controller.rb +4 -0
  6. data/app/controllers/waitlist/subscribers_controller.rb +20 -0
  7. data/app/helpers/waitlist/application_helper.rb +4 -0
  8. data/app/models/waitlist/subscriber.rb +6 -0
  9. data/app/views/layouts/waitlist/application.html.erb +14 -0
  10. data/app/views/waitlist/subscribers/new.html.erb +5 -0
  11. data/config/routes.rb +4 -0
  12. data/db/migrate/20140919201517_create_waitlist_subscribers.rb +8 -0
  13. data/lib/generators/waitlist/install/USAGE +13 -0
  14. data/lib/generators/waitlist/install/install_generator.rb +15 -0
  15. data/lib/tasks/waitlist_tasks.rake +4 -0
  16. data/lib/waitlist.rb +4 -0
  17. data/lib/waitlist/engine.rb +11 -0
  18. data/lib/waitlist/version.rb +3 -0
  19. data/spec/controllers/waitlist_subscribers_spec.rb +42 -0
  20. data/spec/dummy/README.rdoc +28 -0
  21. data/spec/dummy/Rakefile +6 -0
  22. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  23. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  24. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  25. data/spec/dummy/app/controllers/welcome_controller.rb +2 -0
  26. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  27. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  28. data/spec/dummy/app/views/welcome/index.html.erb +0 -0
  29. data/spec/dummy/bin/bundle +3 -0
  30. data/spec/dummy/bin/rails +4 -0
  31. data/spec/dummy/bin/rake +4 -0
  32. data/spec/dummy/config.ru +4 -0
  33. data/spec/dummy/config/application.rb +27 -0
  34. data/spec/dummy/config/boot.rb +5 -0
  35. data/spec/dummy/config/database.yml +25 -0
  36. data/spec/dummy/config/environment.rb +5 -0
  37. data/spec/dummy/config/environments/development.rb +37 -0
  38. data/spec/dummy/config/environments/production.rb +78 -0
  39. data/spec/dummy/config/environments/test.rb +39 -0
  40. data/spec/dummy/config/initializers/assets.rb +8 -0
  41. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  42. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  43. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  44. data/spec/dummy/config/initializers/inflections.rb +16 -0
  45. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  46. data/spec/dummy/config/initializers/session_store.rb +3 -0
  47. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  48. data/spec/dummy/config/locales/en.yml +23 -0
  49. data/spec/dummy/config/routes.rb +4 -0
  50. data/spec/dummy/config/secrets.yml +22 -0
  51. data/spec/dummy/db/development.sqlite3 +0 -0
  52. data/spec/dummy/db/migrate/20140925215627_create_prelaunch_subscribers.prelaunch.rb +9 -0
  53. data/spec/dummy/db/schema.rb +22 -0
  54. data/spec/dummy/db/test.sqlite3 +0 -0
  55. data/spec/dummy/log/development.log +244 -0
  56. data/spec/dummy/public/404.html +67 -0
  57. data/spec/dummy/public/422.html +67 -0
  58. data/spec/dummy/public/500.html +66 -0
  59. data/spec/dummy/public/favicon.ico +0 -0
  60. data/spec/dummy/tmp/generated_files/config/routes.rb +3 -0
  61. data/spec/lib/generators/install/install_generator_spec.rb +27 -0
  62. data/spec/models/subscriber_spec.rb +10 -0
  63. data/spec/rails_helper.rb +19 -0
  64. data/spec/routing/subscribers_routing_spec.rb +7 -0
  65. data/spec/spec_helper.rb +20 -0
  66. metadata +238 -0
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the Rails application.
5
+ Rails.application.initialize!
@@ -0,0 +1,37 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the web server when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Do not eager load code on boot.
10
+ config.eager_load = false
11
+
12
+ # Show full error reports and disable caching.
13
+ config.consider_all_requests_local = true
14
+ config.action_controller.perform_caching = false
15
+
16
+ # Don't care if the mailer can't send.
17
+ config.action_mailer.raise_delivery_errors = false
18
+
19
+ # Print deprecation notices to the Rails logger.
20
+ config.active_support.deprecation = :log
21
+
22
+ # Raise an error on page load if there are pending migrations.
23
+ config.active_record.migration_error = :page_load
24
+
25
+ # Debug mode disables concatenation and preprocessing of assets.
26
+ # This option may cause significant delays in view rendering with a large
27
+ # number of complex assets.
28
+ config.assets.debug = true
29
+
30
+ # Adds additional error checking when serving assets at runtime.
31
+ # Checks for improperly declared sprockets dependencies.
32
+ # Raises helpful error messages.
33
+ config.assets.raise_runtime_errors = true
34
+
35
+ # Raises error for missing translations
36
+ # config.action_view.raise_on_missing_translations = true
37
+ end
@@ -0,0 +1,78 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # Code is not reloaded between requests.
5
+ config.cache_classes = true
6
+
7
+ # Eager load code on boot. This eager loads most of Rails and
8
+ # your application in memory, allowing both threaded web servers
9
+ # and those relying on copy on write to perform better.
10
+ # Rake tasks automatically ignore this option for performance.
11
+ config.eager_load = true
12
+
13
+ # Full error reports are disabled and caching is turned on.
14
+ config.consider_all_requests_local = false
15
+ config.action_controller.perform_caching = true
16
+
17
+ # Enable Rack::Cache to put a simple HTTP cache in front of your application
18
+ # Add `rack-cache` to your Gemfile before enabling this.
19
+ # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
20
+ # config.action_dispatch.rack_cache = true
21
+
22
+ # Disable Rails's static asset server (Apache or nginx will already do this).
23
+ config.serve_static_assets = false
24
+
25
+ # Compress JavaScripts and CSS.
26
+ config.assets.js_compressor = :uglifier
27
+ # config.assets.css_compressor = :sass
28
+
29
+ # Do not fallback to assets pipeline if a precompiled asset is missed.
30
+ config.assets.compile = false
31
+
32
+ # Generate digests for assets URLs.
33
+ config.assets.digest = true
34
+
35
+ # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
36
+
37
+ # Specifies the header that your server uses for sending files.
38
+ # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
39
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
40
+
41
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
42
+ # config.force_ssl = true
43
+
44
+ # Set to :debug to see everything in the log.
45
+ config.log_level = :info
46
+
47
+ # Prepend all log lines with the following tags.
48
+ # config.log_tags = [ :subdomain, :uuid ]
49
+
50
+ # Use a different logger for distributed setups.
51
+ # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
52
+
53
+ # Use a different cache store in production.
54
+ # config.cache_store = :mem_cache_store
55
+
56
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
57
+ # config.action_controller.asset_host = "http://assets.example.com"
58
+
59
+ # Ignore bad email addresses and do not raise email delivery errors.
60
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
61
+ # config.action_mailer.raise_delivery_errors = false
62
+
63
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
64
+ # the I18n.default_locale when a translation cannot be found).
65
+ config.i18n.fallbacks = true
66
+
67
+ # Send deprecation notices to registered listeners.
68
+ config.active_support.deprecation = :notify
69
+
70
+ # Disable automatic flushing of the log to improve performance.
71
+ # config.autoflush_log = false
72
+
73
+ # Use default logging formatter so that PID and timestamp are not suppressed.
74
+ config.log_formatter = ::Logger::Formatter.new
75
+
76
+ # Do not dump schema after migrations.
77
+ config.active_record.dump_schema_after_migration = false
78
+ end
@@ -0,0 +1,39 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.cache_classes = true
9
+
10
+ # Do not eager load code on boot. This avoids loading your whole application
11
+ # just for the purpose of running a single test. If you are using a tool that
12
+ # preloads Rails for running tests, you may have to set it to true.
13
+ config.eager_load = false
14
+
15
+ # Configure static asset server for tests with Cache-Control for performance.
16
+ config.serve_static_assets = true
17
+ config.static_cache_control = 'public, max-age=3600'
18
+
19
+ # Show full error reports and disable caching.
20
+ config.consider_all_requests_local = true
21
+ config.action_controller.perform_caching = false
22
+
23
+ # Raise exceptions instead of rendering exception templates.
24
+ config.action_dispatch.show_exceptions = false
25
+
26
+ # Disable request forgery protection in test environment.
27
+ config.action_controller.allow_forgery_protection = false
28
+
29
+ # Tell Action Mailer not to deliver emails to the real world.
30
+ # The :test delivery method accumulates sent emails in the
31
+ # ActionMailer::Base.deliveries array.
32
+ config.action_mailer.delivery_method = :test
33
+
34
+ # Print deprecation notices to the stderr.
35
+ config.active_support.deprecation = :stderr
36
+
37
+ # Raises error for missing translations
38
+ # config.action_view.raise_on_missing_translations = true
39
+ end
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Version of your assets, change this if you want to expire all your assets.
4
+ Rails.application.config.assets.version = '1.0'
5
+
6
+ # Precompile additional assets.
7
+ # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
8
+ # Rails.application.config.assets.precompile += %w( search.js )
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,3 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Rails.application.config.action_dispatch.cookies_serializer = :json
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Configure sensitive parameters which will be filtered from the log file.
4
+ Rails.application.config.filter_parameters += [:password]
@@ -0,0 +1,16 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format. Inflections
4
+ # are locale specific, and you may define rules for as many different
5
+ # locales as you wish. All of these examples are active by default:
6
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
7
+ # inflect.plural /^(ox)$/i, '\1en'
8
+ # inflect.singular /^(ox)en/i, '\1'
9
+ # inflect.irregular 'person', 'people'
10
+ # inflect.uncountable %w( fish sheep )
11
+ # end
12
+
13
+ # These inflection rules are supported but not enabled by default:
14
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
15
+ # inflect.acronym 'RESTful'
16
+ # end
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
@@ -0,0 +1,3 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Rails.application.config.session_store :cookie_store, key: '_dummy_session'
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # This file contains settings for ActionController::ParamsWrapper which
4
+ # is enabled by default.
5
+
6
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
+ ActiveSupport.on_load(:action_controller) do
8
+ wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
9
+ end
10
+
11
+ # To enable root element in JSON for ActiveRecord objects.
12
+ # ActiveSupport.on_load(:active_record) do
13
+ # self.include_root_in_json = true
14
+ # end
@@ -0,0 +1,23 @@
1
+ # Files in the config/locales directory are used for internationalization
2
+ # and are automatically loaded by Rails. If you want to use locales other
3
+ # than English, add the necessary files in this directory.
4
+ #
5
+ # To use the locales, use `I18n.t`:
6
+ #
7
+ # I18n.t 'hello'
8
+ #
9
+ # In views, this is aliased to just `t`:
10
+ #
11
+ # <%= t('hello') %>
12
+ #
13
+ # To use a different locale, set it with `I18n.locale`:
14
+ #
15
+ # I18n.locale = :es
16
+ #
17
+ # This would use the information in config/locales/es.yml.
18
+ #
19
+ # To learn more, please read the Rails Internationalization guide
20
+ # available at http://guides.rubyonrails.org/i18n.html.
21
+
22
+ en:
23
+ hello: "Hello world"
@@ -0,0 +1,4 @@
1
+ Rails.application.routes.draw do
2
+ root 'welcome#index'
3
+ mount Waitlist::Engine => "/waitlist", as: "waitlist"
4
+ end
@@ -0,0 +1,22 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key is used for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+
6
+ # Make sure the secret is at least 30 characters and all random,
7
+ # no regular words or you'll be exposed to dictionary attacks.
8
+ # You can use `rake secret` to generate a secure secret key.
9
+
10
+ # Make sure the secrets in this file are kept private
11
+ # if you're sharing your code publicly.
12
+
13
+ development:
14
+ secret_key_base: 20abea895fc60ab194c02c06668071f11562a9186fcf72433b07d67e40b7ad36173f44071f8e11b1d1fd681b8ae888fbe24017d5a7470b506a606e601d18dc3f
15
+
16
+ test:
17
+ secret_key_base: 987dc19825ddc0fceef9f8732b4d9300686978b34db957b80fc48e28e2308cb201e7b74c76f005b6c304b97e323d232a64317e3766a46cf84777d2e94b384c81
18
+
19
+ # Do not keep production secrets in the repository,
20
+ # instead read values from the environment.
21
+ production:
22
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Binary file
@@ -0,0 +1,9 @@
1
+ # This migration comes from prelaunch (originally 20140919201517)
2
+ class CreatePrelaunchSubscribers < ActiveRecord::Migration
3
+ def change
4
+ create_table :prelaunch_subscribers do |t|
5
+ t.string :email
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,22 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended that you check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(version: 20140919201517) do
15
+
16
+ create_table "waitlist_subscribers", force: true do |t|
17
+ t.string "email"
18
+ t.datetime "created_at"
19
+ t.datetime "updated_at"
20
+ end
21
+
22
+ end
Binary file
@@ -0,0 +1,244 @@
1
+  (5.2ms) CREATE TABLE "prelaunch_subscribers" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "created_at" datetime, "updated_at" datetime) 
2
+  (0.9ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
3
+  (0.0ms) select sqlite_version(*)
4
+  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
5
+  (0.1ms) SELECT version FROM "schema_migrations"
6
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20140919201517')
7
+  (1.0ms) CREATE TABLE "prelaunch_subscribers" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "created_at" datetime, "updated_at" datetime) 
8
+  (0.8ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
9
+  (0.0ms) select sqlite_version(*)
10
+  (0.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
11
+  (0.1ms) SELECT version FROM "schema_migrations"
12
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20140919201517')
13
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
14
+  (0.1ms) begin transaction
15
+ Processing by Prelaunch::SubscribersController#create as HTML
16
+ Parameters: {"subscriber"=>{"email"=>"valid.address@thegarage.us"}}
17
+  (0.0ms) SAVEPOINT active_record_1
18
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'valid.address@thegarage.us' LIMIT 1
19
+ SQL (0.2ms) INSERT INTO "prelaunch_subscribers" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-09-23 21:50:52.526470"], ["email", "valid.address@thegarage.us"], ["updated_at", "2014-09-23 21:50:52.526470"]]
20
+  (0.0ms) RELEASE SAVEPOINT active_record_1
21
+ Redirected to http://test.host/prelaunch/
22
+ Completed 302 Found in 16ms (ActiveRecord: 0.6ms)
23
+  (0.4ms) rollback transaction
24
+  (0.0ms) begin transaction
25
+ Processing by Prelaunch::SubscribersController#create as JSON
26
+ Parameters: {"subscriber"=>{"email"=>"this isn't an email address"}}
27
+  (0.0ms) SAVEPOINT active_record_1
28
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
29
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
30
+ Completed 422 Unprocessable Entity in 5ms (Views: 0.2ms | ActiveRecord: 0.1ms)
31
+  (0.0ms) rollback transaction
32
+  (0.0ms) begin transaction
33
+ Processing by Prelaunch::SubscribersController#create as HTML
34
+ Parameters: {"subscriber"=>{"email"=>"this isn't an email address"}}
35
+  (0.0ms) SAVEPOINT active_record_1
36
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
37
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
38
+ Completed 200 OK in 4ms (Views: 2.1ms | ActiveRecord: 0.1ms)
39
+  (0.1ms) rollback transaction
40
+  (0.0ms) begin transaction
41
+ Processing by Prelaunch::SubscribersController#new as HTML
42
+ Completed 200 OK in 2ms (Views: 1.7ms | ActiveRecord: 0.0ms)
43
+  (0.0ms) rollback transaction
44
+  (0.0ms) begin transaction
45
+ Processing by Prelaunch::SubscribersController#new as HTML
46
+ Completed 200 OK in 2ms (Views: 1.5ms | ActiveRecord: 0.0ms)
47
+  (0.0ms) rollback transaction
48
+  (0.0ms) begin transaction
49
+  (0.0ms) rollback transaction
50
+  (0.0ms) begin transaction
51
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" IS NULL LIMIT 1
52
+ Prelaunch::Subscriber Exists (0.0ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" IS NULL LIMIT 1
53
+  (0.0ms) rollback transaction
54
+  (0.0ms) begin transaction
55
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'valid.email@thegarage.us' LIMIT 1
56
+  (0.0ms) rollback transaction
57
+  (0.0ms) begin transaction
58
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
59
+ Prelaunch::Subscriber Exists (0.0ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
60
+  (0.0ms) rollback transaction
61
+  (0.0ms) begin transaction
62
+  (0.0ms) rollback transaction
63
+  (0.0ms) begin transaction
64
+  (0.0ms) rollback transaction
65
+  (5.2ms) CREATE TABLE "prelaunch_subscribers" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "created_at" datetime, "updated_at" datetime) 
66
+  (0.9ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
67
+  (0.0ms) select sqlite_version(*)
68
+  (0.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
69
+  (0.1ms) SELECT version FROM "schema_migrations"
70
+  (0.6ms) INSERT INTO "schema_migrations" (version) VALUES ('20140919201517')
71
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
72
+  (0.1ms) begin transaction
73
+  (0.0ms) rollback transaction
74
+  (0.0ms) begin transaction
75
+  (0.0ms) rollback transaction
76
+  (0.0ms) begin transaction
77
+ Processing by Prelaunch::SubscribersController#new as HTML
78
+ Rendered /Users/ryansonnek/Projects/prelaunch/app/views/prelaunch/subscribers/new.html.erb within layouts/prelaunch/application (0.2ms)
79
+ Completed 200 OK in 5ms (Views: 4.6ms | ActiveRecord: 0.2ms)
80
+  (0.0ms) rollback transaction
81
+  (0.0ms) begin transaction
82
+ Processing by Prelaunch::SubscribersController#new as HTML
83
+ Completed 200 OK in 2ms (Views: 1.6ms | ActiveRecord: 0.0ms)
84
+  (0.0ms) rollback transaction
85
+  (0.0ms) begin transaction
86
+ Processing by Prelaunch::SubscribersController#create as HTML
87
+ Parameters: {"subscriber"=>{"email"=>"this isn't an email address"}}
88
+  (0.0ms) SAVEPOINT active_record_1
89
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
90
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
91
+ Completed 200 OK in 16ms (Views: 1.6ms | ActiveRecord: 0.2ms)
92
+  (0.0ms) rollback transaction
93
+  (0.0ms) begin transaction
94
+ Processing by Prelaunch::SubscribersController#create as HTML
95
+ Parameters: {"subscriber"=>{"email"=>"valid.address@thegarage.us"}}
96
+  (0.0ms) SAVEPOINT active_record_1
97
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'valid.address@thegarage.us' LIMIT 1
98
+ SQL (0.3ms) INSERT INTO "prelaunch_subscribers" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-09-23 21:52:14.256616"], ["email", "valid.address@thegarage.us"], ["updated_at", "2014-09-23 21:52:14.256616"]]
99
+  (0.0ms) RELEASE SAVEPOINT active_record_1
100
+ Redirected to http://test.host/prelaunch/
101
+ Completed 302 Found in 5ms (ActiveRecord: 0.5ms)
102
+  (4.4ms) rollback transaction
103
+  (0.1ms) begin transaction
104
+ Processing by Prelaunch::SubscribersController#create as JSON
105
+ Parameters: {"subscriber"=>{"email"=>"this isn't an email address"}}
106
+  (0.0ms) SAVEPOINT active_record_1
107
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
108
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
109
+ Completed 422 Unprocessable Entity in 3ms (Views: 0.2ms | ActiveRecord: 0.2ms)
110
+  (0.0ms) rollback transaction
111
+  (0.0ms) begin transaction
112
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
113
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
114
+  (0.0ms) rollback transaction
115
+  (0.0ms) begin transaction
116
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" IS NULL LIMIT 1
117
+ Prelaunch::Subscriber Exists (0.0ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" IS NULL LIMIT 1
118
+  (0.0ms) rollback transaction
119
+  (0.0ms) begin transaction
120
+  (0.0ms) rollback transaction
121
+  (0.0ms) begin transaction
122
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'valid.email@thegarage.us' LIMIT 1
123
+  (0.0ms) rollback transaction
124
+  (5.2ms) CREATE TABLE "prelaunch_subscribers" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "created_at" datetime, "updated_at" datetime) 
125
+  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
126
+  (0.0ms) select sqlite_version(*)
127
+  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
128
+  (0.1ms) SELECT version FROM "schema_migrations"
129
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20140919201517')
130
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
131
+  (0.1ms) begin transaction
132
+  (0.0ms) rollback transaction
133
+  (0.0ms) begin transaction
134
+  (0.0ms) rollback transaction
135
+  (0.0ms) begin transaction
136
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'valid.email@thegarage.us' LIMIT 1
137
+  (0.1ms) rollback transaction
138
+  (0.1ms) begin transaction
139
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
140
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
141
+  (0.1ms) rollback transaction
142
+  (0.1ms) begin transaction
143
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" IS NULL LIMIT 1
144
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" IS NULL LIMIT 1
145
+  (0.1ms) rollback transaction
146
+  (0.0ms) begin transaction
147
+  (0.0ms) rollback transaction
148
+  (0.0ms) begin transaction
149
+ Processing by Prelaunch::SubscribersController#create as HTML
150
+ Parameters: {"subscriber"=>{"email"=>"this isn't an email address"}}
151
+  (0.1ms) SAVEPOINT active_record_1
152
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
153
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
154
+ Rendered /Users/ryansonnek/Projects/prelaunch/app/views/prelaunch/subscribers/new.html.erb within layouts/prelaunch/application (0.3ms)
155
+ Completed 200 OK in 10ms (Views: 2.2ms | ActiveRecord: 0.2ms)
156
+  (0.1ms) rollback transaction
157
+  (0.0ms) begin transaction
158
+ Processing by Prelaunch::SubscribersController#create as JSON
159
+ Parameters: {"subscriber"=>{"email"=>"this isn't an email address"}}
160
+  (0.1ms) SAVEPOINT active_record_1
161
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
162
+  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1
163
+ Completed 422 Unprocessable Entity in 3ms (Views: 0.2ms | ActiveRecord: 0.3ms)
164
+  (0.0ms) rollback transaction
165
+  (0.0ms) begin transaction
166
+ Processing by Prelaunch::SubscribersController#create as HTML
167
+ Parameters: {"subscriber"=>{"email"=>"valid.address@thegarage.us"}}
168
+  (0.0ms) SAVEPOINT active_record_1
169
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'valid.address@thegarage.us' LIMIT 1
170
+ SQL (0.3ms) INSERT INTO "prelaunch_subscribers" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-09-23 21:52:26.397242"], ["email", "valid.address@thegarage.us"], ["updated_at", "2014-09-23 21:52:26.397242"]]
171
+  (0.0ms) RELEASE SAVEPOINT active_record_1
172
+ Redirected to http://test.host/prelaunch/
173
+ Completed 302 Found in 3ms (ActiveRecord: 0.5ms)
174
+  (0.4ms) rollback transaction
175
+  (0.1ms) begin transaction
176
+ Processing by Prelaunch::SubscribersController#new as HTML
177
+ Completed 200 OK in 2ms (Views: 1.8ms | ActiveRecord: 0.0ms)
178
+  (0.1ms) rollback transaction
179
+  (0.0ms) begin transaction
180
+ Processing by Prelaunch::SubscribersController#new as HTML
181
+ Completed 200 OK in 2ms (Views: 1.8ms | ActiveRecord: 0.0ms)
182
+  (0.1ms) rollback transaction
183
+  (5.6ms) CREATE TABLE "prelaunch_subscribers" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "created_at" datetime, "updated_at" datetime) 
184
+  (0.8ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
185
+  (0.0ms) select sqlite_version(*)
186
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
187
+  (0.1ms) SELECT version FROM "schema_migrations"
188
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20140919201517')
189
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
190
+  (0.1ms) begin transaction
191
+  (0.1ms) rollback transaction
192
+  (0.0ms) begin transaction
193
+  (0.1ms) rollback transaction
194
+  (0.1ms) begin transaction
195
+  (0.1ms) rollback transaction
196
+  (0.0ms) begin transaction
197
+  (0.0ms) rollback transaction
198
+  (0.1ms) begin transaction
199
+ Processing by Prelaunch::SubscribersController#create as JSON
200
+ Parameters: {"subscriber"=>{"email"=>"this isn't an email address"}}
201
+  (0.0ms) SAVEPOINT active_record_1
202
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
203
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
204
+ Completed 422 Unprocessable Entity in 15ms (Views: 0.2ms | ActiveRecord: 0.4ms)
205
+  (0.0ms) rollback transaction
206
+  (0.0ms) begin transaction
207
+ Processing by Prelaunch::SubscribersController#create as HTML
208
+ Parameters: {"subscriber"=>{"email"=>"valid.address@thegarage.us"}}
209
+  (0.0ms) SAVEPOINT active_record_1
210
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'valid.address@thegarage.us' LIMIT 1
211
+ SQL (0.4ms) INSERT INTO "prelaunch_subscribers" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-09-25 21:01:06.425717"], ["email", "valid.address@thegarage.us"], ["updated_at", "2014-09-25 21:01:06.425717"]]
212
+  (0.0ms) RELEASE SAVEPOINT active_record_1
213
+ Redirected to http://test.host/prelaunch/
214
+ Completed 302 Found in 17ms (ActiveRecord: 0.5ms)
215
+  (0.4ms) rollback transaction
216
+  (0.0ms) begin transaction
217
+ Processing by Prelaunch::SubscribersController#create as HTML
218
+ Parameters: {"subscriber"=>{"email"=>"this isn't an email address"}}
219
+  (0.0ms) SAVEPOINT active_record_1
220
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
221
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
222
+ Completed 200 OK in 5ms (Views: 2.1ms | ActiveRecord: 0.2ms)
223
+  (0.0ms) rollback transaction
224
+  (0.0ms) begin transaction
225
+ Processing by Prelaunch::SubscribersController#new as HTML
226
+ Completed 200 OK in 2ms (Views: 1.8ms | ActiveRecord: 0.0ms)
227
+  (0.0ms) rollback transaction
228
+  (0.0ms) begin transaction
229
+ Processing by Prelaunch::SubscribersController#new as HTML
230
+ Completed 200 OK in 2ms (Views: 1.8ms | ActiveRecord: 0.0ms)
231
+  (0.0ms) rollback transaction
232
+  (0.0ms) begin transaction
233
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'valid.email@thegarage.us' LIMIT 1
234
+  (0.0ms) rollback transaction
235
+  (0.0ms) begin transaction
236
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" IS NULL LIMIT 1
237
+ Prelaunch::Subscriber Exists (0.0ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" IS NULL LIMIT 1
238
+  (0.0ms) rollback transaction
239
+  (0.0ms) begin transaction
240
+  (0.0ms) rollback transaction
241
+  (0.0ms) begin transaction
242
+ Prelaunch::Subscriber Exists (0.1ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
243
+ Prelaunch::Subscriber Exists (0.0ms) SELECT 1 AS one FROM "prelaunch_subscribers" WHERE "prelaunch_subscribers"."email" = 'this isn''t an email address' LIMIT 1
244
+  (0.0ms) rollback transaction