Skip to content

Commit 127fded

Browse files
committed
some example app for last lecture
1 parent 180a310 commit 127fded

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+937
-0
lines changed

materials/16/example/.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
2+
#
3+
# If you find yourself ignoring temporary files generated by your text editor
4+
# or operating system, you probably want to add a global ignore instead:
5+
# git config --global core.excludesfile '~/.gitignore_global'
6+
7+
# Ignore bundler config.
8+
/.bundle
9+
10+
# Ignore the default SQLite database.
11+
/db/*.sqlite3
12+
/db/*.sqlite3-journal
13+
14+
# Ignore all logfiles and tempfiles.
15+
/log/*.log
16+
/tmp

materials/16/example/.rspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--color

materials/16/example/Gemfile

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
source 'https://rubygems.org'
2+
3+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
4+
gem 'rails', '4.0.1'
5+
6+
# Use sqlite3 as the database for Active Record
7+
gem 'sqlite3'
8+
9+
# Use SCSS for stylesheets
10+
gem 'sass-rails', '~> 4.0.0'
11+
12+
# Use Uglifier as compressor for JavaScript assets
13+
gem 'uglifier', '>= 1.3.0'
14+
15+
# Use CoffeeScript for .js.coffee assets and views
16+
gem 'coffee-rails', '~> 4.0.0'
17+
18+
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
19+
# gem 'therubyracer', platforms: :ruby
20+
21+
# Use jquery as the JavaScript library
22+
gem 'jquery-rails'
23+
24+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
25+
gem 'jbuilder', '~> 1.2'
26+
27+
group :doc do
28+
# bundle exec rake doc:rails generates the API under doc/api.
29+
gem 'sdoc', require: false
30+
end
31+
32+
group :test, :development do
33+
gem "pry-rails"
34+
end
35+
36+
group :test do
37+
gem "rspec-rails"
38+
gem "factory_girl_rails", "~> 4.3.0"
39+
# gem "capybara-webkit"
40+
gem "database_cleaner", "~> 1.1.1"
41+
gem "vcr"
42+
gem "webmock", ">= 1.8.0", "< 1.12"
43+
gem "timecop"
44+
end
45+

materials/16/example/Gemfile.lock

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
actionmailer (4.0.1)
5+
actionpack (= 4.0.1)
6+
mail (~> 2.5.4)
7+
actionpack (4.0.1)
8+
activesupport (= 4.0.1)
9+
builder (~> 3.1.0)
10+
erubis (~> 2.7.0)
11+
rack (~> 1.5.2)
12+
rack-test (~> 0.6.2)
13+
activemodel (4.0.1)
14+
activesupport (= 4.0.1)
15+
builder (~> 3.1.0)
16+
activerecord (4.0.1)
17+
activemodel (= 4.0.1)
18+
activerecord-deprecated_finders (~> 1.0.2)
19+
activesupport (= 4.0.1)
20+
arel (~> 4.0.0)
21+
activerecord-deprecated_finders (1.0.3)
22+
activesupport (4.0.1)
23+
i18n (~> 0.6, >= 0.6.4)
24+
minitest (~> 4.2)
25+
multi_json (~> 1.3)
26+
thread_safe (~> 0.1)
27+
tzinfo (~> 0.3.37)
28+
addressable (2.3.5)
29+
arel (4.0.2)
30+
atomic (1.1.15)
31+
builder (3.1.4)
32+
coderay (1.1.0)
33+
coffee-rails (4.0.1)
34+
coffee-script (>= 2.2.0)
35+
railties (>= 4.0.0, < 5.0)
36+
coffee-script (2.2.0)
37+
coffee-script-source
38+
execjs
39+
coffee-script-source (1.7.0)
40+
crack (0.4.2)
41+
safe_yaml (~> 1.0.0)
42+
database_cleaner (1.1.1)
43+
diff-lcs (1.2.5)
44+
erubis (2.7.0)
45+
execjs (2.0.2)
46+
factory_girl (4.3.0)
47+
activesupport (>= 3.0.0)
48+
factory_girl_rails (4.3.0)
49+
factory_girl (~> 4.3.0)
50+
railties (>= 3.0.0)
51+
hike (1.2.3)
52+
i18n (0.6.9)
53+
jbuilder (1.5.3)
54+
activesupport (>= 3.0.0)
55+
multi_json (>= 1.2.0)
56+
jquery-rails (3.1.0)
57+
railties (>= 3.0, < 5.0)
58+
thor (>= 0.14, < 2.0)
59+
json (1.8.1)
60+
mail (2.5.4)
61+
mime-types (~> 1.16)
62+
treetop (~> 1.4.8)
63+
method_source (0.8.2)
64+
mime-types (1.25.1)
65+
minitest (4.7.5)
66+
multi_json (1.9.0)
67+
polyglot (0.3.4)
68+
pry (0.9.12.6)
69+
coderay (~> 1.0)
70+
method_source (~> 0.8)
71+
slop (~> 3.4)
72+
pry-rails (0.3.2)
73+
pry (>= 0.9.10)
74+
rack (1.5.2)
75+
rack-test (0.6.2)
76+
rack (>= 1.0)
77+
rails (4.0.1)
78+
actionmailer (= 4.0.1)
79+
actionpack (= 4.0.1)
80+
activerecord (= 4.0.1)
81+
activesupport (= 4.0.1)
82+
bundler (>= 1.3.0, < 2.0)
83+
railties (= 4.0.1)
84+
sprockets-rails (~> 2.0.0)
85+
railties (4.0.1)
86+
actionpack (= 4.0.1)
87+
activesupport (= 4.0.1)
88+
rake (>= 0.8.7)
89+
thor (>= 0.18.1, < 2.0)
90+
rake (10.1.1)
91+
rdoc (4.1.1)
92+
json (~> 1.4)
93+
rspec-core (2.14.8)
94+
rspec-expectations (2.14.5)
95+
diff-lcs (>= 1.1.3, < 2.0)
96+
rspec-mocks (2.14.6)
97+
rspec-rails (2.14.1)
98+
actionpack (>= 3.0)
99+
activemodel (>= 3.0)
100+
activesupport (>= 3.0)
101+
railties (>= 3.0)
102+
rspec-core (~> 2.14.0)
103+
rspec-expectations (~> 2.14.0)
104+
rspec-mocks (~> 2.14.0)
105+
safe_yaml (1.0.1)
106+
sass (3.3.2)
107+
sass-rails (4.0.1)
108+
railties (>= 4.0.0, < 5.0)
109+
sass (>= 3.1.10)
110+
sprockets-rails (~> 2.0.0)
111+
sdoc (0.4.0)
112+
json (~> 1.8)
113+
rdoc (~> 4.0, < 5.0)
114+
slop (3.5.0)
115+
sprockets (2.11.0)
116+
hike (~> 1.2)
117+
multi_json (~> 1.0)
118+
rack (~> 1.0)
119+
tilt (~> 1.1, != 1.3.0)
120+
sprockets-rails (2.0.1)
121+
actionpack (>= 3.0)
122+
activesupport (>= 3.0)
123+
sprockets (~> 2.8)
124+
sqlite3 (1.3.9)
125+
thor (0.18.1)
126+
thread_safe (0.2.0)
127+
atomic (>= 1.1.7, < 2)
128+
tilt (1.4.1)
129+
timecop (0.7.1)
130+
treetop (1.4.15)
131+
polyglot
132+
polyglot (>= 0.3.1)
133+
tzinfo (0.3.39)
134+
uglifier (2.4.0)
135+
execjs (>= 0.3.0)
136+
json (>= 1.8.0)
137+
vcr (2.8.0)
138+
webmock (1.11.0)
139+
addressable (>= 2.2.7)
140+
crack (>= 0.3.2)
141+
142+
PLATFORMS
143+
ruby
144+
145+
DEPENDENCIES
146+
coffee-rails (~> 4.0.0)
147+
database_cleaner (~> 1.1.1)
148+
factory_girl_rails (~> 4.3.0)
149+
jbuilder (~> 1.2)
150+
jquery-rails
151+
pry-rails
152+
rails (= 4.0.1)
153+
rspec-rails
154+
sass-rails (~> 4.0.0)
155+
sdoc
156+
sqlite3
157+
timecop
158+
uglifier (>= 1.3.0)
159+
vcr
160+
webmock (>= 1.8.0, < 1.12)

materials/16/example/README.rdoc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
== README
2+
3+
This README would normally document whatever steps are necessary to get the
4+
application up and running.
5+
6+
Things you may want to cover:
7+
8+
* Ruby version
9+
10+
* System dependencies
11+
12+
* Configuration
13+
14+
* Database creation
15+
16+
* Database initialization
17+
18+
* How to run the test suite
19+
20+
* Services (job queues, cache servers, search engines, etc.)
21+
22+
* Deployment instructions
23+
24+
* ...
25+
26+
27+
Please feel free to use a different markup language if you do not plan to run
28+
<tt>rake doc:app</tt>.

materials/16/example/Rakefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Add your own tasks in files placed in lib/tasks ending in .rake,
2+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3+
4+
require File.expand_path('../config/application', __FILE__)
5+
6+
Example::Application.load_tasks

materials/16/example/app/assets/images/.keep

Whitespace-only changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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+
// compiled file.
9+
//
10+
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11+
// about supported directives.
12+
//
13+
//= require jquery
14+
//= require jquery_ujs
15+
//= require turbolinks
16+
//= require_tree .
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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+
*/
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
class ApplicationController < ActionController::Base
2+
# Prevent CSRF attacks by raising an exception.
3+
# For APIs, you may want to use :null_session instead.
4+
protect_from_forgery with: :exception
5+
end

materials/16/example/app/controllers/concerns/.keep

Whitespace-only changes.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
module ApplicationHelper
2+
end

materials/16/example/app/mailers/.keep

Whitespace-only changes.

materials/16/example/app/models/.keep

Whitespace-only changes.

materials/16/example/app/models/concerns/.keep

Whitespace-only changes.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>Example</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>

materials/16/example/bin/bundle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env ruby
2+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3+
load Gem.bin_path('bundler', 'bundle')

materials/16/example/bin/rails

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env ruby
2+
APP_PATH = File.expand_path('../../config/application', __FILE__)
3+
require_relative '../config/boot'
4+
require 'rails/commands'

materials/16/example/bin/rake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env ruby
2+
require_relative '../config/boot'
3+
require 'rake'
4+
Rake.application.run

materials/16/example/config.ru

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
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
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
require File.expand_path('../boot', __FILE__)
2+
3+
require 'rails/all'
4+
5+
# Require the gems listed in Gemfile, including any gems
6+
# you've limited to :test, :development, or :production.
7+
Bundler.require(:default, Rails.env)
8+
9+
module Example
10+
class Application < Rails::Application
11+
config.autoload_paths += %W(#{config.root}/lib)
12+
13+
# Settings in config/environments/* take precedence over those specified here.
14+
# Application configuration should go into files in config/initializers
15+
# -- all .rb files in that directory are automatically loaded.
16+
17+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
18+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
19+
# config.time_zone = 'Central Time (US & Canada)'
20+
21+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
22+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
23+
# config.i18n.default_locale = :de
24+
end
25+
end

materials/16/example/config/boot.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
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'])
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Load the Rails application.
2+
require File.expand_path('../application', __FILE__)
3+
4+
# Initialize the Rails application.
5+
Example::Application.initialize!

0 commit comments

Comments
 (0)