git config --global user.email "Your Actual Email"
11 |
12 |
13 | Your email address should be the same one associated with your <%= link_to "GitHub", "http://help.github.com/articles/set-up-git", target: "_blank" %> account.
14 |
15 |
16 |
17 |
18 | To verify your configuration, type:
19 |
git config -l
20 |
21 |
Your email and user name should appear in return
22 |
23 |
24 |
25 |
26 |
27 |
Why did we do this? What is Git?
28 |
29 | Git is version control software. You will use Git to track and manage your coding history as well as get into the programming community as a whole.
30 |
31 |
32 | To put it another way, Git will allow you to make revisions of your work as well as others… this way you can feel assured that if you make an awful mistake to fix or have a solution for someone else, Git will be the best way to do it!
33 |
34 |
35 |
36 |
More information and resources on Git here: <%= link_to "Here", "http://git-scm.com/videos" %>
37 |
Never used the command line? You may want to pause and take this <%= link_to "free command line tutorial", "https://onemonth.com/courses/command-line-crash-course?utm_source=installrails&utm_campaign=rails&utm_medium=installrails" %>.
Open Spotlight (the little icon on the top right corner of your mac) and type "Terminal". Hit Enter.
8 |
9 |
10 |
11 |
12 | In your terminal, type this:
13 |
ssh-keygen -C YourEmail@example.com -t rsa
14 |
15 |
When prompted to enter a keyphrase simply hit the “Enter” key.
16 |
17 |
18 |
19 |
Expected result:
20 |
Generating public/private rsa key pair.
21 | Enter file in which to save the key (/Users/yourname/.ssh/id_rsa):
22 | Created directory '/Users/yourname/.ssh'.
23 | Enter passphrase (empty for no passphrase):
24 | Enter same passphrase again:
25 | Your identification has been saved in /Users/yourname/.ssh/id_rsa.
26 | Your public key has been saved in /Users/yourname/.ssh/id_rsa.pub.
27 | The key fingerprint is:
28 | 88:63:df:77:ef:3l:c7:3z:28:11:95:0d:3e:sf:5h:9a YourEmail@example.com
If you followed all the previous steps correctly, you should be ready to create your first app.
4 |
5 |
6 |
7 | Run the cd(change directory) command in
8 | <% if windows? %>
9 | Git Bash
10 | <% else %>
11 | Terminal
12 | <% end %>
13 | to change directory into your desktop folder
14 |
$ cd ~/Desktop
15 |
16 |
17 |
18 |
NOTE: We do this so that when we create a new application, we’ll be able to see it in our desktop and access it more easily.
19 |
<%= image_tag "sam.png" %>
20 |
21 |
22 |
23 | You can double check that you did this correctly with the command pwd(print working directory), which will tell you what folder you’re currently in.
24 |
$ pwd
25 |
26 |
27 |
28 | Expected result:
29 |
/Users/[YOUR USER NAME]/Desktop
30 |
31 |
32 |
33 | Now we’re going to run a command that will create a new rails application
34 |
#ERROR MESSAGE:
47 | Could not find gem 'uglifier <>=1.0.3> x85-mingw32' in the gems available on this machine
48 | Run 'bundle install' to install missing gems
49 |
Try running
50 |
$ gem install uglifier
51 |
52 |
53 |
#2 - My error is about "sdoc"
54 |
If your error resembles something like…
55 |
#ERROR MESSAGE:
56 | Could not find gem 'sdoc (>= 0) ruby' in the gems available on this machine
57 | Run 'bundle install' to install missing gems.
3 |
4 | Now we're going to explore something called:
5 |
6 |
7 | The Command Line
8 |
9 |
10 |
11 |
The command line is a place on your computer where you can type in commands (I'll show you in a moment).
12 |
After you type them in you'll hit Enter to run those commands. And then the magic happens!
13 |
Never used the command line? You may want to pause and take this <%= link_to "free command line tutorial", "https://onemonth.com/courses/command-line-crash-course?utm_source=installrails&utm_campaign=rails&utm_medium=installrails" %>.
14 |
15 |
16 |
17 |
18 |
19 |
Open up the Git Bash application from your RailsInstaller folder.
20 |
Having trouble finding it? Look under the "Start" menu."
3 | Now we’re going to explore something called:
4 |
The Command Line
5 |
6 |
7 |
The command line is a place on your computer where you can type in executable code (You will see in a moment)
8 |
After you type them in, you’ll hit Enter to run the commands
9 |
This is where magic happens
10 |
Never used the command line? You may want to pause and take this <%= link_to "free command line tutorial", "https://onemonth.com/courses/command-line-crash-course?utm_source=installrails&utm_campaign=rails&utm_medium=installrails" %>.
11 |
12 |
13 |
14 |
15 |
On a Mac, we can find the Terminal by opening Spotlight and type “Terminal” (the little icon on the top right corner of your Mac)
Once you open it, your Terminal should look something like this (don’t freak out):
27 |
<%= image_tag "mac_steps/terminal.png" %>
28 |
29 |
30 |
31 |
32 | PRO TIP:
33 | Add Terminal to your Dock; you’ll be using it a lot.
34 | Click & Hold the Terminal dock icon and select
35 | “Options > Keep in Dock”
36 |
37 |
38 |
39 | <%= image_tag "sam.png" %>
40 |
41 |
42 |
43 |
44 |
Now try typing the following command and hitting “Enter”
45 |
46 |
$ jot - 1 25
47 |
48 |
49 |
50 | Ignore the $ and the space at the beginning. It is called a prompt and it just means the command is executable
51 |
52 |
53 |
54 |
It should print out list of all the numbers from 1 to 25
11 | Note: If this doesn’t work, <%= link_to "go here", "https://github.com/Homebrew/brew/blob/master/docs/Installation.md" %> and follow the instructions
12 |
13 |
14 |
15 | To verify your installation, enter the following in your terminal:
16 |
17 |
brew -v
18 |
Approximated result
19 |
Homebrew 2.x.x
20 |
21 | To make sure Homebrew is feeling alright, type:
22 |
23 |
brew doctor
24 |
If it asks you to run brew update, do so.
25 |
26 |
27 |
28 | If it returns: “No such file or directory - /usr/local/Cellar” You should type and enter:
29 |
30 |
cd
31 | sudo mkdir /usr/local/Cellar
32 |
Enter your login password and press enter (you won’t be able to see it)
8 | Assuming Xcode has finished installing: Now you can check the Command Line Tools.
9 |
10 |
11 |
12 |
13 |
Open Xcode. In the menu bar click on “Xcode” then select “Preferences”
14 | <%= image_tag "mac_steps/xcode_preferences.png", class: "list-image" %>
15 |
16 |
Click the “Locations” tab and verify your version below
17 | <%= image_tag "mac_steps/xcode_command_line_tool.png", class: "list-image" %>
18 |
19 |
20 |
your version of xcode may vary, current version is 10.0+
Follow the setup instructions at RailsGirls and then choose "Next Step" below. If you run into trouble you may want to consult RailsApps guide which goes much deeper into the Linux installation process.
5 |
Visit the site <%= link_to "Railsinstaller.org", "http://railsinstaller.org/en", target: "_blank" %> and choose from ONE of the following options to download RailsInstaller.
9 | We’re going to start a little server so we can see the application in a browser
10 |
$ rails server
11 |
12 |
13 | This command should show you:
14 |
=> Booting Puma
15 | => Rails 6.0.0 application starting in development
16 | => Run `rails server -h` for more startup options
17 | Puma starting in single mode...
18 | * Version 4.3.1 (ruby 2.5.1-p57), codename: Love Song
19 | * Min threads: 5, max threads: 5
20 | * Environment: development
21 | * Listening on tcp://0.0.0.0:3000
22 | Use Ctrl-C to stop
23 |
24 |
25 | Open up your browser and visit <%= link_to "http://localhost:3000", "http://localhost:3000", target: "_blank" %>
26 |
27 |
28 |
You should see your new web app!
29 |
30 |
31 |
32 |
33 | PRO TIP: Whenever you run
$ rails server
…you’ll no longer be able to type anything in that command line window (because that window is now busy running your site).
Leaving us with two options: 1) When you’re coding: let this window run the server, and open another command line window to write new commands 2) When you’re finished: close the server by hitting “Control + C” and give yourself a pat on the back for being awesome.
34 |
As a developer, you’ll be using your text editor quite often. A text editor is a simple program that lets you write text (and by text we mean… code). Our preferred text editor is Sublime Text.
4 |
5 |
6 |
7 |
8 |
To download Sublime Text visit the Sublime Text site and download it to your computer (hint: click the big blue button on their homepage).
11 | <%= image_tag "omr_logo.png", style: 'display:inline; padding: 0;' %> <%= link_to "One Month Rails", "http://onemonth.com/courses/rails?utm_source=installrails&utm_campaign=rails&utm_medium=installrails", target: "_blank" %> is an online course where you can build your first app in less than one month!
12 |
13 |
14 |
By the end of the course, you'll be able to build powerful web apps with features such as Bootstrap (for creating website templates), Devise (for making a secure user login), Active Admin (for managing users), Paperclip (for allowing users to upload images and other content), and much more.
15 |
In just 30 days, this <%= link_to "Ruby on Rails tutorial", "http://onemonth.com/courses/rails?utm_source=installrails&utm_campaign=rails&utm_medium=installrails", target: "_blank" %> will take you from being a complete beginner to building your first web application - guaranteed!
16 |
<%= link_to "Enroll today in One Month Rails.","http://onemonth.com/courses/rails?utm_source=installrails&utm_campaign=rails&utm_medium=installrails", target: "_blank" %>
InstallRails.com is the best way to install Ruby on Rails on your computer.
18 |
19 |
20 |
How does Install Rails work?
21 |
There's no magic here. We use all of the standard tools that professional developers use to install and update Ruby on Rails — we just explain it in a way that's compact and easy to understand!
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
Over 10,000+
40 |
The number of people using InstallRails.com grows everyday!
41 |
42 |
43 |
44 |
45 |
46 |
47 |
Does it work on Mac, Windows, and Linux?
48 |
Yes! Our Ruby on Rails tutorial shows you how to install rails and related gems on any operating system.
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
What gets installed?
57 |
Ruby on Rails, Git, SQLite, RVM, Rails Installer, Sublime Text and in some cases XCode.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nemo, tenetur, sit, sint, officiis quam saepe dolores tempore architecto necessitatibus suscipit accusamus quisquam ipsa facere in voluptates delectus enim. Eaque, molestiae!
18 |
19 |
20 |
21 |
22 |
23 | <% content_for(:footer) do %>
24 |
25 | copyright One Month Rails
26 | <% end %>
27 |
--------------------------------------------------------------------------------
/bin/bundle:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3 | load Gem.bin_path('bundler', 'bundle')
4 |
--------------------------------------------------------------------------------
/bin/rails:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | APP_PATH = File.expand_path('../../config/application', __FILE__)
3 | require_relative '../config/boot'
4 | require 'rails/commands'
5 |
--------------------------------------------------------------------------------
/bin/rake:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require_relative '../config/boot'
3 | require 'rake'
4 | Rake.application.run
5 |
--------------------------------------------------------------------------------
/bin/rspec:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | #
3 | # This file was generated by Bundler.
4 | #
5 | # The application 'rspec' is installed as part of a gem, and
6 | # this file is here to facilitate running it.
7 | #
8 |
9 | require 'pathname'
10 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11 | Pathname.new(__FILE__).realpath)
12 |
13 | require 'rubygems'
14 | require 'bundler/setup'
15 |
16 | load Gem.bin_path('rspec-core', 'rspec')
17 |
--------------------------------------------------------------------------------
/config.ru:
--------------------------------------------------------------------------------
1 | # This file is used by Rack-based servers to start the application.
2 |
3 | require ::File.expand_path('../config/environment', __FILE__)
4 | run Rails.application
5 |
--------------------------------------------------------------------------------
/config/application.rb:
--------------------------------------------------------------------------------
1 | require File.expand_path('../boot', __FILE__)
2 |
3 | require "active_model/railtie"
4 | require "action_controller/railtie"
5 | require "action_mailer/railtie"
6 | require "sprockets/railtie"
7 |
8 | # Require the gems listed in Gemfile, including any gems
9 | # you've limited to :test, :development, or :production.
10 | Bundler.require(:default, Rails.env)
11 |
12 | module InstallRails
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 | # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
19 | # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
20 | # config.time_zone = 'Central Time (US & Canada)'
21 |
22 | # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
23 | # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
24 | # config.i18n.default_locale = :de
25 |
26 | config.assets.precompile += %w[ *.png
27 | *.jpg
28 | *.jpeg
29 | *.gif
30 | html5shiv.js
31 | script.js
32 | install_steps.css
33 | basic.rb ]
34 |
35 | config.generators do |g|
36 | g.test_framework :rspec, :views => false, :fixture => true
37 | g.fixture_replacement :factory_girl, :dir => 'spec/factories'
38 | end
39 | end
40 | end
41 |
--------------------------------------------------------------------------------
/config/boot.rb:
--------------------------------------------------------------------------------
1 | # Set up gems listed in the Gemfile.
2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3 |
4 | require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
5 |
--------------------------------------------------------------------------------
/config/cucumber.yml:
--------------------------------------------------------------------------------
1 | <%
2 | rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3 | rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4 | std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags 'not @wip'"
5 | %>
6 | default: <%= std_opts %> features
7 | wip: --tags @wip:3 --wip features
8 | rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags 'not @wip'
9 |
--------------------------------------------------------------------------------
/config/environment.rb:
--------------------------------------------------------------------------------
1 | # Load the Rails application.
2 | require File.expand_path('../application', __FILE__)
3 |
4 | # Initialize the Rails application.
5 | InstallRails::Application.initialize!
6 |
--------------------------------------------------------------------------------
/config/environments/development.rb:
--------------------------------------------------------------------------------
1 | InstallRails::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 | # Debug mode disables concatenation and preprocessing of assets.
23 | # This option may cause significant delays in view rendering with a large
24 | # number of complex assets.
25 | config.assets.debug = true
26 | end
27 |
--------------------------------------------------------------------------------
/config/environments/production.rb:
--------------------------------------------------------------------------------
1 | InstallRails::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 thread 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_files = 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 | # Version of your assets, change this if you want to expire all your assets.
36 | config.assets.version = '1.0'
37 |
38 | # Specifies the header that your server uses for sending files.
39 | # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
40 | # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
41 |
42 | # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
43 | # config.force_ssl = true
44 |
45 | # Set to :debug to see everything in the log.
46 | config.log_level = :info
47 |
48 | # Prepend all log lines with the following tags.
49 | # config.log_tags = [ :subdomain, :uuid ]
50 |
51 | # Use a different logger for distributed setups.
52 | # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
53 |
54 | # Use a different cache store in production.
55 | # config.cache_store = :mem_cache_store
56 |
57 | # Enable serving of images, stylesheets, and JavaScripts from an asset server.
58 | # config.action_controller.asset_host = "http://assets.example.com"
59 |
60 | # Precompile additional assets.
61 | # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
62 | # config.assets.precompile += %w( search.js )
63 |
64 | # Ignore bad email addresses and do not raise email delivery errors.
65 | # Set this to true and configure the email server for immediate delivery to raise delivery errors.
66 | # config.action_mailer.raise_delivery_errors = false
67 |
68 | # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
69 | # the I18n.default_locale when a translation can not be found).
70 | config.i18n.fallbacks = true
71 |
72 | # Send deprecation notices to registered listeners.
73 | config.active_support.deprecation = :notify
74 |
75 | # Disable automatic flushing of the log to improve performance.
76 | # config.autoflush_log = false
77 |
78 | # Use default logging formatter so that PID and timestamp are not suppressed.
79 | config.log_formatter = ::Logger::Formatter.new
80 | end
81 |
--------------------------------------------------------------------------------
/config/environments/test.rb:
--------------------------------------------------------------------------------
1 | InstallRails::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_files = 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 | end
37 |
--------------------------------------------------------------------------------
/config/initializers/backtrace_silencers.rb:
--------------------------------------------------------------------------------
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!
8 |
--------------------------------------------------------------------------------
/config/initializers/filter_parameter_logging.rb:
--------------------------------------------------------------------------------
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]
5 |
--------------------------------------------------------------------------------
/config/initializers/inflections.rb:
--------------------------------------------------------------------------------
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
17 |
--------------------------------------------------------------------------------
/config/initializers/mime_types.rb:
--------------------------------------------------------------------------------
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
5 | # Mime::Type.register_alias "text/html", :iphone
6 |
--------------------------------------------------------------------------------
/config/initializers/secret_token.rb:
--------------------------------------------------------------------------------
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 your secret_key_base is kept private
11 | # if you're sharing your code publicly.
12 | InstallRails::Application.config.secret_key_base = ENV['SECRET_KEY_BASE'] || "868fd6b774842ed10a3eadb9fc684b6f1172809cd6c37ef4f76044ee3e788b1d7eb5114484b94b30f01aa33fa7026a346c483d011a1d5a201a6201695a98cb6c"
--------------------------------------------------------------------------------
/config/initializers/session_store.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | InstallRails::Application.config.session_store :cookie_store, key: '_install_rails_session'
4 |
--------------------------------------------------------------------------------
/config/initializers/wrap_parameters.rb:
--------------------------------------------------------------------------------
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
15 |
--------------------------------------------------------------------------------
/config/locales/en.yml:
--------------------------------------------------------------------------------
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"
24 |
--------------------------------------------------------------------------------
/config/routes.rb:
--------------------------------------------------------------------------------
1 | InstallRails::Application.routes.draw do
2 | resources :install_steps, path: 'steps'
3 |
4 | controller :main do
5 | get :test
6 | get :congratulations
7 | end
8 |
9 | root to: 'main#index'
10 | end
11 |
--------------------------------------------------------------------------------
/config/unicorn.rb:
--------------------------------------------------------------------------------
1 | # config/unicorn.rb
2 | worker_processes 3
3 | timeout 30
4 | preload_app true
5 |
6 | before_fork do |server, worker|
7 |
8 | Signal.trap 'TERM' do
9 | puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
10 | Process.kill 'QUIT', Process.pid
11 | end
12 |
13 | defined?(ActiveRecord::Base) and
14 | ActiveRecord::Base.connection.disconnect!
15 | end
16 |
17 | after_fork do |server, worker|
18 |
19 | Signal.trap 'TERM' do
20 | puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to sent QUIT'
21 | end
22 |
23 | defined?(ActiveRecord::Base) and
24 | ActiveRecord::Base.establish_connection
25 | end
26 |
--------------------------------------------------------------------------------
/db/seeds.rb:
--------------------------------------------------------------------------------
1 | # This file should contain all the record creation needed to seed the database with its default values.
2 | # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
3 | #
4 | # Examples:
5 | #
6 | # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
7 | # Mayor.create(name: 'Emanuel', city: cities.first)
8 |
--------------------------------------------------------------------------------
/env.sample:
--------------------------------------------------------------------------------
1 | PORT=3000
2 | RACK_ENV=development
3 |
--------------------------------------------------------------------------------
/features/homepage.feature:
--------------------------------------------------------------------------------
1 | Feature: Homepage
2 | In order to know how to install rails
3 | As a visitor to the site
4 | I want to start the lesson
5 |
6 | Scenario: Navigate the user to the start of the lesson
7 | Given I am on the homepage
8 | When I click "Start now"
9 | Then I am asked about my OS
10 |
--------------------------------------------------------------------------------
/features/step_definitions/homepage_steps.rb:
--------------------------------------------------------------------------------
1 | Given(/^I am on the homepage$/) do
2 | visit root_path
3 | end
4 |
5 | When(/^I click "(.*?)"$/) do |button_text|
6 | click_on button_text
7 | end
8 |
9 | Then(/^I am asked about my OS$/) do
10 | within 'h2' do
11 | expect(page).to have_content('Which operating system are you using?')
12 | end
13 | end
14 |
--------------------------------------------------------------------------------
/features/support/env.rb:
--------------------------------------------------------------------------------
1 | # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2 | # It is recommended to regenerate this file in the future when you upgrade to a
3 | # newer version of cucumber-rails. Consider adding your own code to a new file
4 | # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5 | # files.
6 |
7 | require 'cucumber/rails'
8 |
9 | # Capybara defaults to CSS3 selectors rather than XPath.
10 | # If you'd prefer to use XPath, just uncomment this line and adjust any
11 | # selectors in your step definitions to use the XPath syntax.
12 | # Capybara.default_selector = :xpath
13 |
14 | # By default, any exception happening in your Rails application will bubble up
15 | # to Cucumber so that your scenario will fail. This is a different from how
16 | # your application behaves in the production environment, where an error page will
17 | # be rendered instead.
18 | #
19 | # Sometimes we want to override this default behaviour and allow Rails to rescue
20 | # exceptions and display an error page (just like when the app is running in production).
21 | # Typical scenarios where you want to do this is when you test your error pages.
22 | # There are two ways to allow Rails to rescue exceptions:
23 | #
24 | # 1) Tag your scenario (or feature) with @allow-rescue
25 | #
26 | # 2) Set the value below to true. Beware that doing this globally is not
27 | # recommended as it will mask a lot of errors for you!
28 | #
29 | ActionController::Base.allow_rescue = false
30 |
31 | # Remove/comment out the lines below if your app doesn't have a database.
32 | # For some databases (like MongoDB and CouchDB) you may need to use :truncation instead.
33 | begin
34 | # Needed for postgresql
35 | # DatabaseCleaner.strategy = :transaction
36 |
37 | # Needed for Mongo
38 | #DatabaseCleaner.strategy = :truncation
39 | rescue NameError
40 | raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
41 | end
42 |
43 | # You may also want to configure DatabaseCleaner to use different strategies for certain features and scenarios.
44 | # See the DatabaseCleaner documentation for details. Example:
45 | #
46 | # Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
47 | # # { :except => [:widgets] } may not do what you expect here
48 | # # as Cucumber::Rails::Database.javascript_strategy overrides
49 | # # this setting.
50 | # DatabaseCleaner.strategy = :truncation
51 | # end
52 | #
53 | # Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
54 | # DatabaseCleaner.strategy = :transaction
55 | # end
56 | #
57 |
58 | # Possible values are :truncation and :transaction
59 | # The :transaction strategy is faster, but might give you threading problems.
60 | # See https://github.com/cucumber/cucumber-rails/blob/master/features/choose_javascript_database_strategy.feature
61 | Cucumber::Rails::Database.javascript_strategy = :truncation
62 |
63 |
--------------------------------------------------------------------------------
/lib/assets/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onemonth/install_rails/eb21694d10c94b1ba1e69e88d8db61d496eac0ed/lib/assets/.keep
--------------------------------------------------------------------------------
/lib/assets/templates/basic.rb:
--------------------------------------------------------------------------------
1 | # >---------------------------------[ Initial Setup ]----------------------------------<
2 |
3 | run "bundle update"
4 |
5 | # >---------------------------------[ Git ]----------------------------------<
6 |
7 | git :init
8 | git add: '.'
9 | git commit: "-aqm 'Initial commit'"
10 |
11 | # >---------------------------------[ Git ]----------------------------------<
12 |
13 | ## GEMFILE
14 | run "rm Gemfile"
15 | file "Gemfile"
16 | add_source "https://rubygems.org"
17 |
18 | # ## Ruby
19 | # insert_into_file 'Gemfile', "ruby '2.0.0'\n", after: "source 'https://rubygems.org'"
20 |
21 | ## Rails
22 | gem 'rails'
23 |
24 | gem_group :develoment do
25 | gem 'sqlite3'
26 | end
27 |
28 | gem_group :production do
29 | gem 'rails_12factor'
30 | gem 'pg'
31 | end
32 | gem 'sass-rails'
33 | gem 'uglifier'
34 | gem 'coffee-rails'
35 | gem 'jquery-rails'
36 | gem 'turbolinks'
37 | gem 'jbuilder'
38 | gem 'bootstrap-sass', '~> 2.3.2.0'
39 | gem 'devise', '3.0.0.rc'
40 | gem 'simple_form', '3.0.0.rc'
41 | run "bundle install --without production"
42 |
43 | # Add bootstrap CSS and JS
44 |
45 | inject_into_file "app/assets/javascripts/application.js", "//= require bootstrap\n", before: "//= require_tree ."
46 |
47 | file 'app/assets/stylesheets/bootstrap_and_overrides.css.scss', <<-CODE
48 | @import "bootstrap";
49 | body {
50 | padding-top: 60px;
51 | }
52 | @import "bootstrap/responsive";
53 | .center {
54 | text-align: center;
55 | }
56 | CODE
57 |
58 | # Generate home and about page
59 | generate(:controller, "Pages home about")
60 | route "root to: 'pages#home'"
61 | route "get 'about', to: 'pages#about'"
62 | run "rm app/views/pages/home.html.erb"
63 | file 'app/views/pages/home.html.erb', <<-CODE
64 | <% unless user_signed_in? %>
65 |
66 |
Welcome to One Month Rails!
67 |
68 | You've found the home page for the
69 | <%= link_to "One Month Rails", "http://onemonth.com/courses/rails" %>
70 | application.
71 |
194 | <% end %>
195 |
196 | <%= render "devise/shared/links" %>
197 |
198 | CODE
199 |
200 | # Customize Devise
201 |
202 | generate(:migration, "AddNameToUsers", "name:string")
203 | rake "db:migrate"
204 |
205 | inject_into_file "app/models/user.rb", ":name, ", after: "attr_accessible "
206 |
207 | # Create a seed user
208 |
209 | append_file "db/seeds.rb" do <<-CODE
210 | User.create(name: "Example User", email: "user@example.com", password: "foobar", password_confirmation: "foobar")
211 | CODE
212 | end
213 |
214 | rake "db:seed"
215 |
--------------------------------------------------------------------------------
/lib/tasks/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onemonth/install_rails/eb21694d10c94b1ba1e69e88d8db61d496eac0ed/lib/tasks/.keep
--------------------------------------------------------------------------------
/lib/tasks/cucumber.rake:
--------------------------------------------------------------------------------
1 | # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2 | # It is recommended to regenerate this file in the future when you upgrade to a
3 | # newer version of cucumber-rails. Consider adding your own code to a new file
4 | # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5 | # files.
6 |
7 |
8 | unless ARGV.any? {|a| a =~ /^gems/} # Don't load anything when running the gems:* tasks
9 |
10 | vendored_cucumber_bin = Dir["#{Rails.root}/vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
11 | $LOAD_PATH.unshift(File.dirname(vendored_cucumber_bin) + '/../lib') unless vendored_cucumber_bin.nil?
12 |
13 | begin
14 | require 'cucumber/rake/task'
15 |
16 | namespace :cucumber do
17 | Cucumber::Rake::Task.new({:ok => 'test:prepare'}, 'Run features that should pass') do |t|
18 | t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.
19 | t.fork = true # You may get faster startup if you set this to false
20 | t.profile = 'default'
21 | end
22 |
23 | Cucumber::Rake::Task.new({:wip => 'test:prepare'}, 'Run features that are being worked on') do |t|
24 | t.binary = vendored_cucumber_bin
25 | t.fork = true # You may get faster startup if you set this to false
26 | t.profile = 'wip'
27 | end
28 |
29 | Cucumber::Rake::Task.new({:rerun => 'test:prepare'}, 'Record failing features and run only them if any exist') do |t|
30 | t.binary = vendored_cucumber_bin
31 | t.fork = true # You may get faster startup if you set this to false
32 | t.profile = 'rerun'
33 | end
34 |
35 | desc 'Run all features'
36 | task :all => [:ok, :wip]
37 |
38 | task :statsetup do
39 | require 'rails/code_statistics'
40 | ::STATS_DIRECTORIES << %w(Cucumber\ features features) if File.exist?('features')
41 | ::CodeStatistics::TEST_TYPES << "Cucumber features" if File.exist?('features')
42 | end
43 | end
44 | desc 'Alias for cucumber:ok'
45 | task :cucumber => 'cucumber:ok'
46 |
47 | task :default => :cucumber
48 |
49 | task :features => :cucumber do
50 | STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
51 | end
52 |
53 | # In case we don't have the generic Rails test:prepare hook, append a no-op task that we can depend upon.
54 | task 'test:prepare' do
55 | end
56 |
57 | task :stats => 'cucumber:statsetup'
58 | rescue LoadError
59 | desc 'cucumber rake task not available (cucumber not installed)'
60 | task :cucumber do
61 | abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
62 | end
63 | end
64 |
65 | end
66 |
--------------------------------------------------------------------------------
/log/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onemonth/install_rails/eb21694d10c94b1ba1e69e88d8db61d496eac0ed/log/.keep
--------------------------------------------------------------------------------
/public/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The page you were looking for doesn't exist (404)
5 |
48 |
49 |
50 |
51 |
52 |
53 |
The page you were looking for doesn't exist.
54 |
You may have mistyped the address or the page may have moved.
55 |
56 |
If you are the application owner check the logs for more information.
If you are the application owner check the logs for more information.
56 |
57 |
58 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onemonth/install_rails/eb21694d10c94b1ba1e69e88d8db61d496eac0ed/public/favicon.ico
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
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: /
6 |
--------------------------------------------------------------------------------
/public/update_rubygems.rb:
--------------------------------------------------------------------------------
1 | require 'open-uri'
2 |
3 | class UpgradeRubygems
4 | UPGRADES = {
5 | "1.8" => "http://rubygems.org/downloads/rubygems-update-1.8.30.gem",
6 | "2.0" => "http://rubygems.org/downloads/rubygems-update-2.0.17.gem",
7 | "2.2" => "http://rubygems.org/downloads/rubygems-update-2.2.5.gem",
8 | "2.6" => "http://rubygems.org/downloads/rubygems-update-2.6.7.gem"
9 | }
10 |
11 | def call
12 | puts "You're up to date" and return if !upgrade_available?
13 |
14 | puts "You currently have #{rubygems_version}"
15 | download
16 | install
17 | update
18 | puts "You now have #{rubygems_version}"
19 | end
20 |
21 | private
22 |
23 | def download
24 | puts "Downloading #{upgrade_url}..."
25 |
26 | open(filename, "wb") do |file|
27 | open(upgrade_url) do |uri|
28 | file.write(uri.read)
29 | end
30 | end
31 | end
32 |
33 | def install
34 | puts "Installing #{filename}..."
35 | `gem install --local #{filename}`
36 | end
37 |
38 | def update
39 | puts "Updating rubygems..."
40 | `update_rubygems --no-ri --no-rdoc`
41 | end
42 |
43 | def rubygems_version
44 | `gem --version`
45 | end
46 |
47 | def upgrade_available?
48 | !!upgrade_url
49 | end
50 |
51 | def upgrade_url
52 | @upgrade_file ||= UPGRADES[rubygems_version[0..2]]
53 | end
54 |
55 | def filename
56 | @filename ||= upgrade_url.split("/").last
57 | end
58 | end
59 |
60 | upgrade = UpgradeRubygems.new
61 | upgrade.call
62 |
--------------------------------------------------------------------------------
/script/cucumber:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | vendored_cucumber_bin = Dir["#{File.dirname(__FILE__)}/../vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
4 | if vendored_cucumber_bin
5 | load File.expand_path(vendored_cucumber_bin)
6 | else
7 | require 'rubygems' unless ENV['NO_RUBYGEMS']
8 | require 'cucumber'
9 | load Cucumber::BINARY
10 | end
11 |
--------------------------------------------------------------------------------
/spec/spec_helper.rb:
--------------------------------------------------------------------------------
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 |
6 | # Requires supporting ruby files with custom matchers and macros, etc, in
7 | # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
8 | # run as spec files by default. This means that files in spec/support that end
9 | # in _spec.rb will both be required and run as specs, causing the specs to be
10 | # run twice. It is recommended that you do not name files matching this glob to
11 | # end with _spec.rb. You can configure this pattern with with the --pattern
12 | # option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
13 | Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
14 |
15 | # Checks for pending migrations before tests are run.
16 | # If you are not using ActiveRecord, you can remove this line.
17 | ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
18 |
19 | RSpec.configure do |config|
20 | # ## Mock Framework
21 | #
22 | # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
23 | #
24 | # config.mock_with :mocha
25 | # config.mock_with :flexmock
26 | # config.mock_with :rr
27 |
28 | # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
29 | # config.fixture_path = "#{::Rails.root}/spec/fixtures"
30 |
31 | # If you're not using ActiveRecord, or you'd prefer not to run each of your
32 | # examples within a transaction, remove the following line or assign false
33 | # instead of true.
34 |
35 | # needed for postgresql only
36 | # config.use_transactional_fixtures = true
37 |
38 | # Run specs in random order to surface order dependencies. If you find an
39 | # order dependency and want to debug it, you can fix the order by providing
40 | # the seed, which is printed after each run.
41 | # --seed 1234
42 | config.order = "random"
43 | end
44 |
--------------------------------------------------------------------------------
/spec/support/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onemonth/install_rails/eb21694d10c94b1ba1e69e88d8db61d496eac0ed/spec/support/.keep
--------------------------------------------------------------------------------
/vendor/assets/javascripts/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onemonth/install_rails/eb21694d10c94b1ba1e69e88d8db61d496eac0ed/vendor/assets/javascripts/.keep
--------------------------------------------------------------------------------
/vendor/assets/javascripts/html5shiv.js:
--------------------------------------------------------------------------------
1 | /*
2 | HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3 | */
4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x";
6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
8 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d *').fadeIn();
75 | $('.subscribe-wrapper').html(data);
76 | $('#subsc-form input').val('');
77 | });
78 | return false;
79 | });
80 |
81 | });
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onemonth/install_rails/eb21694d10c94b1ba1e69e88d8db61d496eac0ed/vendor/assets/stylesheets/.keep
--------------------------------------------------------------------------------