spring 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. data/.travis.yml +3 -0
  2. data/CHANGELOG.md +13 -2
  3. data/Gemfile +1 -1
  4. data/README.md +16 -11
  5. data/lib/spring/application.rb +97 -20
  6. data/lib/spring/application_manager.rb +16 -9
  7. data/lib/spring/client.rb +1 -1
  8. data/lib/spring/client/binstub.rb +1 -1
  9. data/lib/spring/client/rails.rb +8 -3
  10. data/lib/spring/client/run.rb +23 -6
  11. data/lib/spring/client/status.rb +2 -2
  12. data/lib/spring/commands.rb +3 -0
  13. data/lib/spring/commands/rails.rb +7 -0
  14. data/lib/spring/configuration.rb +1 -1
  15. data/lib/spring/env.rb +8 -2
  16. data/lib/spring/errors.rb +15 -1
  17. data/lib/spring/server.rb +27 -14
  18. data/lib/spring/version.rb +1 -1
  19. data/lib/spring/watcher.rb +1 -0
  20. data/lib/spring/watcher/abstract.rb +9 -7
  21. data/lib/spring/watcher/polling.rb +1 -1
  22. data/test/acceptance/app_test.rb +168 -86
  23. data/test/apps/.gitignore +3 -0
  24. data/test/unit/watcher_test.rb +12 -0
  25. metadata +4 -134
  26. data/test/apps/rails-3-2/.gitignore +0 -18
  27. data/test/apps/rails-3-2/Gemfile +0 -7
  28. data/test/apps/rails-3-2/README.rdoc +0 -261
  29. data/test/apps/rails-3-2/Rakefile +0 -7
  30. data/test/apps/rails-3-2/app/assets/images/rails.png +0 -0
  31. data/test/apps/rails-3-2/app/assets/javascripts/application.js +0 -15
  32. data/test/apps/rails-3-2/app/assets/javascripts/posts.js.coffee +0 -3
  33. data/test/apps/rails-3-2/app/assets/stylesheets/application.css +0 -13
  34. data/test/apps/rails-3-2/app/assets/stylesheets/posts.css.scss +0 -3
  35. data/test/apps/rails-3-2/app/assets/stylesheets/scaffolds.css.scss +0 -69
  36. data/test/apps/rails-3-2/app/controllers/application_controller.rb +0 -3
  37. data/test/apps/rails-3-2/app/controllers/posts_controller.rb +0 -83
  38. data/test/apps/rails-3-2/app/helpers/application_helper.rb +0 -2
  39. data/test/apps/rails-3-2/app/helpers/posts_helper.rb +0 -2
  40. data/test/apps/rails-3-2/app/mailers/.gitkeep +0 -0
  41. data/test/apps/rails-3-2/app/models/.gitkeep +0 -0
  42. data/test/apps/rails-3-2/app/models/post.rb +0 -3
  43. data/test/apps/rails-3-2/app/views/layouts/application.html.erb +0 -14
  44. data/test/apps/rails-3-2/app/views/posts/_form.html.erb +0 -21
  45. data/test/apps/rails-3-2/app/views/posts/edit.html.erb +0 -6
  46. data/test/apps/rails-3-2/app/views/posts/index.html.erb +0 -23
  47. data/test/apps/rails-3-2/app/views/posts/new.html.erb +0 -5
  48. data/test/apps/rails-3-2/app/views/posts/show.html.erb +0 -10
  49. data/test/apps/rails-3-2/config.ru +0 -4
  50. data/test/apps/rails-3-2/config/application.rb +0 -62
  51. data/test/apps/rails-3-2/config/boot.rb +0 -6
  52. data/test/apps/rails-3-2/config/database.yml +0 -25
  53. data/test/apps/rails-3-2/config/environment.rb +0 -5
  54. data/test/apps/rails-3-2/config/environments/development.rb +0 -37
  55. data/test/apps/rails-3-2/config/environments/production.rb +0 -67
  56. data/test/apps/rails-3-2/config/environments/test.rb +0 -37
  57. data/test/apps/rails-3-2/config/initializers/backtrace_silencers.rb +0 -7
  58. data/test/apps/rails-3-2/config/initializers/inflections.rb +0 -15
  59. data/test/apps/rails-3-2/config/initializers/mime_types.rb +0 -5
  60. data/test/apps/rails-3-2/config/initializers/secret_token.rb +0 -7
  61. data/test/apps/rails-3-2/config/initializers/session_store.rb +0 -8
  62. data/test/apps/rails-3-2/config/initializers/wrap_parameters.rb +0 -14
  63. data/test/apps/rails-3-2/config/locales/en.yml +0 -5
  64. data/test/apps/rails-3-2/config/routes.rb +0 -60
  65. data/test/apps/rails-3-2/config/spring.rb +0 -7
  66. data/test/apps/rails-3-2/db/migrate/20121109171227_create_posts.rb +0 -9
  67. data/test/apps/rails-3-2/db/schema.rb +0 -22
  68. data/test/apps/rails-3-2/db/seeds.rb +0 -7
  69. data/test/apps/rails-3-2/lib/assets/.gitkeep +0 -0
  70. data/test/apps/rails-3-2/lib/tasks/.gitkeep +0 -0
  71. data/test/apps/rails-3-2/log/.gitkeep +0 -0
  72. data/test/apps/rails-3-2/public/404.html +0 -26
  73. data/test/apps/rails-3-2/public/422.html +0 -26
  74. data/test/apps/rails-3-2/public/500.html +0 -25
  75. data/test/apps/rails-3-2/public/favicon.ico +0 -0
  76. data/test/apps/rails-3-2/public/index.html +0 -241
  77. data/test/apps/rails-3-2/public/robots.txt +0 -5
  78. data/test/apps/rails-3-2/script/rails +0 -6
  79. data/test/apps/rails-3-2/spec/dummy_spec.rb +0 -5
  80. data/test/apps/rails-3-2/test/fixtures/.gitkeep +0 -0
  81. data/test/apps/rails-3-2/test/fixtures/posts.yml +0 -7
  82. data/test/apps/rails-3-2/test/functional/.gitkeep +0 -0
  83. data/test/apps/rails-3-2/test/functional/posts_controller_test.rb +0 -49
  84. data/test/apps/rails-3-2/test/integration/.gitkeep +0 -0
  85. data/test/apps/rails-3-2/test/test_helper.rb +0 -13
  86. data/test/apps/rails-3-2/test/unit/.gitkeep +0 -0
  87. data/test/apps/rails-3-2/test/unit/helpers/posts_helper_test.rb +0 -4
  88. data/test/apps/rails-3-2/test/unit/post_test.rb +0 -7
  89. data/test/apps/rails-3-2/vendor/assets/javascripts/.gitkeep +0 -0
  90. data/test/apps/rails-3-2/vendor/assets/stylesheets/.gitkeep +0 -0
  91. data/test/apps/rails-3-2/vendor/plugins/.gitkeep +0 -0
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env rake
2
- # Add your own tasks in files placed in lib/tasks ending in .rake,
3
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4
-
5
- require File.expand_path('../config/application', __FILE__)
6
-
7
- Rails32::Application.load_tasks
@@ -1,15 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // the compiled file.
9
- //
10
- // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
- // GO AFTER THE REQUIRES BELOW.
12
- //
13
- //= require jquery
14
- //= require jquery_ujs
15
- //= require_tree .
@@ -1,3 +0,0 @@
1
- # Place all the behaviors and hooks related to the matching controller here.
2
- # All this logic will automatically be available in application.js.
3
- # You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
@@ -1,13 +0,0 @@
1
- /*
2
- * This is a manifest file that'll be compiled into application.css, which will include all the files
3
- * listed below.
4
- *
5
- * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
- *
8
- * You're free to add application-wide styles to this file and they'll appear at the top of the
9
- * compiled file, but it's generally better to create a new file per style scope.
10
- *
11
- *= require_self
12
- *= require_tree .
13
- */
@@ -1,3 +0,0 @@
1
- // Place all the styles related to the Posts controller here.
2
- // They will automatically be included in application.css.
3
- // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -1,69 +0,0 @@
1
- body {
2
- background-color: #fff;
3
- color: #333;
4
- font-family: verdana, arial, helvetica, sans-serif;
5
- font-size: 13px;
6
- line-height: 18px;
7
- }
8
-
9
- p, ol, ul, td {
10
- font-family: verdana, arial, helvetica, sans-serif;
11
- font-size: 13px;
12
- line-height: 18px;
13
- }
14
-
15
- pre {
16
- background-color: #eee;
17
- padding: 10px;
18
- font-size: 11px;
19
- }
20
-
21
- a {
22
- color: #000;
23
- &:visited {
24
- color: #666;
25
- }
26
- &:hover {
27
- color: #fff;
28
- background-color: #000;
29
- }
30
- }
31
-
32
- div {
33
- &.field, &.actions {
34
- margin-bottom: 10px;
35
- }
36
- }
37
-
38
- #notice {
39
- color: green;
40
- }
41
-
42
- .field_with_errors {
43
- padding: 2px;
44
- background-color: red;
45
- display: table;
46
- }
47
-
48
- #error_explanation {
49
- width: 450px;
50
- border: 2px solid red;
51
- padding: 7px;
52
- padding-bottom: 0;
53
- margin-bottom: 20px;
54
- background-color: #f0f0f0;
55
- h2 {
56
- text-align: left;
57
- font-weight: bold;
58
- padding: 5px 5px 5px 15px;
59
- font-size: 12px;
60
- margin: -7px;
61
- margin-bottom: 0px;
62
- background-color: #c00;
63
- color: #fff;
64
- }
65
- ul li {
66
- font-size: 12px;
67
- list-style: square;
68
- }
69
- }
@@ -1,3 +0,0 @@
1
- class ApplicationController < ActionController::Base
2
- protect_from_forgery
3
- end
@@ -1,83 +0,0 @@
1
- class PostsController < ApplicationController
2
- # GET /posts
3
- # GET /posts.json
4
- def index
5
- @posts = Post.all
6
-
7
- respond_to do |format|
8
- format.html # index.html.erb
9
- format.json { render json: @posts }
10
- end
11
- end
12
-
13
- # GET /posts/1
14
- # GET /posts/1.json
15
- def show
16
- @post = Post.find(params[:id])
17
-
18
- respond_to do |format|
19
- format.html # show.html.erb
20
- format.json { render json: @post }
21
- end
22
- end
23
-
24
- # GET /posts/new
25
- # GET /posts/new.json
26
- def new
27
- @post = Post.new
28
-
29
- respond_to do |format|
30
- format.html # new.html.erb
31
- format.json { render json: @post }
32
- end
33
- end
34
-
35
- # GET /posts/1/edit
36
- def edit
37
- @post = Post.find(params[:id])
38
- end
39
-
40
- # POST /posts
41
- # POST /posts.json
42
- def create
43
- @post = Post.new(params[:post])
44
-
45
- respond_to do |format|
46
- if @post.save
47
- format.html { redirect_to @post, notice: 'Post was successfully created.' }
48
- format.json { render json: @post, status: :created, location: @post }
49
- else
50
- format.html { render action: "new" }
51
- format.json { render json: @post.errors, status: :unprocessable_entity }
52
- end
53
- end
54
- end
55
-
56
- # PUT /posts/1
57
- # PUT /posts/1.json
58
- def update
59
- @post = Post.find(params[:id])
60
-
61
- respond_to do |format|
62
- if @post.update_attributes(params[:post])
63
- format.html { redirect_to @post, notice: 'Post was successfully updated.' }
64
- format.json { head :no_content }
65
- else
66
- format.html { render action: "edit" }
67
- format.json { render json: @post.errors, status: :unprocessable_entity }
68
- end
69
- end
70
- end
71
-
72
- # DELETE /posts/1
73
- # DELETE /posts/1.json
74
- def destroy
75
- @post = Post.find(params[:id])
76
- @post.destroy
77
-
78
- respond_to do |format|
79
- format.html { redirect_to posts_url }
80
- format.json { head :no_content }
81
- end
82
- end
83
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,2 +0,0 @@
1
- module PostsHelper
2
- end
File without changes
File without changes
@@ -1,3 +0,0 @@
1
- class Post < ActiveRecord::Base
2
- attr_accessible :title
3
- end
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Rails32</title>
5
- <%= stylesheet_link_tag "application", :media => "all" %>
6
- <%= javascript_include_tag "application" %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>
@@ -1,21 +0,0 @@
1
- <%= form_for(@post) do |f| %>
2
- <% if @post.errors.any? %>
3
- <div id="error_explanation">
4
- <h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>
5
-
6
- <ul>
7
- <% @post.errors.full_messages.each do |msg| %>
8
- <li><%= msg %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
13
-
14
- <div class="field">
15
- <%= f.label :title %><br />
16
- <%= f.text_field :title %>
17
- </div>
18
- <div class="actions">
19
- <%= f.submit %>
20
- </div>
21
- <% end %>
@@ -1,6 +0,0 @@
1
- <h1>Editing post</h1>
2
-
3
- <%= render 'form' %>
4
-
5
- <%= link_to 'Show', @post %> |
6
- <%= link_to 'Back', posts_path %>
@@ -1,23 +0,0 @@
1
- <h1>Listing posts</h1>
2
-
3
- <table>
4
- <tr>
5
- <th>Title</th>
6
- <th></th>
7
- <th></th>
8
- <th></th>
9
- </tr>
10
-
11
- <% @posts.each do |post| %>
12
- <tr>
13
- <td><%= post.title %></td>
14
- <td><%= link_to 'Show', post %></td>
15
- <td><%= link_to 'Edit', edit_post_path(post) %></td>
16
- <td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td>
17
- </tr>
18
- <% end %>
19
- </table>
20
-
21
- <br />
22
-
23
- <%= link_to 'New Post', new_post_path %>
@@ -1,5 +0,0 @@
1
- <h1>New post</h1>
2
-
3
- <%= render 'form' %>
4
-
5
- <%= link_to 'Back', posts_path %>
@@ -1,10 +0,0 @@
1
- <p id="notice"><%= notice %></p>
2
-
3
- <p>
4
- <b>Title:</b>
5
- <%= @post.title %>
6
- </p>
7
-
8
-
9
- <%= link_to 'Edit', edit_post_path(@post) %> |
10
- <%= link_to 'Back', posts_path %>
@@ -1,4 +0,0 @@
1
- # This file is used by Rack-based servers to start the application.
2
-
3
- require ::File.expand_path('../config/environment', __FILE__)
4
- run Rails32::Application
@@ -1,62 +0,0 @@
1
- require File.expand_path('../boot', __FILE__)
2
-
3
- require 'rails/all'
4
-
5
- if defined?(Bundler)
6
- # If you precompile assets before deploying to production, use this line
7
- Bundler.require(*Rails.groups(:assets => %w(development test)))
8
- # If you want your assets lazily compiled in production, use this line
9
- # Bundler.require(:default, :assets, Rails.env)
10
- end
11
-
12
- module Rails32
13
- class Application < Rails::Application
14
- # Settings in config/environments/* take precedence over those specified here.
15
- # Application configuration should go into files in config/initializers
16
- # -- all .rb files in that directory are automatically loaded.
17
-
18
- # Custom directories with classes and modules you want to be autoloadable.
19
- # config.autoload_paths += %W(#{config.root}/extras)
20
-
21
- # Only load the plugins named here, in the order given (default is alphabetical).
22
- # :all can be used as a placeholder for all plugins not explicitly named.
23
- # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
24
-
25
- # Activate observers that should always be running.
26
- # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
27
-
28
- # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
29
- # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
30
- # config.time_zone = 'Central Time (US & Canada)'
31
-
32
- # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
33
- # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
34
- # config.i18n.default_locale = :de
35
-
36
- # Configure the default encoding used in templates for Ruby 1.9.
37
- config.encoding = "utf-8"
38
-
39
- # Configure sensitive parameters which will be filtered from the log file.
40
- config.filter_parameters += [:password]
41
-
42
- # Enable escaping HTML in JSON.
43
- config.active_support.escape_html_entities_in_json = true
44
-
45
- # Use SQL instead of Active Record's schema dumper when creating the database.
46
- # This is necessary if your schema can't be completely dumped by the schema dumper,
47
- # like if you have constraints or database-specific column types
48
- # config.active_record.schema_format = :sql
49
-
50
- # Enforce whitelist mode for mass assignment.
51
- # This will create an empty whitelist of attributes available for mass-assignment for all models
52
- # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
53
- # parameters by using an attr_accessible or attr_protected declaration.
54
- config.active_record.whitelist_attributes = true
55
-
56
- # Enable the asset pipeline
57
- config.assets.enabled = true
58
-
59
- # Version of your assets, change this if you want to expire all your assets
60
- config.assets.version = '1.0'
61
- end
62
- end
@@ -1,6 +0,0 @@
1
- require 'rubygems'
2
-
3
- # Set up gems listed in the Gemfile.
4
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
5
-
6
- require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
@@ -1,25 +0,0 @@
1
- # SQLite version 3.x
2
- # gem install sqlite3
3
- #
4
- # Ensure the SQLite 3 gem is defined in your Gemfile
5
- # gem 'sqlite3'
6
- development:
7
- adapter: sqlite3
8
- database: db/development.sqlite3
9
- pool: 5
10
- timeout: 5000
11
-
12
- # Warning: The database defined as "test" will be erased and
13
- # re-generated from your development database when you run "rake".
14
- # Do not set this db to the same as development or production.
15
- test:
16
- adapter: sqlite3
17
- database: db/test.sqlite3
18
- pool: 5
19
- timeout: 5000
20
-
21
- production:
22
- adapter: sqlite3
23
- database: db/production.sqlite3
24
- pool: 5
25
- timeout: 5000
@@ -1,5 +0,0 @@
1
- # Load the rails application
2
- require File.expand_path('../application', __FILE__)
3
-
4
- # Initialize the rails application
5
- Rails32::Application.initialize!
@@ -1,37 +0,0 @@
1
- Rails32::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
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
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
- # Only use best-standards-support built into browsers
23
- config.action_dispatch.best_standards_support = :builtin
24
-
25
- # Raise exception on mass assignment protection for Active Record models
26
- config.active_record.mass_assignment_sanitizer = :strict
27
-
28
- # Log the query plan for queries taking more than this (works
29
- # with SQLite, MySQL, and PostgreSQL)
30
- config.active_record.auto_explain_threshold_in_seconds = 0.5
31
-
32
- # Do not compress assets
33
- config.assets.compress = false
34
-
35
- # Expands the lines which load the assets
36
- config.assets.debug = true
37
- end