nice 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.md +115 -0
- data/Rakefile +38 -0
- data/lib/assets/javascripts/event_dispatcher.coffee +34 -0
- data/lib/assets/javascripts/nice_imp_jquery.js.coffee +40 -0
- data/lib/assets/javascripts/nice_jquery.js +15 -0
- data/lib/nice.rb +5 -0
- data/lib/nice/engine.rb +4 -0
- data/lib/nice/html_parser.rb +126 -0
- data/lib/nice/js/caller.rb +29 -0
- data/lib/nice/logic.rb +61 -0
- data/lib/nice/middleware.rb +84 -0
- data/lib/nice/version.rb +3 -0
- data/lib/tasks/nice_tasks.rake +4 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +56 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +8 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/nice_test.rb +7 -0
- data/test/nizzaTestApp/Gemfile +45 -0
- data/test/nizzaTestApp/Gemfile.lock +130 -0
- data/test/nizzaTestApp/README.rdoc +261 -0
- data/test/nizzaTestApp/Rakefile +7 -0
- data/test/nizzaTestApp/app/assets/images/rails.png +0 -0
- data/test/nizzaTestApp/app/assets/javascripts/application.js +16 -0
- data/test/nizzaTestApp/app/assets/javascripts/books.js.coffee +3 -0
- data/test/nizzaTestApp/app/assets/javascripts/nice.js.coffee +3 -0
- data/test/nizzaTestApp/app/assets/stylesheets/application.css +23 -0
- data/test/nizzaTestApp/app/assets/stylesheets/books.css.scss +3 -0
- data/test/nizzaTestApp/app/assets/stylesheets/nice.css.scss +34 -0
- data/test/nizzaTestApp/app/assets/stylesheets/scaffolds.css.scss +46 -0
- data/test/nizzaTestApp/app/controllers/application_controller.rb +3 -0
- data/test/nizzaTestApp/app/controllers/books_controller.rb +83 -0
- data/test/nizzaTestApp/app/controllers/nice_controller.rb +9 -0
- data/test/nizzaTestApp/app/helpers/application_helper.rb +2 -0
- data/test/nizzaTestApp/app/helpers/books_helper.rb +2 -0
- data/test/nizzaTestApp/app/helpers/nice_helper.rb +2 -0
- data/test/nizzaTestApp/app/models/book.rb +3 -0
- data/test/nizzaTestApp/app/views/books/_form.html.erb +26 -0
- data/test/nizzaTestApp/app/views/books/edit.html.erb +4 -0
- data/test/nizzaTestApp/app/views/books/index.html.erb +38 -0
- data/test/nizzaTestApp/app/views/books/new.html.erb +4 -0
- data/test/nizzaTestApp/app/views/books/show.html.erb +27 -0
- data/test/nizzaTestApp/app/views/layouts/application.html.haml +11 -0
- data/test/nizzaTestApp/app/views/layouts/nice.html.haml +16 -0
- data/test/nizzaTestApp/app/views/nice/many.html.haml +6 -0
- data/test/nizzaTestApp/app/views/nice/simple.html.haml +7 -0
- data/test/nizzaTestApp/config.ru +4 -0
- data/test/nizzaTestApp/config/application.rb +65 -0
- data/test/nizzaTestApp/config/boot.rb +6 -0
- data/test/nizzaTestApp/config/database.yml +25 -0
- data/test/nizzaTestApp/config/environment.rb +5 -0
- data/test/nizzaTestApp/config/environments/development.rb +37 -0
- data/test/nizzaTestApp/config/environments/production.rb +67 -0
- data/test/nizzaTestApp/config/environments/test.rb +37 -0
- data/test/nizzaTestApp/config/initializers/backtrace_silencers.rb +7 -0
- data/test/nizzaTestApp/config/initializers/inflections.rb +15 -0
- data/test/nizzaTestApp/config/initializers/mime_types.rb +5 -0
- data/test/nizzaTestApp/config/initializers/secret_token.rb +7 -0
- data/test/nizzaTestApp/config/initializers/session_store.rb +8 -0
- data/test/nizzaTestApp/config/initializers/wrap_parameters.rb +14 -0
- data/test/nizzaTestApp/config/locales/en.yml +5 -0
- data/test/nizzaTestApp/config/routes.rb +64 -0
- data/test/nizzaTestApp/db/development.sqlite3 +0 -0
- data/test/nizzaTestApp/db/migrate/20120424181757_create_books.rb +11 -0
- data/test/nizzaTestApp/db/schema.rb +24 -0
- data/test/nizzaTestApp/db/seeds.rb +7 -0
- data/test/nizzaTestApp/doc/README_FOR_APP +2 -0
- data/test/nizzaTestApp/log/development.log +18129 -0
- data/test/nizzaTestApp/public/404.html +26 -0
- data/test/nizzaTestApp/public/422.html +26 -0
- data/test/nizzaTestApp/public/500.html +25 -0
- data/test/nizzaTestApp/public/favicon.ico +0 -0
- data/test/nizzaTestApp/public/html_a.html +19 -0
- data/test/nizzaTestApp/public/robots.txt +5 -0
- data/test/nizzaTestApp/script/rails +6 -0
- data/test/nizzaTestApp/test/fixtures/books.yml +11 -0
- data/test/nizzaTestApp/test/functional/books_controller_test.rb +49 -0
- data/test/nizzaTestApp/test/functional/nice_controller_test.rb +14 -0
- data/test/nizzaTestApp/test/performance/browsing_test.rb +12 -0
- data/test/nizzaTestApp/test/test_helper.rb +13 -0
- data/test/nizzaTestApp/test/unit/book_test.rb +7 -0
- data/test/nizzaTestApp/test/unit/helpers/books_helper_test.rb +4 -0
- data/test/nizzaTestApp/test/unit/helpers/nice_helper_test.rb +4 -0
- data/test/nizzaTestApp/tmp/cache/assets/C0B/BC0/sprockets%2F101e06a7a14c184823c19103629096d2 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/C1E/9B0/sprockets%2F7b5417470164315b3893a6761f235fd1 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/C46/5D0/sprockets%2F41a35570f1490d1582cf6349724a611c +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/C53/A30/sprockets%2F54110227445e976ce96491b91152ad5f +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/C7B/CC0/sprockets%2F85d74df12791bf3446221275a72ac812 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/C7F/E00/sprockets%2Ff0913862ad164458ad09cf05236f2286 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CA1/570/sprockets%2F96de018b14a15866fd23113417cbc730 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CA9/020/sprockets%2F9c6b44b42095db99107072f3023c45dd +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CAC/730/sprockets%2F892c8ec11684bd01347124824bf35af5 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CBF/5E0/sprockets%2F68c66e476c73987d8b6f2ae8160102e2 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CD3/460/sprockets%2Fd584d62c054619a28c1c0cff1910521f +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CD7/6F0/sprockets%2Fbd3936370d0f952ada5774e2230046ed +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CDB/590/sprockets%2Ff3a3730475dbf19c4a286b5a4f772161 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CDD/0B0/sprockets%2Fb351b5f1236c183f9961725ca13ec3e9 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CE3/600/sprockets%2F683a4e08e292483284fad185a85e4a3a +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CE4/FC0/sprockets%2F919f9138b534aa39c3fa50c87e8420a6 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CE6/960/sprockets%2F7555284c4d8a6b95e4d2c10e7d02684e +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CEF/1E0/sprockets%2Fc4f9a95bee5399474db38395336d10d2 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CF4/140/sprockets%2F22a3157d204c1f8e417a25f01a2dbe45 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/CF6/C20/sprockets%2F7847096fc8a875a9b941beb70e91284d +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D05/840/sprockets%2F0ac43b191b0098c9942ebe5e47406ea2 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D0B/710/sprockets%2F66190523b03af056e8dca69cd9fd2242 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D0E/F80/sprockets%2F8c2b061e379a23e7c4d207adcf992462 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D0F/3E0/sprockets%2F6654975eaa53a225d976278fcb6baa00 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D10/A10/sprockets%2F9fe3a3308aaa4e98688d77b9b22111a4 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D1A/E10/sprockets%2Ff2d34568efb5305d6990b1502d8c6ff7 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D1C/C90/sprockets%2F8eb2c6f59556a9aa92dbf132856910c9 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D2C/6F0/sprockets%2F1852beb3a2ad67b2cc634f05e142435e +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D2D/200/sprockets%2F164554b0cd8a0c5bbc610521a87cf19e +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D2D/D50/sprockets%2Fd585a06e2ee6203ccb04c8b84150d14d +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D30/9B0/sprockets%2Fa365b8a67c4a6a210d178c2c7dc812f0 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D39/F10/sprockets%2F04aab6c01e8d12d151f54e8c6ee79715 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D3B/B40/sprockets%2Fd50a18a28a8aefa85142997ae7a22f24 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D3C/990/sprockets%2F47cc6b7ccafd54046c3881f18a16e162 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D3D/DC0/sprockets%2F24a8e58314bc87244de540eee302f3ef +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D46/330/sprockets%2F50ff63775b3d84d16b93348bedd0d5d4 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D51/0C0/sprockets%2F7ae1c78c809fa25eef9e8f5052a99332 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D55/F00/sprockets%2F3df7a51021aa28af9f436ab24dc2c430 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D58/170/sprockets%2F1d1519f0daa88f114d10945d0a0ee5bb +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D71/EB0/sprockets%2F9a57785b6dbd04ace339105c79ca5ad6 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D73/4C0/sprockets%2Fac8c9d97edb15b84cb35a184822952da +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D76/710/sprockets%2Ff9dabce89a305adf72963094731ef53a +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D78/6E0/sprockets%2F66c9f9ea0228a2bad83467d8a416fe4f +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/D7B/A50/sprockets%2Fb1b95d84f048a6e4ce984cd1e29f50d6 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/DB7/CB0/sprockets%2F2402f5cbeb259c1b7a03f6a0ff074adb +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/DDE/620/sprockets%2Ff6f9a7fedaea753da63ea72347d8c385 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/E07/B70/sprockets%2Fd8c8bcaa8828e657a5fd4b9cacb92a17 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/E19/2A0/sprockets%2F10fcfbe6ebae11a40c8eac41939a1b9a +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/E25/4C0/sprockets%2Fde2fd9fd11c04a582cdbbe3d84a35ae6 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/E5F/FD0/sprockets%2F43fe06bae4e63b9cecaf84e1d8b0cdf7 +0 -0
- data/test/nizzaTestApp/tmp/cache/assets/E64/EC0/sprockets%2Fea602649ea9f2e7adceb8c2f7d3cc5fc +0 -0
- data/test/nizzaTestApp/tmp/cache/sass/279c98e2d4f2491dbaea6ced015d162cb89b00e3/books.css.scssc +0 -0
- data/test/nizzaTestApp/tmp/cache/sass/279c98e2d4f2491dbaea6ced015d162cb89b00e3/scaffolds.css.scssc +0 -0
- data/test/nizzaTestApp/tmp/cache/sass/40d1259310c37828c7b403e05d7a941ef3d84db5/nice.css.scssc +0 -0
- data/test/nizzaTestApp/tmp/cache/sass/40d1259310c37828c7b403e05d7a941ef3d84db5/scaffolds.css.scssc +0 -0
- data/test/nizzaTestApp/tmp/cache/sass/fa4fcc5ec3c4b006233db2677ec61c27ca744dda/nice.css.scssc +0 -0
- data/test/test_helper.rb +15 -0
- metadata +433 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
// Place all the styles related to the Nice controller here.
|
2
|
+
// They will automatically be included in application.css.
|
3
|
+
// You can use Sass (SCSS) here: http://sass-lang.com/
|
4
|
+
|
5
|
+
$color-one: rgba(255,0,100,0.4);
|
6
|
+
$color-two: rgba(255,255,00,0.4);
|
7
|
+
$color-three: rgba(0,200,120,0.4);
|
8
|
+
|
9
|
+
div{
|
10
|
+
padding: 5px;
|
11
|
+
margin: 5px;
|
12
|
+
border: dashed 1px #222;
|
13
|
+
background-color: $color-one;
|
14
|
+
|
15
|
+
.one{
|
16
|
+
background-color: $color-two;
|
17
|
+
}
|
18
|
+
|
19
|
+
.two{
|
20
|
+
background-color: $color-three;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
a{
|
25
|
+
color: blue;
|
26
|
+
}
|
27
|
+
|
28
|
+
// transitions
|
29
|
+
.one .two{
|
30
|
+
transition: width 2s;
|
31
|
+
-moz-transition: width 2s; /* Firefox 4 */
|
32
|
+
-webkit-transition: width 2s; /* Safari and Chrome */
|
33
|
+
-o-transition: width 2s; /* Opera */
|
34
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
body {
|
2
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
3
|
+
font-size: 13px;
|
4
|
+
line-height: 18px; }
|
5
|
+
|
6
|
+
p, ol, ul, td {
|
7
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
8
|
+
font-size: 13px;
|
9
|
+
line-height: 18px; }
|
10
|
+
|
11
|
+
pre {
|
12
|
+
background-color: #eee;
|
13
|
+
padding: 10px;
|
14
|
+
font-size: 11px; }
|
15
|
+
|
16
|
+
div {
|
17
|
+
&.field, &.actions {
|
18
|
+
margin-bottom: 10px; } }
|
19
|
+
|
20
|
+
#notice {
|
21
|
+
color: green; }
|
22
|
+
|
23
|
+
.field_with_errors {
|
24
|
+
padding: 2px;
|
25
|
+
background-color: red;
|
26
|
+
display: table; }
|
27
|
+
|
28
|
+
#error_explanation {
|
29
|
+
width: 450px;
|
30
|
+
border: 2px solid red;
|
31
|
+
padding: 7px;
|
32
|
+
padding-bottom: 0;
|
33
|
+
margin-bottom: 20px;
|
34
|
+
background-color: #f0f0f0;
|
35
|
+
h2 {
|
36
|
+
text-align: left;
|
37
|
+
font-weight: bold;
|
38
|
+
padding: 5px 5px 5px 15px;
|
39
|
+
font-size: 12px;
|
40
|
+
margin: -7px;
|
41
|
+
margin-bottom: 0px;
|
42
|
+
background-color: #c00;
|
43
|
+
color: #fff; }
|
44
|
+
ul li {
|
45
|
+
font-size: 12px;
|
46
|
+
list-style: square; } }
|
@@ -0,0 +1,83 @@
|
|
1
|
+
class BooksController < ApplicationController
|
2
|
+
# GET /books
|
3
|
+
# GET /books.json
|
4
|
+
def index
|
5
|
+
@books = Book.all
|
6
|
+
|
7
|
+
respond_to do |format|
|
8
|
+
format.html # index.html.erb
|
9
|
+
format.json { render json: @books }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# GET /books/1
|
14
|
+
# GET /books/1.json
|
15
|
+
def show
|
16
|
+
@book = Book.find(params[:id])
|
17
|
+
|
18
|
+
respond_to do |format|
|
19
|
+
format.html # show.html.erb
|
20
|
+
format.json { render json: @book }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# GET /books/new
|
25
|
+
# GET /books/new.json
|
26
|
+
def new
|
27
|
+
@book = Book.new
|
28
|
+
|
29
|
+
respond_to do |format|
|
30
|
+
format.html # new.html.erb
|
31
|
+
format.json { render json: @book }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# GET /books/1/edit
|
36
|
+
def edit
|
37
|
+
@book = Book.find(params[:id])
|
38
|
+
end
|
39
|
+
|
40
|
+
# POST /books
|
41
|
+
# POST /books.json
|
42
|
+
def create
|
43
|
+
@book = Book.new(params[:book])
|
44
|
+
|
45
|
+
respond_to do |format|
|
46
|
+
if @book.save
|
47
|
+
format.html { redirect_to @book, notice: 'Book was successfully created.' }
|
48
|
+
format.json { render json: @book, status: :created, location: @book }
|
49
|
+
else
|
50
|
+
format.html { render action: "new" }
|
51
|
+
format.json { render json: @book.errors, status: :unprocessable_entity }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
# PUT /books/1
|
57
|
+
# PUT /books/1.json
|
58
|
+
def update
|
59
|
+
@book = Book.find(params[:id])
|
60
|
+
|
61
|
+
respond_to do |format|
|
62
|
+
if @book.update_attributes(params[:book])
|
63
|
+
format.html { redirect_to @book, notice: 'Book was successfully updated.' }
|
64
|
+
format.json { head :no_content }
|
65
|
+
else
|
66
|
+
format.html { render action: "edit" }
|
67
|
+
format.json { render json: @book.errors, status: :unprocessable_entity }
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
# DELETE /books/1
|
73
|
+
# DELETE /books/1.json
|
74
|
+
def destroy
|
75
|
+
@book = Book.find(params[:id])
|
76
|
+
@book.destroy
|
77
|
+
|
78
|
+
respond_to do |format|
|
79
|
+
format.html { redirect_to books_url }
|
80
|
+
format.json { head :no_content }
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<%= form_for @book, :html => { :class => 'form-horizontal' } do |f| %>
|
2
|
+
<div class="control-group">
|
3
|
+
<%= f.label :title, :class => 'control-label' %>
|
4
|
+
<div class="controls">
|
5
|
+
<%= f.text_field :title, :class => 'text_field' %>
|
6
|
+
</div>
|
7
|
+
</div>
|
8
|
+
<div class="control-group">
|
9
|
+
<%= f.label :description, :class => 'control-label' %>
|
10
|
+
<div class="controls">
|
11
|
+
<%= f.text_area :description, :class => 'text_area' %>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
<div class="control-group">
|
15
|
+
<%= f.label :published, :class => 'control-label' %>
|
16
|
+
<div class="controls">
|
17
|
+
<%= f.check_box :published, :class => 'check_box' %>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<div class="form-actions">
|
22
|
+
<%= f.submit nil, :class => 'btn btn-primary' %>
|
23
|
+
<%= link_to t('.cancel', :default => t("helpers.links.cancel")),
|
24
|
+
books_path, :class => 'btn' %>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<%- model_class = Book.new.class -%>
|
2
|
+
<h1><%=t '.title', :default => model_class.model_name.human.pluralize %></h1>
|
3
|
+
<table class="table table-striped">
|
4
|
+
<thead>
|
5
|
+
<tr>
|
6
|
+
<th><%= model_class.human_attribute_name(:id) %></th>
|
7
|
+
<th><%= model_class.human_attribute_name(:title) %></th>
|
8
|
+
<th><%= model_class.human_attribute_name(:description) %></th>
|
9
|
+
<th><%= model_class.human_attribute_name(:published) %></th>
|
10
|
+
<th><%= model_class.human_attribute_name(:created_at) %></th>
|
11
|
+
<th><%=t '.actions', :default => t("helpers.actions") %></th>
|
12
|
+
</tr>
|
13
|
+
</thead>
|
14
|
+
<tbody>
|
15
|
+
<% @books.each do |book| %>
|
16
|
+
<tr>
|
17
|
+
<td><%= link_to book.id, book_path(book) %></td>
|
18
|
+
<td><%= book.title %></td>
|
19
|
+
<td><%= book.description %></td>
|
20
|
+
<td><%= book.published %></td>
|
21
|
+
<td><%=l book.created_at %></td>
|
22
|
+
<td>
|
23
|
+
<%= link_to t('.edit', :default => t("helpers.links.edit")),
|
24
|
+
edit_book_path(book), :class => 'btn btn-mini' %>
|
25
|
+
<%= link_to t('.destroy', :default => t("helpers.links.destroy")),
|
26
|
+
book_path(book),
|
27
|
+
:method => :delete,
|
28
|
+
:confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')),
|
29
|
+
:class => 'btn btn-mini btn-danger' %>
|
30
|
+
</td>
|
31
|
+
</tr>
|
32
|
+
<% end %>
|
33
|
+
</tbody>
|
34
|
+
</table>
|
35
|
+
|
36
|
+
<%= link_to t('.new', :default => t("helpers.links.new")),
|
37
|
+
new_book_path,
|
38
|
+
:class => 'btn btn-primary' %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%- model_class = @book.class -%>
|
2
|
+
<h1><%=t '.title', :default => model_class.model_name.human %></h1>
|
3
|
+
|
4
|
+
<p>
|
5
|
+
<strong><%= model_class.human_attribute_name(:title) %>:</strong><br>
|
6
|
+
<%= @book.title %>
|
7
|
+
</p>
|
8
|
+
<p>
|
9
|
+
<strong><%= model_class.human_attribute_name(:description) %>:</strong><br>
|
10
|
+
<%= @book.description %>
|
11
|
+
</p>
|
12
|
+
<p>
|
13
|
+
<strong><%= model_class.human_attribute_name(:published) %>:</strong><br>
|
14
|
+
<%= @book.published %>
|
15
|
+
</p>
|
16
|
+
|
17
|
+
<div class="form-actions">
|
18
|
+
<%= link_to t('.back', :default => t("helpers.links.back")),
|
19
|
+
books_path, :class => 'btn' %>
|
20
|
+
<%= link_to t('.edit', :default => t("helpers.links.edit")),
|
21
|
+
edit_book_path(@book), :class => 'btn' %>
|
22
|
+
<%= link_to t('.destroy', :default => t("helpers.links.destroy")),
|
23
|
+
book_path(@book),
|
24
|
+
:method => 'delete',
|
25
|
+
:confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')),
|
26
|
+
:class => 'btn btn-danger' %>
|
27
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
!!!
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%title NizzaTestApp
|
5
|
+
= stylesheet_link_tag "application", :media => "all"
|
6
|
+
= javascript_include_tag "application"
|
7
|
+
= csrf_meta_tags
|
8
|
+
%body
|
9
|
+
#meat
|
10
|
+
This is the application container
|
11
|
+
\#{content_for?(:content) ? yield(:content) : yield}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
- content_for :content do
|
2
|
+
%div
|
3
|
+
= link_to_function "go simple cached", "var evt = document.createEvent('Event'); evt.initEvent('nice.state.CachedTransitionEvent',true,true); evt.transition_id = 'get_many_nice__get_simple_nice'; document.dispatchEvent(evt)"
|
4
|
+
.two{"data-state" => "get_nice_many"}
|
5
|
+
%h1 Only Many
|
6
|
+
= yield(:container1)
|
7
|
+
.one{"data-state" => "get_nice_simple"}
|
8
|
+
%h1 Only Simple
|
9
|
+
= yield(:container1)
|
10
|
+
.hello
|
11
|
+
%p ein bisschen witz
|
12
|
+
- 3.times do
|
13
|
+
%div{"data-state" => "get_nice_simple get_nice_many", "data-state-update" => :yes}
|
14
|
+
= yield(:container2)
|
15
|
+
|
16
|
+
= render :template => 'layouts/application'
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
require 'rails/all'
|
4
|
+
|
5
|
+
|
6
|
+
if defined?(Bundler)
|
7
|
+
# If you precompile assets before deploying to production, use this line
|
8
|
+
Bundler.require(*Rails.groups(:assets => %w(development test)))
|
9
|
+
# If you want your assets lazily compiled in production, use this line
|
10
|
+
# Bundler.require(:default, :assets, Rails.env)
|
11
|
+
end
|
12
|
+
|
13
|
+
module NizzaTestApp
|
14
|
+
class Application < Rails::Application
|
15
|
+
# Settings in config/environments/* take precedence over those specified here.
|
16
|
+
# Application configuration should go into files in config/initializers
|
17
|
+
# -- all .rb files in that directory are automatically loaded.
|
18
|
+
|
19
|
+
# Custom directories with classes and modules you want to be autoloadable.
|
20
|
+
#config.autoload_paths += %W(#{config.root})
|
21
|
+
|
22
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
23
|
+
# :all can be used as a placeholder for all plugins not explicitly named.
|
24
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
25
|
+
|
26
|
+
# Activate observers that should always be running.
|
27
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
28
|
+
|
29
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
30
|
+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
31
|
+
# config.time_zone = 'Central Time (US & Canada)'
|
32
|
+
|
33
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
34
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
35
|
+
# config.i18n.default_locale = :de
|
36
|
+
|
37
|
+
# Configure the default encoding used in templates for Ruby 1.9.
|
38
|
+
config.encoding = "utf-8"
|
39
|
+
|
40
|
+
# Configure sensitive parameters which will be filtered from the log file.
|
41
|
+
config.filter_parameters += [:password]
|
42
|
+
|
43
|
+
# Use SQL instead of Active Record's schema dumper when creating the database.
|
44
|
+
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
45
|
+
# like if you have constraints or database-specific column types
|
46
|
+
# config.active_record.schema_format = :sql
|
47
|
+
|
48
|
+
# Enforce whitelist mode for mass assignment.
|
49
|
+
# This will create an empty whitelist of attributes available for mass-assignment for all models
|
50
|
+
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
|
51
|
+
# parameters by using an attr_accessible or attr_protected declaration.
|
52
|
+
config.active_record.whitelist_attributes = true
|
53
|
+
|
54
|
+
# Enable the asset pipeline
|
55
|
+
config.assets.enabled = true
|
56
|
+
|
57
|
+
# Version of your assets, change this if you want to expire all your assets
|
58
|
+
config.assets.version = '1.0'
|
59
|
+
|
60
|
+
|
61
|
+
# add new middleware
|
62
|
+
config.middleware.use Nice::Middleware
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
@@ -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
|