untied 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +20 -0
- data/.rvmrc +48 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +7 -0
- data/README.md +124 -0
- data/Rakefile +3 -0
- data/bin/untied_worker +16 -0
- data/examples/goliath/.rvmrc +48 -0
- data/examples/goliath/Gemfile +9 -0
- data/examples/goliath/README.mkd +81 -0
- data/examples/goliath/Rakefile +14 -0
- data/examples/goliath/config/srv.rb +21 -0
- data/examples/goliath/models/user.rb +5 -0
- data/examples/goliath/observer.rb +10 -0
- data/examples/goliath/srv.rb +46 -0
- data/examples/rails-consumer/.rvmrc +48 -0
- data/examples/rails-consumer/Gemfile +38 -0
- data/examples/rails-consumer/README.mkd +37 -0
- data/examples/rails-consumer/Rakefile +7 -0
- data/examples/rails-consumer/app/assets/images/rails.png +0 -0
- data/examples/rails-consumer/app/assets/javascripts/application.js +15 -0
- data/examples/rails-consumer/app/assets/javascripts/users.js.coffee +3 -0
- data/examples/rails-consumer/app/assets/stylesheets/application.css +13 -0
- data/examples/rails-consumer/app/assets/stylesheets/scaffolds.css.scss +69 -0
- data/examples/rails-consumer/app/assets/stylesheets/users.css.scss +3 -0
- data/examples/rails-consumer/app/controllers/application_controller.rb +3 -0
- data/examples/rails-consumer/app/controllers/users_controller.rb +83 -0
- data/examples/rails-consumer/app/helpers/application_helper.rb +2 -0
- data/examples/rails-consumer/app/helpers/users_helper.rb +2 -0
- data/examples/rails-consumer/app/mailers/.gitkeep +0 -0
- data/examples/rails-consumer/app/models/.gitkeep +0 -0
- data/examples/rails-consumer/app/models/untied_user_observer.rb +8 -0
- data/examples/rails-consumer/app/models/user.rb +3 -0
- data/examples/rails-consumer/app/views/layouts/application.html.erb +14 -0
- data/examples/rails-consumer/app/views/users/_form.html.erb +21 -0
- data/examples/rails-consumer/app/views/users/edit.html.erb +6 -0
- data/examples/rails-consumer/app/views/users/index.html.erb +23 -0
- data/examples/rails-consumer/app/views/users/new.html.erb +5 -0
- data/examples/rails-consumer/app/views/users/show.html.erb +10 -0
- data/examples/rails-consumer/config/application.rb +62 -0
- data/examples/rails-consumer/config/boot.rb +6 -0
- data/examples/rails-consumer/config/database.yml +25 -0
- data/examples/rails-consumer/config/environment.rb +5 -0
- data/examples/rails-consumer/config/environments/development.rb +37 -0
- data/examples/rails-consumer/config/environments/production.rb +67 -0
- data/examples/rails-consumer/config/environments/test.rb +37 -0
- data/examples/rails-consumer/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/rails-consumer/config/initializers/inflections.rb +15 -0
- data/examples/rails-consumer/config/initializers/mime_types.rb +5 -0
- data/examples/rails-consumer/config/initializers/secret_token.rb +7 -0
- data/examples/rails-consumer/config/initializers/session_store.rb +8 -0
- data/examples/rails-consumer/config/initializers/untied.rb +4 -0
- data/examples/rails-consumer/config/initializers/wrap_parameters.rb +14 -0
- data/examples/rails-consumer/config/locales/en.yml +5 -0
- data/examples/rails-consumer/config/routes.rb +60 -0
- data/examples/rails-consumer/config.ru +4 -0
- data/examples/rails-consumer/db/development.sqlite3 +0 -0
- data/examples/rails-consumer/db/migrate/20121019155057_create_users.rb +9 -0
- data/examples/rails-consumer/db/schema.rb +22 -0
- data/examples/rails-consumer/db/seeds.rb +7 -0
- data/examples/rails-consumer/lib/assets/.gitkeep +0 -0
- data/examples/rails-consumer/lib/tasks/.gitkeep +0 -0
- data/examples/rails-consumer/log/.gitkeep +0 -0
- data/examples/rails-consumer/log/development.log +135 -0
- data/examples/rails-consumer/public/404.html +26 -0
- data/examples/rails-consumer/public/422.html +26 -0
- data/examples/rails-consumer/public/500.html +25 -0
- data/examples/rails-consumer/public/favicon.ico +0 -0
- data/examples/rails-consumer/public/index.html +241 -0
- data/examples/rails-consumer/public/robots.txt +5 -0
- data/examples/rails-consumer/script/rails +6 -0
- data/examples/rails-consumer/test/fixtures/.gitkeep +0 -0
- data/examples/rails-consumer/test/fixtures/users.yml +7 -0
- data/examples/rails-consumer/test/functional/.gitkeep +0 -0
- data/examples/rails-consumer/test/functional/users_controller_test.rb +49 -0
- data/examples/rails-consumer/test/integration/.gitkeep +0 -0
- data/examples/rails-consumer/test/performance/browsing_test.rb +12 -0
- data/examples/rails-consumer/test/test_helper.rb +13 -0
- data/examples/rails-consumer/test/unit/.gitkeep +0 -0
- data/examples/rails-consumer/test/unit/helpers/users_helper_test.rb +4 -0
- data/examples/rails-consumer/test/unit/user_test.rb +7 -0
- data/examples/rails-consumer/vendor/assets/javascripts/.gitkeep +0 -0
- data/examples/rails-consumer/vendor/assets/stylesheets/.gitkeep +0 -0
- data/examples/rails-consumer/vendor/plugins/.gitkeep +0 -0
- data/examples/social_network.rb +1 -0
- data/lib/untied/version.rb +4 -0
- data/lib/untied.rb +20 -0
- data/spec/spec_helper.rb +28 -0
- data/spec/support/setup_ar_and_schema.rb +24 -0
- data/untied.gemspec +25 -0
- metadata +212 -0
Binary file
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# This file is auto-generated from the current state of the database. Instead
|
3
|
+
# of editing this file, please use the migrations feature of Active Record to
|
4
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
+
#
|
6
|
+
# Note that this schema.rb definition is the authoritative source for your
|
7
|
+
# database schema. If you need to create the application database on another
|
8
|
+
# system, you should be using db:schema:load, not running all the migrations
|
9
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
+
#
|
12
|
+
# It's strongly recommended to check this file into your version control system.
|
13
|
+
|
14
|
+
ActiveRecord::Schema.define(:version => 20121019155057) do
|
15
|
+
|
16
|
+
create_table "users", :force => true do |t|
|
17
|
+
t.string "name"
|
18
|
+
t.datetime "created_at", :null => false
|
19
|
+
t.datetime "updated_at", :null => false
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,7 @@
|
|
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)
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,135 @@
|
|
1
|
+
Connecting to database specified by database.yml
|
2
|
+
Connecting to database specified by database.yml
|
3
|
+
Connecting to database specified by database.yml
|
4
|
+
Connecting to database specified by database.yml
|
5
|
+
Connecting to database specified by database.yml
|
6
|
+
Connecting to database specified by database.yml
|
7
|
+
Connecting to database specified by database.yml
|
8
|
+
Connecting to database specified by database.yml
|
9
|
+
Connecting to database specified by database.yml
|
10
|
+
Connecting to database specified by database.yml
|
11
|
+
Connecting to database specified by database.yml
|
12
|
+
Connecting to database specified by database.yml
|
13
|
+
Connecting to database specified by database.yml
|
14
|
+
Connecting to database specified by database.yml
|
15
|
+
[1m[36m (0.2ms)[0m [1mselect sqlite_version(*)[0m
|
16
|
+
[1m[35m (2.5ms)[0m CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
|
17
|
+
[1m[36m (0.0ms)[0m [1mPRAGMA index_list("schema_migrations")[0m
|
18
|
+
[1m[35m (1.3ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
19
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
20
|
+
Migrating to CreateUsers (20121019152451)
|
21
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22
|
+
[1m[36m (0.5ms)[0m [1mCREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "first_name" varchar(255), "last_name" varchar(255), "login" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) [0m
|
23
|
+
[1m[35m (0.1ms)[0m INSERT INTO "schema_migrations" ("version") VALUES ('20121019152451')
|
24
|
+
[1m[36m (1.6ms)[0m [1mcommit transaction[0m
|
25
|
+
[1m[35m (0.4ms)[0m select sqlite_version(*)
|
26
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
27
|
+
[1m[35m (0.0ms)[0m PRAGMA index_list("users")
|
28
|
+
Connecting to database specified by database.yml
|
29
|
+
Connecting to database specified by database.yml
|
30
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
31
|
+
[1m[35m (0.1ms)[0m SELECT "schema_migrations"."version" FROM "schema_migrations"
|
32
|
+
Migrating to CreateUsers (20121019152451)
|
33
|
+
[1m[36m (0.0ms)[0m [1mselect sqlite_version(*)[0m
|
34
|
+
[1m[35m (0.0ms)[0m begin transaction
|
35
|
+
[1m[36m (25.0ms)[0m [1mDROP TABLE "users"[0m
|
36
|
+
[1m[35m (0.1ms)[0m DELETE FROM "schema_migrations" WHERE "schema_migrations"."version" = '20121019152451'
|
37
|
+
[1m[36m (1.4ms)[0m [1mcommit transaction[0m
|
38
|
+
[1m[35m (0.4ms)[0m select sqlite_version(*)
|
39
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
40
|
+
Connecting to database specified by database.yml
|
41
|
+
Connecting to database specified by database.yml
|
42
|
+
Connecting to database specified by database.yml
|
43
|
+
Connecting to database specified by database.yml
|
44
|
+
Connecting to database specified by database.yml
|
45
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
46
|
+
Migrating to CreateUsers (20121019155057)
|
47
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
48
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
49
|
+
[1m[35m (0.7ms)[0m CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
|
50
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "schema_migrations" ("version") VALUES ('20121019155057')[0m
|
51
|
+
[1m[35m (2.2ms)[0m commit transaction
|
52
|
+
[1m[36m (0.4ms)[0m [1mselect sqlite_version(*)[0m
|
53
|
+
[1m[35m (0.1ms)[0m SELECT "schema_migrations"."version" FROM "schema_migrations"
|
54
|
+
[1m[36m (0.0ms)[0m [1mPRAGMA index_list("users")[0m
|
55
|
+
Connecting to database specified by database.yml
|
56
|
+
Connecting to database specified by database.yml
|
57
|
+
Connecting to database specified by database.yml
|
58
|
+
Connecting to database specified by database.yml
|
59
|
+
Worker initialized and listening
|
60
|
+
Untied::Processor: processing event after_create from goliath with payload {:user=>{:created_at=>"2012-10-20T14:34:09-03:00", :id=>2, :name=>"guila", :updated_at=>"2012-10-20T14:34:09-03:00"}}
|
61
|
+
Worker initialized and listening
|
62
|
+
Untied::Processor: processing event after_create from goliath with payload {:user=>{:created_at=>"2012-10-20T14:34:50-03:00", :id=>3, :name=>"guila", :updated_at=>"2012-10-20T14:34:50-03:00"}}
|
63
|
+
Worker initialized and listening
|
64
|
+
Worker initialized and listening
|
65
|
+
Untied::Processor: processing event after_create from goliath with payload {:user=>{:created_at=>"2012-10-20T15:02:53-03:00", :id=>1, :name=>"guila", :updated_at=>"2012-10-20T15:02:53-03:00"}}
|
66
|
+
Connecting to database specified by database.yml
|
67
|
+
Worker initialized and listening
|
68
|
+
Untied::Processor: processing event after_create from goliath with payload {:user=>{:created_at=>"2012-10-20T15:08:24-03:00", :id=>2, :name=>"guila", :updated_at=>"2012-10-20T15:08:24-03:00"}}
|
69
|
+
Worker initialized and listening
|
70
|
+
Untied::Processor: processing event after_create from goliath with payload {:user=>{:created_at=>"2012-10-20T15:08:51-03:00", :id=>3, :name=>"guila", :updated_at=>"2012-10-20T15:08:51-03:00"}}
|
71
|
+
Creating user
|
72
|
+
Connecting to database specified by database.yml
|
73
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
74
|
+
[1m[35mSQL (110.8ms)[0m INSERT INTO "users" ("created_at", "name", "updated_at") VALUES (?, ?, ?) [["created_at", Sat, 20 Oct 2012 18:08:52 UTC +00:00], ["name", "guila"], ["updated_at", Sat, 20 Oct 2012 18:08:52 UTC +00:00]]
|
75
|
+
[1m[36m (2.0ms)[0m [1mcommit transaction[0m
|
76
|
+
|
77
|
+
|
78
|
+
Started GET "/assets/rails.png" for 127.0.0.1 at 2012-10-20 15:09:35 -0300
|
79
|
+
Connecting to database specified by database.yml
|
80
|
+
Served asset /rails.png - 200 OK (29ms)
|
81
|
+
|
82
|
+
|
83
|
+
Started GET "/users" for 127.0.0.1 at 2012-10-20 15:09:38 -0300
|
84
|
+
Processing by UsersController#index as HTML
|
85
|
+
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" [0m
|
86
|
+
Rendered users/index.html.erb within layouts/application (8.1ms)
|
87
|
+
Compiled scaffolds.css (66ms) (pid 66598)
|
88
|
+
Compiled users.css (1ms) (pid 66598)
|
89
|
+
Compiled application.css (134ms) (pid 66598)
|
90
|
+
Compiled jquery.js (6ms) (pid 66598)
|
91
|
+
Compiled jquery_ujs.js (0ms) (pid 66598)
|
92
|
+
Compiled users.js (229ms) (pid 66598)
|
93
|
+
Compiled application.js (350ms) (pid 66598)
|
94
|
+
Completed 200 OK in 744ms (Views: 675.1ms | ActiveRecord: 2.3ms)
|
95
|
+
|
96
|
+
|
97
|
+
Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2012-10-20 15:09:38 -0300
|
98
|
+
Served asset /application.css - 200 OK (6ms)
|
99
|
+
|
100
|
+
|
101
|
+
Started GET "/assets/scaffolds.css?body=1" for 127.0.0.1 at 2012-10-20 15:09:39 -0300
|
102
|
+
Served asset /scaffolds.css - 200 OK (1ms)
|
103
|
+
|
104
|
+
|
105
|
+
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2012-10-20 15:09:39 -0300
|
106
|
+
Served asset /application.js - 200 OK (6ms)
|
107
|
+
|
108
|
+
|
109
|
+
Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2012-10-20 15:09:39 -0300
|
110
|
+
Served asset /jquery_ujs.js - 200 OK (2ms)
|
111
|
+
|
112
|
+
|
113
|
+
Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2012-10-20 15:09:39 -0300
|
114
|
+
Served asset /jquery.js - 200 OK (2ms)
|
115
|
+
|
116
|
+
|
117
|
+
Started GET "/assets/users.js?body=1" for 127.0.0.1 at 2012-10-20 15:09:39 -0300
|
118
|
+
Served asset /users.js - 200 OK (2ms)
|
119
|
+
|
120
|
+
|
121
|
+
Started GET "/assets/users.css?body=1" for 127.0.0.1 at 2012-10-20 15:09:39 -0300
|
122
|
+
Served asset /users.css - 200 OK (1ms)
|
123
|
+
|
124
|
+
|
125
|
+
Started GET "/users/1" for 127.0.0.1 at 2012-10-20 15:09:41 -0300
|
126
|
+
Processing by UsersController#show as HTML
|
127
|
+
Parameters: {"id"=>"1"}
|
128
|
+
[1m[35mUser Load (0.4ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", "1"]]
|
129
|
+
Rendered users/show.html.erb within layouts/application (1.8ms)
|
130
|
+
Completed 200 OK in 11ms (Views: 7.7ms | ActiveRecord: 0.4ms)
|
131
|
+
Untied::Processor: processing event after_create from goliath with payload {:user=>{:created_at=>"2012-10-20T15:14:03-03:00", :id=>4, :name=>"guila", :updated_at=>"2012-10-20T15:14:03-03:00"}}
|
132
|
+
Creating user
|
133
|
+
[1m[35m (0.1ms)[0m begin transaction
|
134
|
+
[1m[36mSQL (247.6ms)[0m [1mINSERT INTO "users" ("created_at", "name", "updated_at") VALUES (?, ?, ?)[0m [["created_at", Sat, 20 Oct 2012 18:14:03 UTC +00:00], ["name", "guila"], ["updated_at", Sat, 20 Oct 2012 18:14:03 UTC +00:00]]
|
135
|
+
[1m[35m (197.1ms)[0m commit transaction
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/404.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
23
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/422.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>The change you wanted was rejected.</h1>
|
23
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
5
|
+
<style type="text/css">
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
7
|
+
div.dialog {
|
8
|
+
width: 25em;
|
9
|
+
padding: 0 4em;
|
10
|
+
margin: 4em auto 0 auto;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-right-color: #999;
|
13
|
+
border-bottom-color: #999;
|
14
|
+
}
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
16
|
+
</style>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
<body>
|
20
|
+
<!-- This file lives in public/500.html -->
|
21
|
+
<div class="dialog">
|
22
|
+
<h1>We're sorry, but something went wrong.</h1>
|
23
|
+
</div>
|
24
|
+
</body>
|
25
|
+
</html>
|
File without changes
|
@@ -0,0 +1,241 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Ruby on Rails: Welcome aboard</title>
|
5
|
+
<style type="text/css" media="screen">
|
6
|
+
body {
|
7
|
+
margin: 0;
|
8
|
+
margin-bottom: 25px;
|
9
|
+
padding: 0;
|
10
|
+
background-color: #f0f0f0;
|
11
|
+
font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
|
12
|
+
font-size: 13px;
|
13
|
+
color: #333;
|
14
|
+
}
|
15
|
+
|
16
|
+
h1 {
|
17
|
+
font-size: 28px;
|
18
|
+
color: #000;
|
19
|
+
}
|
20
|
+
|
21
|
+
a {color: #03c}
|
22
|
+
a:hover {
|
23
|
+
background-color: #03c;
|
24
|
+
color: white;
|
25
|
+
text-decoration: none;
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
#page {
|
30
|
+
background-color: #f0f0f0;
|
31
|
+
width: 750px;
|
32
|
+
margin: 0;
|
33
|
+
margin-left: auto;
|
34
|
+
margin-right: auto;
|
35
|
+
}
|
36
|
+
|
37
|
+
#content {
|
38
|
+
float: left;
|
39
|
+
background-color: white;
|
40
|
+
border: 3px solid #aaa;
|
41
|
+
border-top: none;
|
42
|
+
padding: 25px;
|
43
|
+
width: 500px;
|
44
|
+
}
|
45
|
+
|
46
|
+
#sidebar {
|
47
|
+
float: right;
|
48
|
+
width: 175px;
|
49
|
+
}
|
50
|
+
|
51
|
+
#footer {
|
52
|
+
clear: both;
|
53
|
+
}
|
54
|
+
|
55
|
+
#header, #about, #getting-started {
|
56
|
+
padding-left: 75px;
|
57
|
+
padding-right: 30px;
|
58
|
+
}
|
59
|
+
|
60
|
+
|
61
|
+
#header {
|
62
|
+
background-image: url("assets/rails.png");
|
63
|
+
background-repeat: no-repeat;
|
64
|
+
background-position: top left;
|
65
|
+
height: 64px;
|
66
|
+
}
|
67
|
+
#header h1, #header h2 {margin: 0}
|
68
|
+
#header h2 {
|
69
|
+
color: #888;
|
70
|
+
font-weight: normal;
|
71
|
+
font-size: 16px;
|
72
|
+
}
|
73
|
+
|
74
|
+
|
75
|
+
#about h3 {
|
76
|
+
margin: 0;
|
77
|
+
margin-bottom: 10px;
|
78
|
+
font-size: 14px;
|
79
|
+
}
|
80
|
+
|
81
|
+
#about-content {
|
82
|
+
background-color: #ffd;
|
83
|
+
border: 1px solid #fc0;
|
84
|
+
margin-left: -55px;
|
85
|
+
margin-right: -10px;
|
86
|
+
}
|
87
|
+
#about-content table {
|
88
|
+
margin-top: 10px;
|
89
|
+
margin-bottom: 10px;
|
90
|
+
font-size: 11px;
|
91
|
+
border-collapse: collapse;
|
92
|
+
}
|
93
|
+
#about-content td {
|
94
|
+
padding: 10px;
|
95
|
+
padding-top: 3px;
|
96
|
+
padding-bottom: 3px;
|
97
|
+
}
|
98
|
+
#about-content td.name {color: #555}
|
99
|
+
#about-content td.value {color: #000}
|
100
|
+
|
101
|
+
#about-content ul {
|
102
|
+
padding: 0;
|
103
|
+
list-style-type: none;
|
104
|
+
}
|
105
|
+
|
106
|
+
#about-content.failure {
|
107
|
+
background-color: #fcc;
|
108
|
+
border: 1px solid #f00;
|
109
|
+
}
|
110
|
+
#about-content.failure p {
|
111
|
+
margin: 0;
|
112
|
+
padding: 10px;
|
113
|
+
}
|
114
|
+
|
115
|
+
|
116
|
+
#getting-started {
|
117
|
+
border-top: 1px solid #ccc;
|
118
|
+
margin-top: 25px;
|
119
|
+
padding-top: 15px;
|
120
|
+
}
|
121
|
+
#getting-started h1 {
|
122
|
+
margin: 0;
|
123
|
+
font-size: 20px;
|
124
|
+
}
|
125
|
+
#getting-started h2 {
|
126
|
+
margin: 0;
|
127
|
+
font-size: 14px;
|
128
|
+
font-weight: normal;
|
129
|
+
color: #333;
|
130
|
+
margin-bottom: 25px;
|
131
|
+
}
|
132
|
+
#getting-started ol {
|
133
|
+
margin-left: 0;
|
134
|
+
padding-left: 0;
|
135
|
+
}
|
136
|
+
#getting-started li {
|
137
|
+
font-size: 18px;
|
138
|
+
color: #888;
|
139
|
+
margin-bottom: 25px;
|
140
|
+
}
|
141
|
+
#getting-started li h2 {
|
142
|
+
margin: 0;
|
143
|
+
font-weight: normal;
|
144
|
+
font-size: 18px;
|
145
|
+
color: #333;
|
146
|
+
}
|
147
|
+
#getting-started li p {
|
148
|
+
color: #555;
|
149
|
+
font-size: 13px;
|
150
|
+
}
|
151
|
+
|
152
|
+
|
153
|
+
#sidebar ul {
|
154
|
+
margin-left: 0;
|
155
|
+
padding-left: 0;
|
156
|
+
}
|
157
|
+
#sidebar ul h3 {
|
158
|
+
margin-top: 25px;
|
159
|
+
font-size: 16px;
|
160
|
+
padding-bottom: 10px;
|
161
|
+
border-bottom: 1px solid #ccc;
|
162
|
+
}
|
163
|
+
#sidebar li {
|
164
|
+
list-style-type: none;
|
165
|
+
}
|
166
|
+
#sidebar ul.links li {
|
167
|
+
margin-bottom: 5px;
|
168
|
+
}
|
169
|
+
|
170
|
+
.filename {
|
171
|
+
font-style: italic;
|
172
|
+
}
|
173
|
+
</style>
|
174
|
+
<script type="text/javascript">
|
175
|
+
function about() {
|
176
|
+
info = document.getElementById('about-content');
|
177
|
+
if (window.XMLHttpRequest)
|
178
|
+
{ xhr = new XMLHttpRequest(); }
|
179
|
+
else
|
180
|
+
{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
|
181
|
+
xhr.open("GET","rails/info/properties",false);
|
182
|
+
xhr.send("");
|
183
|
+
info.innerHTML = xhr.responseText;
|
184
|
+
info.style.display = 'block'
|
185
|
+
}
|
186
|
+
</script>
|
187
|
+
</head>
|
188
|
+
<body>
|
189
|
+
<div id="page">
|
190
|
+
<div id="sidebar">
|
191
|
+
<ul id="sidebar-items">
|
192
|
+
<li>
|
193
|
+
<h3>Browse the documentation</h3>
|
194
|
+
<ul class="links">
|
195
|
+
<li><a href="http://guides.rubyonrails.org/">Rails Guides</a></li>
|
196
|
+
<li><a href="http://api.rubyonrails.org/">Rails API</a></li>
|
197
|
+
<li><a href="http://www.ruby-doc.org/core/">Ruby core</a></li>
|
198
|
+
<li><a href="http://www.ruby-doc.org/stdlib/">Ruby standard library</a></li>
|
199
|
+
</ul>
|
200
|
+
</li>
|
201
|
+
</ul>
|
202
|
+
</div>
|
203
|
+
|
204
|
+
<div id="content">
|
205
|
+
<div id="header">
|
206
|
+
<h1>Welcome aboard</h1>
|
207
|
+
<h2>You’re riding Ruby on Rails!</h2>
|
208
|
+
</div>
|
209
|
+
|
210
|
+
<div id="about">
|
211
|
+
<h3><a href="rails/info/properties" onclick="about(); return false">About your application’s environment</a></h3>
|
212
|
+
<div id="about-content" style="display: none"></div>
|
213
|
+
</div>
|
214
|
+
|
215
|
+
<div id="getting-started">
|
216
|
+
<h1>Getting started</h1>
|
217
|
+
<h2>Here’s how to get rolling:</h2>
|
218
|
+
|
219
|
+
<ol>
|
220
|
+
<li>
|
221
|
+
<h2>Use <code>rails generate</code> to create your models and controllers</h2>
|
222
|
+
<p>To see all available options, run it without parameters.</p>
|
223
|
+
</li>
|
224
|
+
|
225
|
+
<li>
|
226
|
+
<h2>Set up a default route and remove <span class="filename">public/index.html</span></h2>
|
227
|
+
<p>Routes are set up in <span class="filename">config/routes.rb</span>.</p>
|
228
|
+
</li>
|
229
|
+
|
230
|
+
<li>
|
231
|
+
<h2>Create your database</h2>
|
232
|
+
<p>Run <code>rake db:create</code> to create your database. If you're not using SQLite (the default), edit <span class="filename">config/database.yml</span> with your username and password.</p>
|
233
|
+
</li>
|
234
|
+
</ol>
|
235
|
+
</div>
|
236
|
+
</div>
|
237
|
+
|
238
|
+
<div id="footer"> </div>
|
239
|
+
</div>
|
240
|
+
</body>
|
241
|
+
</html>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
3
|
+
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
6
|
+
require 'rails/commands'
|
File without changes
|
File without changes
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class UsersControllerTest < ActionController::TestCase
|
4
|
+
setup do
|
5
|
+
@user = users(:one)
|
6
|
+
end
|
7
|
+
|
8
|
+
test "should get index" do
|
9
|
+
get :index
|
10
|
+
assert_response :success
|
11
|
+
assert_not_nil assigns(:users)
|
12
|
+
end
|
13
|
+
|
14
|
+
test "should get new" do
|
15
|
+
get :new
|
16
|
+
assert_response :success
|
17
|
+
end
|
18
|
+
|
19
|
+
test "should create user" do
|
20
|
+
assert_difference('User.count') do
|
21
|
+
post :create, user: { name: @user.name }
|
22
|
+
end
|
23
|
+
|
24
|
+
assert_redirected_to user_path(assigns(:user))
|
25
|
+
end
|
26
|
+
|
27
|
+
test "should show user" do
|
28
|
+
get :show, id: @user
|
29
|
+
assert_response :success
|
30
|
+
end
|
31
|
+
|
32
|
+
test "should get edit" do
|
33
|
+
get :edit, id: @user
|
34
|
+
assert_response :success
|
35
|
+
end
|
36
|
+
|
37
|
+
test "should update user" do
|
38
|
+
put :update, id: @user, user: { name: @user.name }
|
39
|
+
assert_redirected_to user_path(assigns(:user))
|
40
|
+
end
|
41
|
+
|
42
|
+
test "should destroy user" do
|
43
|
+
assert_difference('User.count', -1) do
|
44
|
+
delete :destroy, id: @user
|
45
|
+
end
|
46
|
+
|
47
|
+
assert_redirected_to users_path
|
48
|
+
end
|
49
|
+
end
|
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'rails/performance_test_help'
|
3
|
+
|
4
|
+
class BrowsingTest < ActionDispatch::PerformanceTest
|
5
|
+
# Refer to the documentation for all available options
|
6
|
+
# self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory]
|
7
|
+
# :output => 'tmp/performance', :formats => [:flat] }
|
8
|
+
|
9
|
+
def test_homepage
|
10
|
+
get '/'
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
ENV["RAILS_ENV"] = "test"
|
2
|
+
require File.expand_path('../../config/environment', __FILE__)
|
3
|
+
require 'rails/test_help'
|
4
|
+
|
5
|
+
class ActiveSupport::TestCase
|
6
|
+
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
|
7
|
+
#
|
8
|
+
# Note: You'll currently still have to declare fixtures explicitly in integration tests
|
9
|
+
# -- they do not yet inherit this setting
|
10
|
+
fixtures :all
|
11
|
+
|
12
|
+
# Add more helper methods to be used by all tests here...
|
13
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|