nice 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +115 -0
  3. data/Rakefile +38 -0
  4. data/lib/assets/javascripts/event_dispatcher.coffee +34 -0
  5. data/lib/assets/javascripts/nice_imp_jquery.js.coffee +40 -0
  6. data/lib/assets/javascripts/nice_jquery.js +15 -0
  7. data/lib/nice.rb +5 -0
  8. data/lib/nice/engine.rb +4 -0
  9. data/lib/nice/html_parser.rb +126 -0
  10. data/lib/nice/js/caller.rb +29 -0
  11. data/lib/nice/logic.rb +61 -0
  12. data/lib/nice/middleware.rb +84 -0
  13. data/lib/nice/version.rb +3 -0
  14. data/lib/tasks/nice_tasks.rake +4 -0
  15. data/test/dummy/README.rdoc +261 -0
  16. data/test/dummy/Rakefile +7 -0
  17. data/test/dummy/app/assets/javascripts/application.js +15 -0
  18. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  19. data/test/dummy/app/controllers/application_controller.rb +3 -0
  20. data/test/dummy/app/helpers/application_helper.rb +2 -0
  21. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  22. data/test/dummy/config.ru +4 -0
  23. data/test/dummy/config/application.rb +56 -0
  24. data/test/dummy/config/boot.rb +10 -0
  25. data/test/dummy/config/database.yml +25 -0
  26. data/test/dummy/config/environment.rb +5 -0
  27. data/test/dummy/config/environments/development.rb +37 -0
  28. data/test/dummy/config/environments/production.rb +67 -0
  29. data/test/dummy/config/environments/test.rb +37 -0
  30. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  31. data/test/dummy/config/initializers/inflections.rb +15 -0
  32. data/test/dummy/config/initializers/mime_types.rb +5 -0
  33. data/test/dummy/config/initializers/secret_token.rb +7 -0
  34. data/test/dummy/config/initializers/session_store.rb +8 -0
  35. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  36. data/test/dummy/config/locales/en.yml +5 -0
  37. data/test/dummy/config/routes.rb +58 -0
  38. data/test/dummy/db/test.sqlite3 +0 -0
  39. data/test/dummy/log/test.log +8 -0
  40. data/test/dummy/public/404.html +26 -0
  41. data/test/dummy/public/422.html +26 -0
  42. data/test/dummy/public/500.html +25 -0
  43. data/test/dummy/public/favicon.ico +0 -0
  44. data/test/dummy/script/rails +6 -0
  45. data/test/nice_test.rb +7 -0
  46. data/test/nizzaTestApp/Gemfile +45 -0
  47. data/test/nizzaTestApp/Gemfile.lock +130 -0
  48. data/test/nizzaTestApp/README.rdoc +261 -0
  49. data/test/nizzaTestApp/Rakefile +7 -0
  50. data/test/nizzaTestApp/app/assets/images/rails.png +0 -0
  51. data/test/nizzaTestApp/app/assets/javascripts/application.js +16 -0
  52. data/test/nizzaTestApp/app/assets/javascripts/books.js.coffee +3 -0
  53. data/test/nizzaTestApp/app/assets/javascripts/nice.js.coffee +3 -0
  54. data/test/nizzaTestApp/app/assets/stylesheets/application.css +23 -0
  55. data/test/nizzaTestApp/app/assets/stylesheets/books.css.scss +3 -0
  56. data/test/nizzaTestApp/app/assets/stylesheets/nice.css.scss +34 -0
  57. data/test/nizzaTestApp/app/assets/stylesheets/scaffolds.css.scss +46 -0
  58. data/test/nizzaTestApp/app/controllers/application_controller.rb +3 -0
  59. data/test/nizzaTestApp/app/controllers/books_controller.rb +83 -0
  60. data/test/nizzaTestApp/app/controllers/nice_controller.rb +9 -0
  61. data/test/nizzaTestApp/app/helpers/application_helper.rb +2 -0
  62. data/test/nizzaTestApp/app/helpers/books_helper.rb +2 -0
  63. data/test/nizzaTestApp/app/helpers/nice_helper.rb +2 -0
  64. data/test/nizzaTestApp/app/models/book.rb +3 -0
  65. data/test/nizzaTestApp/app/views/books/_form.html.erb +26 -0
  66. data/test/nizzaTestApp/app/views/books/edit.html.erb +4 -0
  67. data/test/nizzaTestApp/app/views/books/index.html.erb +38 -0
  68. data/test/nizzaTestApp/app/views/books/new.html.erb +4 -0
  69. data/test/nizzaTestApp/app/views/books/show.html.erb +27 -0
  70. data/test/nizzaTestApp/app/views/layouts/application.html.haml +11 -0
  71. data/test/nizzaTestApp/app/views/layouts/nice.html.haml +16 -0
  72. data/test/nizzaTestApp/app/views/nice/many.html.haml +6 -0
  73. data/test/nizzaTestApp/app/views/nice/simple.html.haml +7 -0
  74. data/test/nizzaTestApp/config.ru +4 -0
  75. data/test/nizzaTestApp/config/application.rb +65 -0
  76. data/test/nizzaTestApp/config/boot.rb +6 -0
  77. data/test/nizzaTestApp/config/database.yml +25 -0
  78. data/test/nizzaTestApp/config/environment.rb +5 -0
  79. data/test/nizzaTestApp/config/environments/development.rb +37 -0
  80. data/test/nizzaTestApp/config/environments/production.rb +67 -0
  81. data/test/nizzaTestApp/config/environments/test.rb +37 -0
  82. data/test/nizzaTestApp/config/initializers/backtrace_silencers.rb +7 -0
  83. data/test/nizzaTestApp/config/initializers/inflections.rb +15 -0
  84. data/test/nizzaTestApp/config/initializers/mime_types.rb +5 -0
  85. data/test/nizzaTestApp/config/initializers/secret_token.rb +7 -0
  86. data/test/nizzaTestApp/config/initializers/session_store.rb +8 -0
  87. data/test/nizzaTestApp/config/initializers/wrap_parameters.rb +14 -0
  88. data/test/nizzaTestApp/config/locales/en.yml +5 -0
  89. data/test/nizzaTestApp/config/routes.rb +64 -0
  90. data/test/nizzaTestApp/db/development.sqlite3 +0 -0
  91. data/test/nizzaTestApp/db/migrate/20120424181757_create_books.rb +11 -0
  92. data/test/nizzaTestApp/db/schema.rb +24 -0
  93. data/test/nizzaTestApp/db/seeds.rb +7 -0
  94. data/test/nizzaTestApp/doc/README_FOR_APP +2 -0
  95. data/test/nizzaTestApp/log/development.log +18129 -0
  96. data/test/nizzaTestApp/public/404.html +26 -0
  97. data/test/nizzaTestApp/public/422.html +26 -0
  98. data/test/nizzaTestApp/public/500.html +25 -0
  99. data/test/nizzaTestApp/public/favicon.ico +0 -0
  100. data/test/nizzaTestApp/public/html_a.html +19 -0
  101. data/test/nizzaTestApp/public/robots.txt +5 -0
  102. data/test/nizzaTestApp/script/rails +6 -0
  103. data/test/nizzaTestApp/test/fixtures/books.yml +11 -0
  104. data/test/nizzaTestApp/test/functional/books_controller_test.rb +49 -0
  105. data/test/nizzaTestApp/test/functional/nice_controller_test.rb +14 -0
  106. data/test/nizzaTestApp/test/performance/browsing_test.rb +12 -0
  107. data/test/nizzaTestApp/test/test_helper.rb +13 -0
  108. data/test/nizzaTestApp/test/unit/book_test.rb +7 -0
  109. data/test/nizzaTestApp/test/unit/helpers/books_helper_test.rb +4 -0
  110. data/test/nizzaTestApp/test/unit/helpers/nice_helper_test.rb +4 -0
  111. data/test/nizzaTestApp/tmp/cache/assets/C0B/BC0/sprockets%2F101e06a7a14c184823c19103629096d2 +0 -0
  112. data/test/nizzaTestApp/tmp/cache/assets/C1E/9B0/sprockets%2F7b5417470164315b3893a6761f235fd1 +0 -0
  113. data/test/nizzaTestApp/tmp/cache/assets/C46/5D0/sprockets%2F41a35570f1490d1582cf6349724a611c +0 -0
  114. data/test/nizzaTestApp/tmp/cache/assets/C53/A30/sprockets%2F54110227445e976ce96491b91152ad5f +0 -0
  115. data/test/nizzaTestApp/tmp/cache/assets/C7B/CC0/sprockets%2F85d74df12791bf3446221275a72ac812 +0 -0
  116. data/test/nizzaTestApp/tmp/cache/assets/C7F/E00/sprockets%2Ff0913862ad164458ad09cf05236f2286 +0 -0
  117. data/test/nizzaTestApp/tmp/cache/assets/CA1/570/sprockets%2F96de018b14a15866fd23113417cbc730 +0 -0
  118. data/test/nizzaTestApp/tmp/cache/assets/CA9/020/sprockets%2F9c6b44b42095db99107072f3023c45dd +0 -0
  119. data/test/nizzaTestApp/tmp/cache/assets/CAC/730/sprockets%2F892c8ec11684bd01347124824bf35af5 +0 -0
  120. data/test/nizzaTestApp/tmp/cache/assets/CBF/5E0/sprockets%2F68c66e476c73987d8b6f2ae8160102e2 +0 -0
  121. data/test/nizzaTestApp/tmp/cache/assets/CD3/460/sprockets%2Fd584d62c054619a28c1c0cff1910521f +0 -0
  122. data/test/nizzaTestApp/tmp/cache/assets/CD7/6F0/sprockets%2Fbd3936370d0f952ada5774e2230046ed +0 -0
  123. data/test/nizzaTestApp/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  124. data/test/nizzaTestApp/tmp/cache/assets/CDB/590/sprockets%2Ff3a3730475dbf19c4a286b5a4f772161 +0 -0
  125. data/test/nizzaTestApp/tmp/cache/assets/CDD/0B0/sprockets%2Fb351b5f1236c183f9961725ca13ec3e9 +0 -0
  126. data/test/nizzaTestApp/tmp/cache/assets/CE3/600/sprockets%2F683a4e08e292483284fad185a85e4a3a +0 -0
  127. data/test/nizzaTestApp/tmp/cache/assets/CE4/FC0/sprockets%2F919f9138b534aa39c3fa50c87e8420a6 +0 -0
  128. data/test/nizzaTestApp/tmp/cache/assets/CE6/960/sprockets%2F7555284c4d8a6b95e4d2c10e7d02684e +0 -0
  129. data/test/nizzaTestApp/tmp/cache/assets/CEF/1E0/sprockets%2Fc4f9a95bee5399474db38395336d10d2 +0 -0
  130. data/test/nizzaTestApp/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016 +0 -0
  131. data/test/nizzaTestApp/tmp/cache/assets/CF4/140/sprockets%2F22a3157d204c1f8e417a25f01a2dbe45 +0 -0
  132. data/test/nizzaTestApp/tmp/cache/assets/CF6/C20/sprockets%2F7847096fc8a875a9b941beb70e91284d +0 -0
  133. data/test/nizzaTestApp/tmp/cache/assets/D05/840/sprockets%2F0ac43b191b0098c9942ebe5e47406ea2 +0 -0
  134. data/test/nizzaTestApp/tmp/cache/assets/D0B/710/sprockets%2F66190523b03af056e8dca69cd9fd2242 +0 -0
  135. data/test/nizzaTestApp/tmp/cache/assets/D0E/F80/sprockets%2F8c2b061e379a23e7c4d207adcf992462 +0 -0
  136. data/test/nizzaTestApp/tmp/cache/assets/D0F/3E0/sprockets%2F6654975eaa53a225d976278fcb6baa00 +0 -0
  137. data/test/nizzaTestApp/tmp/cache/assets/D10/A10/sprockets%2F9fe3a3308aaa4e98688d77b9b22111a4 +0 -0
  138. data/test/nizzaTestApp/tmp/cache/assets/D1A/E10/sprockets%2Ff2d34568efb5305d6990b1502d8c6ff7 +0 -0
  139. data/test/nizzaTestApp/tmp/cache/assets/D1C/C90/sprockets%2F8eb2c6f59556a9aa92dbf132856910c9 +0 -0
  140. data/test/nizzaTestApp/tmp/cache/assets/D2C/6F0/sprockets%2F1852beb3a2ad67b2cc634f05e142435e +0 -0
  141. data/test/nizzaTestApp/tmp/cache/assets/D2D/200/sprockets%2F164554b0cd8a0c5bbc610521a87cf19e +0 -0
  142. data/test/nizzaTestApp/tmp/cache/assets/D2D/D50/sprockets%2Fd585a06e2ee6203ccb04c8b84150d14d +0 -0
  143. data/test/nizzaTestApp/tmp/cache/assets/D30/9B0/sprockets%2Fa365b8a67c4a6a210d178c2c7dc812f0 +0 -0
  144. data/test/nizzaTestApp/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  145. data/test/nizzaTestApp/tmp/cache/assets/D39/F10/sprockets%2F04aab6c01e8d12d151f54e8c6ee79715 +0 -0
  146. data/test/nizzaTestApp/tmp/cache/assets/D3B/B40/sprockets%2Fd50a18a28a8aefa85142997ae7a22f24 +0 -0
  147. data/test/nizzaTestApp/tmp/cache/assets/D3C/990/sprockets%2F47cc6b7ccafd54046c3881f18a16e162 +0 -0
  148. data/test/nizzaTestApp/tmp/cache/assets/D3D/DC0/sprockets%2F24a8e58314bc87244de540eee302f3ef +0 -0
  149. data/test/nizzaTestApp/tmp/cache/assets/D46/330/sprockets%2F50ff63775b3d84d16b93348bedd0d5d4 +0 -0
  150. data/test/nizzaTestApp/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  151. data/test/nizzaTestApp/tmp/cache/assets/D51/0C0/sprockets%2F7ae1c78c809fa25eef9e8f5052a99332 +0 -0
  152. data/test/nizzaTestApp/tmp/cache/assets/D55/F00/sprockets%2F3df7a51021aa28af9f436ab24dc2c430 +0 -0
  153. data/test/nizzaTestApp/tmp/cache/assets/D58/170/sprockets%2F1d1519f0daa88f114d10945d0a0ee5bb +0 -0
  154. data/test/nizzaTestApp/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  155. data/test/nizzaTestApp/tmp/cache/assets/D71/EB0/sprockets%2F9a57785b6dbd04ace339105c79ca5ad6 +0 -0
  156. data/test/nizzaTestApp/tmp/cache/assets/D73/4C0/sprockets%2Fac8c9d97edb15b84cb35a184822952da +0 -0
  157. data/test/nizzaTestApp/tmp/cache/assets/D76/710/sprockets%2Ff9dabce89a305adf72963094731ef53a +0 -0
  158. data/test/nizzaTestApp/tmp/cache/assets/D78/6E0/sprockets%2F66c9f9ea0228a2bad83467d8a416fe4f +0 -0
  159. data/test/nizzaTestApp/tmp/cache/assets/D7B/A50/sprockets%2Fb1b95d84f048a6e4ce984cd1e29f50d6 +0 -0
  160. data/test/nizzaTestApp/tmp/cache/assets/DB7/CB0/sprockets%2F2402f5cbeb259c1b7a03f6a0ff074adb +0 -0
  161. data/test/nizzaTestApp/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  162. data/test/nizzaTestApp/tmp/cache/assets/DDE/620/sprockets%2Ff6f9a7fedaea753da63ea72347d8c385 +0 -0
  163. data/test/nizzaTestApp/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  164. data/test/nizzaTestApp/tmp/cache/assets/E07/B70/sprockets%2Fd8c8bcaa8828e657a5fd4b9cacb92a17 +0 -0
  165. data/test/nizzaTestApp/tmp/cache/assets/E19/2A0/sprockets%2F10fcfbe6ebae11a40c8eac41939a1b9a +0 -0
  166. data/test/nizzaTestApp/tmp/cache/assets/E25/4C0/sprockets%2Fde2fd9fd11c04a582cdbbe3d84a35ae6 +0 -0
  167. data/test/nizzaTestApp/tmp/cache/assets/E5F/FD0/sprockets%2F43fe06bae4e63b9cecaf84e1d8b0cdf7 +0 -0
  168. data/test/nizzaTestApp/tmp/cache/assets/E64/EC0/sprockets%2Fea602649ea9f2e7adceb8c2f7d3cc5fc +0 -0
  169. data/test/nizzaTestApp/tmp/cache/sass/279c98e2d4f2491dbaea6ced015d162cb89b00e3/books.css.scssc +0 -0
  170. data/test/nizzaTestApp/tmp/cache/sass/279c98e2d4f2491dbaea6ced015d162cb89b00e3/scaffolds.css.scssc +0 -0
  171. data/test/nizzaTestApp/tmp/cache/sass/40d1259310c37828c7b403e05d7a941ef3d84db5/nice.css.scssc +0 -0
  172. data/test/nizzaTestApp/tmp/cache/sass/40d1259310c37828c7b403e05d7a941ef3d84db5/scaffolds.css.scssc +0 -0
  173. data/test/nizzaTestApp/tmp/cache/sass/fa4fcc5ec3c4b006233db2677ec61c27ca744dda/nice.css.scssc +0 -0
  174. data/test/test_helper.rb +15 -0
  175. metadata +433 -0
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the books controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -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,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery
3
+ end
@@ -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,9 @@
1
+ class NiceController < ApplicationController
2
+ def simple
3
+
4
+ end
5
+
6
+ def many
7
+
8
+ end
9
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module BooksHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module NiceHelper
2
+ end
@@ -0,0 +1,3 @@
1
+ class Book < ActiveRecord::Base
2
+ attr_accessible :description, :published, :title
3
+ 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,4 @@
1
+ <%- model_class = @book.class -%>
2
+ <h1><%=t '.title', :default => t('helpers.titles.edit', :model => model_class.model_name.human,
3
+ :default => "Edit #{model_class.model_name.human}") %></h1>
4
+ <%= render :partial => 'form' %>
@@ -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,4 @@
1
+ <%- model_class = @book.class -%>
2
+ <h1><%=t '.title', :default => t('helpers.titles.new', :model => model_class.model_name.human,
3
+ :default => "New #{model_class.model_name.human}") %></h1>
4
+ <%= render :partial => 'form' %>
@@ -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,6 @@
1
+ - content_for :container1 do
2
+ %h2 Many Inside Container 1
3
+ = link_to 'go simple','simple', :remote => true
4
+ - content_for :container2 do
5
+ .two
6
+ %h2 Many Inside Container 2
@@ -0,0 +1,7 @@
1
+ - content_for :container1 do
2
+ %h2 Simple Inside Container 1
3
+ = link_to 'go simple','simple', :remote => true
4
+ - content_for :container2 do
5
+ .one
6
+ %h2 Simple Inside Container 2
7
+ = Time.now
@@ -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 NizzaTestApp::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,6 @@
1
+ require 'rubygems'
2
+
3
+ # Set up gems listed in the Gemfile.
4
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
5
+
6
+ require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
@@ -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