prelaunch 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +5 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +86 -0
  5. data/README.md +66 -0
  6. data/Rakefile +28 -0
  7. data/app/controllers/prelaunch/prelaunch_controller.rb +31 -0
  8. data/app/views/prelaunch/index.html +28 -0
  9. data/lib/generators/prelaunch/prelaunch_generator.rb +18 -0
  10. data/lib/generators/prelaunch/view_generator.rb +13 -0
  11. data/lib/generators/templates/prelaunch.rb +20 -0
  12. data/lib/prelaunch/constraint.rb +7 -0
  13. data/lib/prelaunch/engine.rb +9 -0
  14. data/lib/prelaunch/helpers.rb +23 -0
  15. data/lib/prelaunch/routing.rb +15 -0
  16. data/lib/prelaunch/version.rb +3 -0
  17. data/lib/prelaunch.rb +36 -0
  18. data/prelaunch.gemspec +22 -0
  19. data/test/controllers/prelaunch/prelaunch_controller_test.rb +6 -0
  20. data/test/dummy/Rakefile +3 -0
  21. data/test/dummy/app/controllers/application_controller.rb +2 -0
  22. data/test/dummy/app/controllers/test_controller.rb +4 -0
  23. data/test/dummy/app/helpers/application_helper.rb +2 -0
  24. data/test/dummy/app/views/layouts/application.html.erb +13 -0
  25. data/test/dummy/app/views/test/index.html.erb +1 -0
  26. data/test/dummy/bin/rails +3 -0
  27. data/test/dummy/config/application.rb +12 -0
  28. data/test/dummy/config/boot.rb +4 -0
  29. data/test/dummy/config/environment.rb +3 -0
  30. data/test/dummy/config/environments/development.rb +11 -0
  31. data/test/dummy/config/environments/test.rb +16 -0
  32. data/test/dummy/config/initializers/filter_parameter_logging.rb +1 -0
  33. data/test/dummy/config/initializers/prelaunch.rb +7 -0
  34. data/test/dummy/config/initializers/secret_token.rb +1 -0
  35. data/test/dummy/config/initializers/session_store.rb +1 -0
  36. data/test/dummy/config/routes.rb +7 -0
  37. data/test/dummy/config.ru +3 -0
  38. data/test/dummy/public/404.html +10 -0
  39. data/test/dummy/public/422.html +10 -0
  40. data/test/dummy/public/500.html +10 -0
  41. data/test/dummy/public/favicon.ico +0 -0
  42. data/test/prelaunch_test.rb +7 -0
  43. data/test/test_helper.rb +12 -0
  44. metadata +132 -0
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTI3ZjY3NzNlNzM2MzUwOGYxMjZlMTlmNDE4MjlmNzdlZTY0NGIwZg==
5
+ data.tar.gz: !binary |-
6
+ MTNhZTAxNGU5MzMzMmI1MzcxZWYzYTNkNzk2ZTg1NDU2MmI1NDhjNA==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NDkxMTQ4ZGI1NGE5NGQyNWIwNGZmNDZlZjBjY2RjOTEzZWZiNjcxZDMwY2Nm
10
+ ZTllZWUxNGE2YTU0NTJmZjA1ZDYxNTU5NzZjNWM3ZjBjZmMzM2E0ZDgwMzVh
11
+ Nzk1NTZiMTE4MzhkZmUxY2Y4OTljYTA1MzFkNDE4M2U0NjQyOGM=
12
+ data.tar.gz: !binary |-
13
+ M2NiNjJiYTliNTMyYjUyZGFkZmE2MGE4MzJhNzUzNjkzZWIxNGZhMzEwYTFh
14
+ OTFiODU0YjExOWNhY2UwYzVkNzkzNjg3M2VmNTU3OTgwMDdhZWQ4MWJlZTEx
15
+ MGQ5ZTQ3YWYwMmJiZTdmYzkyMmYxZWE0MzllNWU4MDBjZWM1YjU=
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ .bundle/
2
+ log/
3
+ pkg/
4
+ test/dummy/log/
5
+ test/dummy/tmp/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
data/Gemfile.lock ADDED
@@ -0,0 +1,86 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ prelaunch (0.0.4)
5
+ rails (>= 3.2.6, < 5)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actionmailer (4.0.0)
11
+ actionpack (= 4.0.0)
12
+ mail (~> 2.5.3)
13
+ actionpack (4.0.0)
14
+ activesupport (= 4.0.0)
15
+ builder (~> 3.1.0)
16
+ erubis (~> 2.7.0)
17
+ rack (~> 1.5.2)
18
+ rack-test (~> 0.6.2)
19
+ activemodel (4.0.0)
20
+ activesupport (= 4.0.0)
21
+ builder (~> 3.1.0)
22
+ activerecord (4.0.0)
23
+ activemodel (= 4.0.0)
24
+ activerecord-deprecated_finders (~> 1.0.2)
25
+ activesupport (= 4.0.0)
26
+ arel (~> 4.0.0)
27
+ activerecord-deprecated_finders (1.0.3)
28
+ activesupport (4.0.0)
29
+ i18n (~> 0.6, >= 0.6.4)
30
+ minitest (~> 4.2)
31
+ multi_json (~> 1.3)
32
+ thread_safe (~> 0.1)
33
+ tzinfo (~> 0.3.37)
34
+ arel (4.0.0)
35
+ atomic (1.1.13)
36
+ builder (3.1.4)
37
+ erubis (2.7.0)
38
+ hike (1.2.3)
39
+ i18n (0.6.5)
40
+ mail (2.5.4)
41
+ mime-types (~> 1.16)
42
+ treetop (~> 1.4.8)
43
+ mime-types (1.24)
44
+ minitest (4.7.5)
45
+ multi_json (1.7.9)
46
+ polyglot (0.3.3)
47
+ rack (1.5.2)
48
+ rack-test (0.6.2)
49
+ rack (>= 1.0)
50
+ rails (4.0.0)
51
+ actionmailer (= 4.0.0)
52
+ actionpack (= 4.0.0)
53
+ activerecord (= 4.0.0)
54
+ activesupport (= 4.0.0)
55
+ bundler (>= 1.3.0, < 2.0)
56
+ railties (= 4.0.0)
57
+ sprockets-rails (~> 2.0.0)
58
+ railties (4.0.0)
59
+ actionpack (= 4.0.0)
60
+ activesupport (= 4.0.0)
61
+ rake (>= 0.8.7)
62
+ thor (>= 0.18.1, < 2.0)
63
+ rake (10.1.0)
64
+ sprockets (2.10.0)
65
+ hike (~> 1.2)
66
+ multi_json (~> 1.0)
67
+ rack (~> 1.0)
68
+ tilt (~> 1.1, != 1.3.0)
69
+ sprockets-rails (2.0.0)
70
+ actionpack (>= 3.0)
71
+ activesupport (>= 3.0)
72
+ sprockets (~> 2.8)
73
+ thor (0.18.1)
74
+ thread_safe (0.1.2)
75
+ atomic
76
+ tilt (1.4.1)
77
+ treetop (1.4.15)
78
+ polyglot
79
+ polyglot (>= 0.3.1)
80
+ tzinfo (0.3.37)
81
+
82
+ PLATFORMS
83
+ ruby
84
+
85
+ DEPENDENCIES
86
+ prelaunch!
data/README.md ADDED
@@ -0,0 +1,66 @@
1
+ ## Prelaunch
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/prelaunch.png)](http://badge.fury.io/rb/prelaunch)
4
+
5
+ Prelaunch allows you to restrict access to the Rails app while it is still in development. It supports Rails 3.2.6 and onwards (4 included).
6
+
7
+ ### Installation
8
+ Add **Prelaunch** to your Gemfile with:
9
+
10
+ ```ruby
11
+ gem 'prelaunch'
12
+ ```
13
+
14
+ Run the bundle command to install it.
15
+
16
+ After you install prelaunch, generate routes and initializer with:
17
+
18
+ ```console
19
+ rails generate prelaunch
20
+ ```
21
+
22
+ Take a second to ensure that `prelaunch_routes` is at the top of your routes table, like this:
23
+
24
+ ```ruby
25
+ Example::Application.routes.draw do
26
+ prelaunch_routes
27
+
28
+ ...
29
+ ```
30
+
31
+ You can also take a look at `config/initializers/prelaunch.rb` to see configuration options.
32
+
33
+ If you want to customize placeholder page just do:
34
+
35
+ ```console
36
+ rails generate prelaunch:view
37
+ ```
38
+
39
+ and edit `app/views/prelaunch/index.html`.
40
+
41
+
42
+ ### Usage
43
+
44
+ Immediately after installing gem your app in production environment for every route will show:
45
+
46
+ ```html
47
+ Under construction
48
+ ```
49
+
50
+ To view contents of your app navigate to:
51
+
52
+ [http://localhost:3000/prelaunch/letmein](http://localhost:3000/prelaunch/letmein)
53
+
54
+ After doing so you can continue to use your app normally.
55
+
56
+ You can configure path prefix `prelaunch` and token `letmein` in `config/initializers/prelaunch.rb`. You can also pass `Array`, `Proc` or `lambda` instead of `String` to `config.token` for more complex token verification.
57
+
58
+ To give user ability to end the session and logout add this piece of code to some view:
59
+
60
+ ```ruby
61
+ <%= prelaunch_logout_link 'Logout' %>
62
+ ```
63
+
64
+ ### License
65
+
66
+ Prelaunch is released under the [MIT License](http://www.opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,28 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Prelaunch'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ Bundler::GemHelper.install_tasks
18
+
19
+ require 'rake/testtask'
20
+
21
+ Rake::TestTask.new(:test) do |t|
22
+ t.libs << 'lib'
23
+ t.libs << 'test'
24
+ t.pattern = 'test/**/*_test.rb'
25
+ t.verbose = false
26
+ end
27
+
28
+ task default: :test
@@ -0,0 +1,31 @@
1
+ module Prelaunch
2
+ class PrelaunchController < ActionController::Base
3
+ def index
4
+ if Prelaunch.redirect_url
5
+ redirect_to Prelaunch.redirect_url
6
+ else
7
+ render template: 'prelaunch/index'
8
+ end
9
+ end
10
+
11
+ def redirect
12
+ redirect_to '/'
13
+ end
14
+
15
+ def verify
16
+ if Prelaunch::valid? params[:token]
17
+ session[:prelaunch_token] = params[:token]
18
+ end
19
+
20
+ redirect_to '/'
21
+ end
22
+
23
+ def logout
24
+ if Prelaunch::valid? session[:prelaunch_token]
25
+ session[:prelaunch_token] = nil
26
+ end
27
+
28
+ redirect_to '/'
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <title>Under construction</title>
6
+
7
+ <style type="text/css">
8
+ .text {
9
+ color: #444444;
10
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
11
+ font-size : 30px;
12
+ line-height: 40px;
13
+ text-align: center;
14
+ display: block;
15
+ width: 280px;
16
+ position: absolute;
17
+ left: 50%;
18
+ top: 50%;
19
+ margin-left: -140px;
20
+ margin-top: -20px;
21
+ }
22
+ </style>
23
+ </head>
24
+
25
+ <body>
26
+ <span class='text'>Under construction</span>
27
+ </body>
28
+ </html>
@@ -0,0 +1,18 @@
1
+ module Prelaunch
2
+ module Generators
3
+ class PrelaunchGenerator < ::Rails::Generators::Base
4
+ source_root File.expand_path('../../templates', __FILE__)
5
+
6
+ namespace 'prelaunch'
7
+ desc "Description:\n Generate route and initializer for prelaunch"
8
+
9
+ def copy_initializer
10
+ template 'prelaunch.rb', 'config/initializers/prelaunch.rb'
11
+ end
12
+
13
+ def create_route
14
+ route 'prelaunch_routes'
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,13 @@
1
+ module Prelaunch
2
+ module Generators
3
+ class ViewGenerator < ::Rails::Generators::Base
4
+ source_root File.expand_path('../../../../app/views', __FILE__)
5
+
6
+ desc "Description:\n Copy Prelaunch view for customization"
7
+
8
+ def copy_views
9
+ copy_file 'prelaunch/index.html', 'app/views/prelaunch/index.html'
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,20 @@
1
+ # Use this hook to configure prelaunch
2
+ Prelaunch.setup do |config|
3
+ # The prefix for prelaunch routes. Prelaunch creates two routes:
4
+ # * '<path>/:token' for token verification.
5
+ # * '<path>/logout' for erasing current session.
6
+ config.path = 'prelaunch'
7
+
8
+ # The authentication token to use. This could either be a:
9
+ # * String to compare to. You can put it in the ENV so you can change token without redeploy.
10
+ # * Proc which will be called every time authentication of the token is needed.
11
+ config.token = 'letmein'
12
+
13
+ # Environments prelaunch will add routes to and render helper in.
14
+ # For all other environments it would look nonexistent.
15
+ config.environments = ['production']
16
+
17
+ # You can optionally redirect users to other path when they query the homepage
18
+ # or try to authenticate with invalid token instead of rendering prelaunch page.
19
+ # config.redirect_url = 'http://example.com'
20
+ end
@@ -0,0 +1,7 @@
1
+ module Prelaunch
2
+ class Constraint
3
+ def matches? request
4
+ not Prelaunch::valid? request.session[:prelaunch_token]
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ module Prelaunch
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace Prelaunch
4
+
5
+ initializer 'prelaunch.view_helpers' do
6
+ ActionView::Base.send :include, Helpers
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,23 @@
1
+ module Prelaunch
2
+ module Helpers
3
+ def prelaunch_logout_link name = nil, html_options = nil, &block
4
+ return unless Prelaunch::valid_env?
5
+
6
+ url = "#{strip_slashes(Prelaunch.path)}/logout"
7
+
8
+ html_options = name if block_given?
9
+ html_options ||= {}
10
+ html_options[:rel] = 'nofollow'
11
+ html_options['href'] ||= url
12
+
13
+ content_tag(:a, name || url, html_options, &block)
14
+ end
15
+
16
+ private
17
+ def strip_slashes string
18
+ result = string.gsub(/^(\/|\\)+/, '').gsub(/(\/|\\)+$/, '')
19
+
20
+ result.length > 0 ? '/' + result : result
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ module ActionDispatch::Routing
2
+ class Mapper
3
+ def prelaunch_routes
4
+ return unless Prelaunch.valid_env?
5
+
6
+ contraint = Prelaunch::Constraint.new
7
+
8
+ get "#{Prelaunch.path}/logout", to: 'prelaunch/prelaunch#logout', as: ''
9
+ get "#{Prelaunch.path}/:token", to: 'prelaunch/prelaunch#verify', constraints: contraint
10
+
11
+ get '*path', to: 'prelaunch/prelaunch#redirect', constraints: contraint
12
+ get '/' , to: 'prelaunch/prelaunch#index' , constraints: contraint
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,3 @@
1
+ module Prelaunch
2
+ VERSION = '0.0.5'
3
+ end
data/lib/prelaunch.rb ADDED
@@ -0,0 +1,36 @@
1
+ require 'prelaunch/routing'
2
+ require 'prelaunch/constraint'
3
+ require 'prelaunch/engine'
4
+ require 'prelaunch/helpers'
5
+
6
+ module Prelaunch
7
+ mattr_accessor :path
8
+ @@path = 'prelaunch'
9
+
10
+ mattr_accessor :token
11
+ @@token = 'letmein'
12
+
13
+ mattr_accessor :redirect_url
14
+ @@redirect_url = nil
15
+
16
+ mattr_accessor :environments
17
+ @@environments = ['production']
18
+
19
+ def self.valid? token
20
+ if @@token.is_a? Proc
21
+ @@token.call token
22
+ elsif @@token.is_a? Array
23
+ @@token.include? token
24
+ else
25
+ @@token == token
26
+ end
27
+ end
28
+
29
+ def self.valid_env?
30
+ @@environments.include? Rails.env
31
+ end
32
+
33
+ def self.setup
34
+ yield self
35
+ end
36
+ end
data/prelaunch.gemspec ADDED
@@ -0,0 +1,22 @@
1
+ $:.push File.expand_path('../lib', __FILE__)
2
+
3
+ require 'prelaunch/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.platform = Gem::Platform::RUBY
7
+ s.name = 'prelaunch'
8
+ s.version = Prelaunch::VERSION
9
+ s.license = 'MIT'
10
+ s.authors = ['Alexey Chernetsov']
11
+ s.email = ['alexey.chernetsov@forbinde.net']
12
+ s.summary = 'Development environment access restriction Rails plugin.'
13
+ s.description = 'Prelaunch allows you to restrict access to the Rails app while it is still in development.'
14
+
15
+ s.required_ruby_version = '>= 1.9.3'
16
+ s.required_rubygems_version = '>= 1.8.11'
17
+
18
+ s.files = `git ls-files`.split("\n")
19
+ s.test_files = `git ls-files -- test/*`.split("\n")
20
+
21
+ s.add_dependency 'rails', '>= 3.2.6', '< 5'
22
+ end
@@ -0,0 +1,6 @@
1
+ require 'test_helper'
2
+
3
+ module Prelaunch
4
+ class PrelaunchControllerTest < ActionController::TestCase
5
+ end
6
+ end
@@ -0,0 +1,3 @@
1
+ require File.expand_path('../config/application', __FILE__)
2
+
3
+ Dummy::Application.load_tasks
@@ -0,0 +1,2 @@
1
+ class ApplicationController < ActionController::Base
2
+ end
@@ -0,0 +1,4 @@
1
+ class TestController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <title>Dummy</title>
6
+ </head>
7
+
8
+ <body>
9
+ This should only be seen if token is valid.
10
+
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1 @@
1
+ And also this. <%= prelaunch_logout_link 'Logout from Prelaunch' %>
@@ -0,0 +1,3 @@
1
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
2
+ require_relative '../config/boot'
3
+ require 'rails/commands'
@@ -0,0 +1,12 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require "action_controller/railtie"
4
+
5
+ Bundler.require(*Rails.groups)
6
+
7
+ module Dummy
8
+ class Application < Rails::Application
9
+
10
+ end
11
+ end
12
+
@@ -0,0 +1,4 @@
1
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
2
+
3
+ require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
4
+ $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
@@ -0,0 +1,3 @@
1
+ require File.expand_path('../application', __FILE__)
2
+
3
+ Dummy::Application.initialize!
@@ -0,0 +1,11 @@
1
+ Dummy::Application.configure do
2
+ config.cache_classes = false
3
+ config.eager_load = false
4
+
5
+ config.consider_all_requests_local = true
6
+ config.action_controller.perform_caching = false
7
+
8
+ config.active_support.deprecation = :log
9
+
10
+ config.assets.debug = true
11
+ end
@@ -0,0 +1,16 @@
1
+ Dummy::Application.configure do
2
+ config.cache_classes = true
3
+ config.eager_load = false
4
+
5
+ config.consider_all_requests_local = true
6
+
7
+ config.serve_static_assets = true
8
+ config.static_cache_control = "public, max-age=3600"
9
+
10
+ config.action_controller.allow_forgery_protection = false
11
+ config.action_controller.perform_caching = false
12
+
13
+ config.action_dispatch.show_exceptions = false
14
+
15
+ config.active_support.deprecation = :stderr
16
+ end
@@ -0,0 +1 @@
1
+ Rails.application.config.filter_parameters += [:password]
@@ -0,0 +1,7 @@
1
+ Prelaunch.setup do |config|
2
+ config.path = 'prelaunch'
3
+ config.token = 'letmein'
4
+
5
+ config.environments = ['development']
6
+ config.redirect_url = nil
7
+ end
@@ -0,0 +1 @@
1
+ Dummy::Application.config.secret_key_base = '5effa3a4e08517426cde2ee5dfd4a1590ef5432c600b4216ac07f4927cb025366fb5cc92f3d87a433b22522ce13d75a011a0f9363c34396e3cc34c36508c1780'
@@ -0,0 +1 @@
1
+ Dummy::Application.config.session_store :cookie_store, key: '_dummy_session'
@@ -0,0 +1,7 @@
1
+ Dummy::Application.routes.draw do
2
+ prelaunch_routes
3
+
4
+ root to: 'test#index'
5
+
6
+ get '/test', to: 'test#index'
7
+ end
@@ -0,0 +1,3 @@
1
+ require ::File.expand_path('../config/environment', __FILE__)
2
+
3
+ run Rails.application
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page requested doesn't exist (404)</title>
5
+ </head>
6
+
7
+ <body>
8
+ <h1>404: The page requested doesn't exist.</h1>
9
+ </body>
10
+ </html>
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change requested was rejected (422)</title>
5
+ </head>
6
+
7
+ <body>
8
+ <h1>422: The change requested was rejected.</h1>
9
+ </body>
10
+ </html>
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Internal Server Error (500)</title>
5
+ </head>
6
+
7
+ <body>
8
+ <h1>500: Internal Server Error.</h1>
9
+ </body>
10
+ </html>
File without changes
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class PrelaunchTest < ActiveSupport::TestCase
4
+ test 'that prelaunch module exists' do
5
+ assert_kind_of Module, Prelaunch
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ ENV['RAILS_ENV'] = 'test'
2
+
3
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
4
+ require 'rails/test_help'
5
+
6
+ Rails.backtrace_cleaner.remove_silencers!
7
+
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
9
+
10
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
11
+ ActiveSupport::TestCase.fixture_path = File.expand_path('../fixtures', __FILE__)
12
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: prelaunch
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
5
+ platform: ruby
6
+ authors:
7
+ - Alexey Chernetsov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-08-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.6
20
+ - - <
21
+ - !ruby/object:Gem::Version
22
+ version: '5'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.6
30
+ - - <
31
+ - !ruby/object:Gem::Version
32
+ version: '5'
33
+ description: Prelaunch allows you to restrict access to the Rails app while it is
34
+ still in development.
35
+ email:
36
+ - alexey.chernetsov@forbinde.net
37
+ executables: []
38
+ extensions: []
39
+ extra_rdoc_files: []
40
+ files:
41
+ - .gitignore
42
+ - Gemfile
43
+ - Gemfile.lock
44
+ - README.md
45
+ - Rakefile
46
+ - app/controllers/prelaunch/prelaunch_controller.rb
47
+ - app/views/prelaunch/index.html
48
+ - lib/generators/prelaunch/prelaunch_generator.rb
49
+ - lib/generators/prelaunch/view_generator.rb
50
+ - lib/generators/templates/prelaunch.rb
51
+ - lib/prelaunch.rb
52
+ - lib/prelaunch/constraint.rb
53
+ - lib/prelaunch/engine.rb
54
+ - lib/prelaunch/helpers.rb
55
+ - lib/prelaunch/routing.rb
56
+ - lib/prelaunch/version.rb
57
+ - prelaunch.gemspec
58
+ - test/controllers/prelaunch/prelaunch_controller_test.rb
59
+ - test/dummy/Rakefile
60
+ - test/dummy/app/controllers/application_controller.rb
61
+ - test/dummy/app/controllers/test_controller.rb
62
+ - test/dummy/app/helpers/application_helper.rb
63
+ - test/dummy/app/views/layouts/application.html.erb
64
+ - test/dummy/app/views/test/index.html.erb
65
+ - test/dummy/bin/rails
66
+ - test/dummy/config.ru
67
+ - test/dummy/config/application.rb
68
+ - test/dummy/config/boot.rb
69
+ - test/dummy/config/environment.rb
70
+ - test/dummy/config/environments/development.rb
71
+ - test/dummy/config/environments/test.rb
72
+ - test/dummy/config/initializers/filter_parameter_logging.rb
73
+ - test/dummy/config/initializers/prelaunch.rb
74
+ - test/dummy/config/initializers/secret_token.rb
75
+ - test/dummy/config/initializers/session_store.rb
76
+ - test/dummy/config/routes.rb
77
+ - test/dummy/public/404.html
78
+ - test/dummy/public/422.html
79
+ - test/dummy/public/500.html
80
+ - test/dummy/public/favicon.ico
81
+ - test/prelaunch_test.rb
82
+ - test/test_helper.rb
83
+ homepage:
84
+ licenses:
85
+ - MIT
86
+ metadata: {}
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: 1.9.3
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: 1.8.11
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.0.7
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: Development environment access restriction Rails plugin.
107
+ test_files:
108
+ - test/controllers/prelaunch/prelaunch_controller_test.rb
109
+ - test/dummy/Rakefile
110
+ - test/dummy/app/controllers/application_controller.rb
111
+ - test/dummy/app/controllers/test_controller.rb
112
+ - test/dummy/app/helpers/application_helper.rb
113
+ - test/dummy/app/views/layouts/application.html.erb
114
+ - test/dummy/app/views/test/index.html.erb
115
+ - test/dummy/bin/rails
116
+ - test/dummy/config.ru
117
+ - test/dummy/config/application.rb
118
+ - test/dummy/config/boot.rb
119
+ - test/dummy/config/environment.rb
120
+ - test/dummy/config/environments/development.rb
121
+ - test/dummy/config/environments/test.rb
122
+ - test/dummy/config/initializers/filter_parameter_logging.rb
123
+ - test/dummy/config/initializers/prelaunch.rb
124
+ - test/dummy/config/initializers/secret_token.rb
125
+ - test/dummy/config/initializers/session_store.rb
126
+ - test/dummy/config/routes.rb
127
+ - test/dummy/public/404.html
128
+ - test/dummy/public/422.html
129
+ - test/dummy/public/500.html
130
+ - test/dummy/public/favicon.ico
131
+ - test/prelaunch_test.rb
132
+ - test/test_helper.rb