akitaonrails-resource_controller 0.5.2

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.
Files changed (238) hide show
  1. data/LICENSE +22 -0
  2. data/README.rdoc +326 -0
  3. data/Rakefile +35 -0
  4. data/generators/scaffold_resource/USAGE +29 -0
  5. data/generators/scaffold_resource/scaffold_resource_generator.rb +184 -0
  6. data/generators/scaffold_resource/templates/controller.rb +2 -0
  7. data/generators/scaffold_resource/templates/fixtures.yml +10 -0
  8. data/generators/scaffold_resource/templates/functional_test.rb +57 -0
  9. data/generators/scaffold_resource/templates/helper.rb +2 -0
  10. data/generators/scaffold_resource/templates/layout.html.erb +17 -0
  11. data/generators/scaffold_resource/templates/migration.rb +15 -0
  12. data/generators/scaffold_resource/templates/model.rb +2 -0
  13. data/generators/scaffold_resource/templates/old_migration.rb +13 -0
  14. data/generators/scaffold_resource/templates/rspec/functional_spec.rb +255 -0
  15. data/generators/scaffold_resource/templates/rspec/helper_spec.rb +11 -0
  16. data/generators/scaffold_resource/templates/rspec/routing_spec.rb +61 -0
  17. data/generators/scaffold_resource/templates/rspec/unit_spec.rb +11 -0
  18. data/generators/scaffold_resource/templates/rspec/views/edit_spec.rb +28 -0
  19. data/generators/scaffold_resource/templates/rspec/views/index_spec.rb +26 -0
  20. data/generators/scaffold_resource/templates/rspec/views/new_spec.rb +30 -0
  21. data/generators/scaffold_resource/templates/rspec/views/show_spec.rb +25 -0
  22. data/generators/scaffold_resource/templates/shoulda_functional_test.rb +19 -0
  23. data/generators/scaffold_resource/templates/style.css +54 -0
  24. data/generators/scaffold_resource/templates/unit_test.rb +7 -0
  25. data/generators/scaffold_resource/templates/view__form.erb +6 -0
  26. data/generators/scaffold_resource/templates/view__form.haml +5 -0
  27. data/generators/scaffold_resource/templates/view_edit.erb +16 -0
  28. data/generators/scaffold_resource/templates/view_edit.haml +11 -0
  29. data/generators/scaffold_resource/templates/view_index.erb +22 -0
  30. data/generators/scaffold_resource/templates/view_index.haml +19 -0
  31. data/generators/scaffold_resource/templates/view_new.erb +12 -0
  32. data/generators/scaffold_resource/templates/view_new.haml +9 -0
  33. data/generators/scaffold_resource/templates/view_show.erb +9 -0
  34. data/generators/scaffold_resource/templates/view_show.haml +9 -0
  35. data/init.rb +1 -0
  36. data/lib/resource_controller.rb +22 -0
  37. data/lib/resource_controller/accessors.rb +77 -0
  38. data/lib/resource_controller/action_options.rb +40 -0
  39. data/lib/resource_controller/actions.rb +75 -0
  40. data/lib/resource_controller/base.rb +15 -0
  41. data/lib/resource_controller/class_methods.rb +24 -0
  42. data/lib/resource_controller/controller.rb +69 -0
  43. data/lib/resource_controller/failable_action_options.rb +25 -0
  44. data/lib/resource_controller/helpers.rb +28 -0
  45. data/lib/resource_controller/helpers/current_objects.rb +69 -0
  46. data/lib/resource_controller/helpers/internal.rb +76 -0
  47. data/lib/resource_controller/helpers/nested.rb +63 -0
  48. data/lib/resource_controller/helpers/singleton_customizations.rb +60 -0
  49. data/lib/resource_controller/helpers/urls.rb +128 -0
  50. data/lib/resource_controller/response_collector.rb +27 -0
  51. data/lib/resource_controller/singleton.rb +15 -0
  52. data/lib/resource_controller/version.rb +9 -0
  53. data/lib/urligence.rb +50 -0
  54. data/rails/init.rb +6 -0
  55. data/test/Rakefile +10 -0
  56. data/test/app/controllers/accounts_controller.rb +6 -0
  57. data/test/app/controllers/application.rb +7 -0
  58. data/test/app/controllers/cms/options_controller.rb +3 -0
  59. data/test/app/controllers/cms/products_controller.rb +3 -0
  60. data/test/app/controllers/comments_controller.rb +3 -0
  61. data/test/app/controllers/images_controller.rb +4 -0
  62. data/test/app/controllers/options_controller.rb +8 -0
  63. data/test/app/controllers/people_controller.rb +9 -0
  64. data/test/app/controllers/photos_controller.rb +11 -0
  65. data/test/app/controllers/posts_controller.rb +10 -0
  66. data/test/app/controllers/projects_controller.rb +3 -0
  67. data/test/app/controllers/somethings_controller.rb +3 -0
  68. data/test/app/controllers/tags_controller.rb +13 -0
  69. data/test/app/controllers/users_controller.rb +12 -0
  70. data/test/app/helpers/accounts_helper.rb +2 -0
  71. data/test/app/helpers/application_helper.rb +3 -0
  72. data/test/app/helpers/cms/products_helper.rb +2 -0
  73. data/test/app/helpers/comments_helper.rb +2 -0
  74. data/test/app/helpers/images_helper.rb +2 -0
  75. data/test/app/helpers/options_helper.rb +2 -0
  76. data/test/app/helpers/people_helper.rb +2 -0
  77. data/test/app/helpers/photos_helper.rb +2 -0
  78. data/test/app/helpers/posts_helper.rb +2 -0
  79. data/test/app/helpers/projects_helper.rb +2 -0
  80. data/test/app/helpers/somethings_helper.rb +2 -0
  81. data/test/app/helpers/tags_helper.rb +2 -0
  82. data/test/app/helpers/users_helper.rb +2 -0
  83. data/test/app/models/account.rb +4 -0
  84. data/test/app/models/comment.rb +3 -0
  85. data/test/app/models/image.rb +3 -0
  86. data/test/app/models/option.rb +3 -0
  87. data/test/app/models/photo.rb +4 -0
  88. data/test/app/models/post.rb +3 -0
  89. data/test/app/models/product.rb +3 -0
  90. data/test/app/models/project.rb +2 -0
  91. data/test/app/models/something.rb +2 -0
  92. data/test/app/models/tag.rb +3 -0
  93. data/test/app/models/user.rb +3 -0
  94. data/test/app/views/accounts/_form.html.erb +4 -0
  95. data/test/app/views/accounts/edit.html.erb +14 -0
  96. data/test/app/views/accounts/new.html.erb +12 -0
  97. data/test/app/views/accounts/show.html.erb +5 -0
  98. data/test/app/views/cms/options/edit.rhtml +17 -0
  99. data/test/app/views/cms/options/index.rhtml +20 -0
  100. data/test/app/views/cms/options/new.rhtml +16 -0
  101. data/test/app/views/cms/options/show.rhtml +8 -0
  102. data/test/app/views/cms/products/edit.rhtml +17 -0
  103. data/test/app/views/cms/products/index.rhtml +20 -0
  104. data/test/app/views/cms/products/new.rhtml +16 -0
  105. data/test/app/views/cms/products/show.rhtml +8 -0
  106. data/test/app/views/comments/edit.rhtml +27 -0
  107. data/test/app/views/comments/index.rhtml +24 -0
  108. data/test/app/views/comments/new.rhtml +26 -0
  109. data/test/app/views/comments/show.rhtml +18 -0
  110. data/test/app/views/images/_form.html.erb +4 -0
  111. data/test/app/views/images/edit.html.erb +14 -0
  112. data/test/app/views/images/new.html.erb +12 -0
  113. data/test/app/views/layouts/application.rhtml +17 -0
  114. data/test/app/views/layouts/comments.rhtml +17 -0
  115. data/test/app/views/layouts/options.rhtml +17 -0
  116. data/test/app/views/layouts/people.rhtml +17 -0
  117. data/test/app/views/layouts/photos.rhtml +17 -0
  118. data/test/app/views/layouts/projects.rhtml +17 -0
  119. data/test/app/views/layouts/somethings.rhtml +17 -0
  120. data/test/app/views/layouts/tags.rhtml +17 -0
  121. data/test/app/views/options/_form.html.erb +8 -0
  122. data/test/app/views/options/edit.html.erb +16 -0
  123. data/test/app/views/options/index.html.erb +21 -0
  124. data/test/app/views/options/new.html.erb +12 -0
  125. data/test/app/views/options/show.html.erb +10 -0
  126. data/test/app/views/people/edit.rhtml +17 -0
  127. data/test/app/views/people/index.rhtml +20 -0
  128. data/test/app/views/people/new.rhtml +16 -0
  129. data/test/app/views/people/show.rhtml +8 -0
  130. data/test/app/views/photos/edit.rhtml +17 -0
  131. data/test/app/views/photos/index.rhtml +20 -0
  132. data/test/app/views/photos/new.rhtml +16 -0
  133. data/test/app/views/photos/show.rhtml +8 -0
  134. data/test/app/views/posts/edit.rhtml +22 -0
  135. data/test/app/views/posts/index.rhtml +22 -0
  136. data/test/app/views/posts/new.rhtml +21 -0
  137. data/test/app/views/posts/show.rhtml +13 -0
  138. data/test/app/views/projects/edit.rhtml +17 -0
  139. data/test/app/views/projects/index.rhtml +20 -0
  140. data/test/app/views/projects/new.rhtml +16 -0
  141. data/test/app/views/projects/show.rhtml +8 -0
  142. data/test/app/views/somethings/edit.rhtml +17 -0
  143. data/test/app/views/somethings/index.rhtml +20 -0
  144. data/test/app/views/somethings/new.rhtml +16 -0
  145. data/test/app/views/somethings/show.rhtml +8 -0
  146. data/test/app/views/tags/edit.rhtml +17 -0
  147. data/test/app/views/tags/index.rhtml +20 -0
  148. data/test/app/views/tags/index.rjs +0 -0
  149. data/test/app/views/tags/new.rhtml +16 -0
  150. data/test/app/views/tags/show.rhtml +8 -0
  151. data/test/app/views/users/edit.rhtml +17 -0
  152. data/test/app/views/users/index.rhtml +20 -0
  153. data/test/app/views/users/new.rhtml +16 -0
  154. data/test/app/views/users/show.rhtml +8 -0
  155. data/test/config/boot.rb +109 -0
  156. data/test/config/database.yml +13 -0
  157. data/test/config/environment.rb +64 -0
  158. data/test/config/environments/development.rb +21 -0
  159. data/test/config/environments/test.rb +19 -0
  160. data/test/config/routes.rb +58 -0
  161. data/test/db/migrate/001_create_posts.rb +12 -0
  162. data/test/db/migrate/002_create_products.rb +11 -0
  163. data/test/db/migrate/003_create_comments.rb +13 -0
  164. data/test/db/migrate/004_create_options.rb +13 -0
  165. data/test/db/migrate/005_create_photos.rb +11 -0
  166. data/test/db/migrate/006_create_tags.rb +17 -0
  167. data/test/db/migrate/007_create_somethings.rb +11 -0
  168. data/test/db/migrate/008_create_accounts.rb +11 -0
  169. data/test/db/migrate/009_add_account_id_to_photos.rb +9 -0
  170. data/test/db/migrate/010_create_projects.rb +11 -0
  171. data/test/db/migrate/011_create_images.rb +12 -0
  172. data/test/db/migrate/012_create_users.rb +11 -0
  173. data/test/db/schema.rb +72 -0
  174. data/test/script/console +3 -0
  175. data/test/script/destroy +3 -0
  176. data/test/script/generate +3 -0
  177. data/test/script/server +3 -0
  178. data/test/test/fixtures/accounts.yml +7 -0
  179. data/test/test/fixtures/comments.yml +11 -0
  180. data/test/test/fixtures/images.yml +6 -0
  181. data/test/test/fixtures/options.yml +9 -0
  182. data/test/test/fixtures/photos.yml +9 -0
  183. data/test/test/fixtures/photos_tags.yml +3 -0
  184. data/test/test/fixtures/posts.yml +9 -0
  185. data/test/test/fixtures/products.yml +7 -0
  186. data/test/test/fixtures/projects.yml +7 -0
  187. data/test/test/fixtures/somethings.yml +7 -0
  188. data/test/test/fixtures/tags.yml +7 -0
  189. data/test/test/fixtures/users.yml +5 -0
  190. data/test/test/functional/cms/options_controller_test.rb +23 -0
  191. data/test/test/functional/cms/products_controller_test.rb +23 -0
  192. data/test/test/functional/comments_controller_test.rb +26 -0
  193. data/test/test/functional/images_controller_test.rb +37 -0
  194. data/test/test/functional/people_controller_test.rb +34 -0
  195. data/test/test/functional/photos_controller_test.rb +130 -0
  196. data/test/test/functional/posts_controller_test.rb +34 -0
  197. data/test/test/functional/projects_controller_test.rb +18 -0
  198. data/test/test/functional/somethings_controller_test.rb +28 -0
  199. data/test/test/functional/tags_controller_test.rb +64 -0
  200. data/test/test/functional/users_controller_test.rb +24 -0
  201. data/test/test/test_helper.rb +12 -0
  202. data/test/test/unit/accessors_test.rb +110 -0
  203. data/test/test/unit/account_test.rb +7 -0
  204. data/test/test/unit/action_options_test.rb +109 -0
  205. data/test/test/unit/base_test.rb +11 -0
  206. data/test/test/unit/comment_test.rb +10 -0
  207. data/test/test/unit/failable_action_options_test.rb +77 -0
  208. data/test/test/unit/helpers/current_objects_test.rb +133 -0
  209. data/test/test/unit/helpers/internal_test.rb +106 -0
  210. data/test/test/unit/helpers/nested_test.rb +86 -0
  211. data/test/test/unit/helpers/singleton_current_objects_test.rb +68 -0
  212. data/test/test/unit/helpers/singleton_nested_test.rb +77 -0
  213. data/test/test/unit/helpers/singleton_urls_test.rb +67 -0
  214. data/test/test/unit/helpers/urls_test.rb +75 -0
  215. data/test/test/unit/helpers_test.rb +25 -0
  216. data/test/test/unit/image_test.rb +7 -0
  217. data/test/test/unit/option_test.rb +10 -0
  218. data/test/test/unit/photo_test.rb +10 -0
  219. data/test/test/unit/post_test.rb +10 -0
  220. data/test/test/unit/project_test.rb +10 -0
  221. data/test/test/unit/response_collector_test.rb +49 -0
  222. data/test/test/unit/something_test.rb +10 -0
  223. data/test/test/unit/tag_test.rb +10 -0
  224. data/test/test/unit/urligence_test.rb +203 -0
  225. data/test/vendor/plugins/shoulda/Rakefile +32 -0
  226. data/test/vendor/plugins/shoulda/bin/convert_to_should_syntax +40 -0
  227. data/test/vendor/plugins/shoulda/init.rb +3 -0
  228. data/test/vendor/plugins/shoulda/lib/shoulda.rb +43 -0
  229. data/test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb +580 -0
  230. data/test/vendor/plugins/shoulda/lib/shoulda/color.rb +77 -0
  231. data/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/controller_tests.rb +467 -0
  232. data/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/html.rb +201 -0
  233. data/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/xml.rb +170 -0
  234. data/test/vendor/plugins/shoulda/lib/shoulda/gem/proc_extensions.rb +14 -0
  235. data/test/vendor/plugins/shoulda/lib/shoulda/gem/shoulda.rb +239 -0
  236. data/test/vendor/plugins/shoulda/lib/shoulda/general.rb +118 -0
  237. data/test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb +22 -0
  238. metadata +344 -0
@@ -0,0 +1,58 @@
1
+ ActionController::Routing::Routes.draw do |map|
2
+ map.resources :projects
3
+
4
+ map.resources :people
5
+
6
+ map.resources :dudes, :controller => "users"
7
+
8
+ map.resources :users do |user|
9
+ user.resources :photos, :name_prefix => "user_"
10
+ user.resource :image
11
+ end
12
+
13
+ map.resources :somethings
14
+
15
+ map.resources :photos do |photo|
16
+ photo.resources :tags, :name_prefix => "photo_"
17
+ end
18
+
19
+ map.resources :tags
20
+
21
+ map.namespace :cms do |cms|
22
+ cms.resources :products, :has_many => :options
23
+ end
24
+
25
+ map.resources :posts do |post|
26
+ post.resources :comments, :name_prefix => "post_"
27
+ end
28
+
29
+ map.resources :comments
30
+
31
+ map.resource :account, :has_many => :options
32
+
33
+ map.resource :image
34
+
35
+ map.resources :options
36
+
37
+ # The priority is based upon order of creation: first created -> highest priority.
38
+
39
+ # Sample of regular route:
40
+ # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
41
+ # Keep in mind you can assign values other than :controller and :action
42
+
43
+ # Sample of named route:
44
+ # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
45
+ # This route can be invoked with purchase_url(:id => product.id)
46
+
47
+ # You can have the root of your site routed by hooking up ''
48
+ # -- just remember to delete public/index.html.
49
+ # map.connect '', :controller => "welcome"
50
+
51
+ # Allow downloading Web Service WSDL as a file with an extension
52
+ # instead of a file named 'wsdl'
53
+ map.connect ':controller/service.wsdl', :action => 'wsdl'
54
+
55
+ # Install the default route as the lowest priority.
56
+ map.connect ':controller/:action/:id.:format'
57
+ map.connect ':controller/:action/:id'
58
+ end
@@ -0,0 +1,12 @@
1
+ class CreatePosts < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :posts do |t|
4
+ t.column :title, :string, :default => ''
5
+ t.column :body, :text, :default => ''
6
+ end
7
+ end
8
+
9
+ def self.down
10
+ drop_table :posts
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ class CreateProducts < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :products do |t|
4
+ t.column :name, :string
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :products
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ class CreateComments < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :comments do |t|
4
+ t.column :post_id, :integer
5
+ t.column :author, :string
6
+ t.column :body, :text
7
+ end
8
+ end
9
+
10
+ def self.down
11
+ drop_table :comments
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class CreateOptions < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :options do |t|
4
+ t.references :product
5
+ t.references :account
6
+ t.string :title
7
+ end
8
+ end
9
+
10
+ def self.down
11
+ drop_table :options
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ class CreatePhotos < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :photos do |t|
4
+ t.column :title, :string
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :photos
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ class CreateTags < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :tags do |t|
4
+ t.column :name, :string
5
+ end
6
+
7
+ create_table :photos_tags, :id => :false do |t|
8
+ t.column :photo_id, :integer
9
+ t.column :tag_id, :integer
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ drop_table :tags
15
+ drop_table :photos_tags
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ class CreateSomethings < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :somethings do |t|
4
+ t.column :title, :string
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :somethings
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class CreateAccounts < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :accounts do |t|
4
+ t.column :name, :string
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :accounts
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ class AddAccountIdToPhotos < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :photos, :account_id, :integer
4
+ end
5
+
6
+ def self.down
7
+ remove_column :photos, :account_id
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ class CreateProjects < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :projects do |t|
4
+ t.column :title, :string
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :projects
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ class CreateImages < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :images, :force => true do |t|
4
+ t.references :user
5
+ t.timestamps
6
+ end
7
+ end
8
+
9
+ def self.down
10
+ drop_table :images
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ class CreateUsers < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :users, :force => true do |t|
4
+ t.timestamps
5
+ end
6
+ end
7
+
8
+ def self.down
9
+ drop_table :users
10
+ end
11
+ end
@@ -0,0 +1,72 @@
1
+ # This file is auto-generated from the current state of the database. Instead of editing this file,
2
+ # please use the migrations feature of ActiveRecord to incrementally modify your database, and
3
+ # then regenerate this schema definition.
4
+ #
5
+ # Note that this schema.rb definition is the authoritative source for your database schema. If you need
6
+ # to create the application database on another system, you should be using db:schema:load, not running
7
+ # all the migrations from scratch. The latter is a flawed and unsustainable approach (the more migrations
8
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
9
+ #
10
+ # It's strongly recommended to check this file into your version control system.
11
+
12
+ ActiveRecord::Schema.define(:version => 12) do
13
+
14
+ create_table "accounts", :force => true do |t|
15
+ t.string "name"
16
+ end
17
+
18
+ create_table "comments", :force => true do |t|
19
+ t.integer "post_id"
20
+ t.string "author"
21
+ t.text "body"
22
+ end
23
+
24
+ create_table "images", :force => true do |t|
25
+ t.integer "user_id"
26
+ t.datetime "created_at"
27
+ t.datetime "updated_at"
28
+ end
29
+
30
+ create_table "options", :force => true do |t|
31
+ t.integer "product_id"
32
+ t.integer "account_id"
33
+ t.string "title"
34
+ end
35
+
36
+ create_table "photos", :force => true do |t|
37
+ t.string "title"
38
+ t.integer "account_id"
39
+ end
40
+
41
+ create_table "photos_tags", :force => true do |t|
42
+ t.integer "photo_id"
43
+ t.integer "tag_id"
44
+ end
45
+
46
+ create_table "posts", :force => true do |t|
47
+ t.string "title", :default => ""
48
+ t.text "body"
49
+ end
50
+
51
+ create_table "products", :force => true do |t|
52
+ t.string "name"
53
+ end
54
+
55
+ create_table "projects", :force => true do |t|
56
+ t.string "title"
57
+ end
58
+
59
+ create_table "somethings", :force => true do |t|
60
+ t.string "title"
61
+ end
62
+
63
+ create_table "tags", :force => true do |t|
64
+ t.string "name"
65
+ end
66
+
67
+ create_table "users", :force => true do |t|
68
+ t.datetime "created_at"
69
+ t.datetime "updated_at"
70
+ end
71
+
72
+ end
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/console'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/destroy'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/generate'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/server'
@@ -0,0 +1,7 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ name: MyString
5
+ two:
6
+ id: 2
7
+ name: MyString
@@ -0,0 +1,11 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ post_id: 1
5
+ author: MyString
6
+ body: MyText
7
+ two:
8
+ id: 2
9
+ post_id: 1
10
+ author: MyString
11
+ body: MyText
@@ -0,0 +1,6 @@
1
+ one:
2
+ id: 1
3
+ user_id: 1
4
+ two:
5
+ id: 2
6
+ user_id: 1
@@ -0,0 +1,9 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ product_id: 1
5
+ title: MyString
6
+ two:
7
+ id: 2
8
+ product_id: 2
9
+ title: MyString
@@ -0,0 +1,9 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ title: MyString
5
+ account_id: 1
6
+ two:
7
+ id: 2
8
+ title: MyString
9
+ account_id: 2
@@ -0,0 +1,3 @@
1
+ one_one:
2
+ photo_id: 1
3
+ tag_id: 1
@@ -0,0 +1,9 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ title: MyString
5
+ body: MyText
6
+ two:
7
+ id: 2
8
+ title: MyString
9
+ body: MyText
@@ -0,0 +1,7 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ name: MyString
5
+ two:
6
+ id: 2
7
+ name: MyString
@@ -0,0 +1,7 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ title: MyString
5
+ two:
6
+ id: 2
7
+ title: MyString
@@ -0,0 +1,7 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ title: MyString
5
+ two:
6
+ id: 2
7
+ title: MyString
@@ -0,0 +1,7 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ name: MyString
5
+ two:
6
+ id: 2
7
+ name: MyString
@@ -0,0 +1,5 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ one:
3
+ id: 1
4
+ two:
5
+ id: 2
@@ -0,0 +1,23 @@
1
+ require File.dirname(__FILE__) + '/../../test_helper'
2
+ require 'cms/options_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class Cms::OptionsController; def rescue_action(e) raise e end; end
6
+
7
+ class Cms::OptionsControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = Cms::OptionsController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ @option = Option.find 1
13
+ end
14
+
15
+ should_be_restful do |resource|
16
+ resource.formats = [:html]
17
+ resource.klass = ::Option
18
+ resource.parent = :product
19
+ resource.update.redirect = 'cms_product_option_path(@product, @option)'
20
+ resource.destroy.redirect = 'cms_product_options_path(@product)'
21
+ resource.create.redirect = 'cms_product_option_path(@product, @option)'
22
+ end
23
+ end