shoulda 2.11.3 → 3.0.0.beta1

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 (262) hide show
  1. data/Gemfile +9 -0
  2. data/Gemfile.lock +108 -0
  3. data/README.md +95 -0
  4. data/Rakefile +6 -50
  5. data/lib/shoulda/version.rb +1 -1
  6. metadata +50 -269
  7. data/README.rdoc +0 -154
  8. data/bin/convert_to_should_syntax +0 -42
  9. data/lib/shoulda.rb +0 -9
  10. data/lib/shoulda/action_controller.rb +0 -34
  11. data/lib/shoulda/action_controller/macros.rb +0 -221
  12. data/lib/shoulda/action_controller/matchers.rb +0 -39
  13. data/lib/shoulda/action_controller/matchers/assign_to_matcher.rb +0 -112
  14. data/lib/shoulda/action_controller/matchers/filter_param_matcher.rb +0 -74
  15. data/lib/shoulda/action_controller/matchers/redirect_to_matcher.rb +0 -62
  16. data/lib/shoulda/action_controller/matchers/render_template_matcher.rb +0 -54
  17. data/lib/shoulda/action_controller/matchers/render_with_layout_matcher.rb +0 -99
  18. data/lib/shoulda/action_controller/matchers/respond_with_content_type_matcher.rb +0 -74
  19. data/lib/shoulda/action_controller/matchers/respond_with_matcher.rb +0 -85
  20. data/lib/shoulda/action_controller/matchers/route_matcher.rb +0 -93
  21. data/lib/shoulda/action_controller/matchers/set_session_matcher.rb +0 -98
  22. data/lib/shoulda/action_controller/matchers/set_the_flash_matcher.rb +0 -100
  23. data/lib/shoulda/action_mailer.rb +0 -13
  24. data/lib/shoulda/action_mailer/assertions.rb +0 -42
  25. data/lib/shoulda/action_mailer/matchers.rb +0 -22
  26. data/lib/shoulda/action_mailer/matchers/have_sent_email.rb +0 -110
  27. data/lib/shoulda/active_record.rb +0 -16
  28. data/lib/shoulda/active_record/assertions.rb +0 -69
  29. data/lib/shoulda/active_record/helpers.rb +0 -32
  30. data/lib/shoulda/active_record/macros.rb +0 -457
  31. data/lib/shoulda/active_record/matchers.rb +0 -42
  32. data/lib/shoulda/active_record/matchers/allow_mass_assignment_of_matcher.rb +0 -83
  33. data/lib/shoulda/active_record/matchers/allow_value_matcher.rb +0 -110
  34. data/lib/shoulda/active_record/matchers/association_matcher.rb +0 -226
  35. data/lib/shoulda/active_record/matchers/ensure_inclusion_of_matcher.rb +0 -87
  36. data/lib/shoulda/active_record/matchers/ensure_length_of_matcher.rb +0 -141
  37. data/lib/shoulda/active_record/matchers/have_db_column_matcher.rb +0 -169
  38. data/lib/shoulda/active_record/matchers/have_db_index_matcher.rb +0 -112
  39. data/lib/shoulda/active_record/matchers/have_readonly_attribute_matcher.rb +0 -59
  40. data/lib/shoulda/active_record/matchers/validate_acceptance_of_matcher.rb +0 -41
  41. data/lib/shoulda/active_record/matchers/validate_format_of_matcher.rb +0 -65
  42. data/lib/shoulda/active_record/matchers/validate_numericality_of_matcher.rb +0 -39
  43. data/lib/shoulda/active_record/matchers/validate_presence_of_matcher.rb +0 -60
  44. data/lib/shoulda/active_record/matchers/validate_uniqueness_of_matcher.rb +0 -148
  45. data/lib/shoulda/active_record/matchers/validation_matcher.rb +0 -56
  46. data/lib/shoulda/assertions.rb +0 -79
  47. data/lib/shoulda/autoload_macros.rb +0 -46
  48. data/lib/shoulda/context.rb +0 -433
  49. data/lib/shoulda/helpers.rb +0 -8
  50. data/lib/shoulda/integrations/rspec.rb +0 -13
  51. data/lib/shoulda/integrations/rspec2.rb +0 -22
  52. data/lib/shoulda/integrations/test_unit.rb +0 -22
  53. data/lib/shoulda/macros.rb +0 -161
  54. data/lib/shoulda/private_helpers.rb +0 -13
  55. data/lib/shoulda/proc_extensions.rb +0 -14
  56. data/lib/shoulda/rails.rb +0 -8
  57. data/lib/shoulda/tasks.rb +0 -3
  58. data/lib/shoulda/tasks/list_tests.rake +0 -29
  59. data/lib/shoulda/tasks/yaml_to_shoulda.rake +0 -28
  60. data/rails/init.rb +0 -8
  61. data/test/README +0 -36
  62. data/test/fail_macros.rb +0 -55
  63. data/test/fixtures/addresses.yml +0 -3
  64. data/test/fixtures/friendships.yml +0 -0
  65. data/test/fixtures/posts.yml +0 -5
  66. data/test/fixtures/products.yml +0 -0
  67. data/test/fixtures/taggings.yml +0 -0
  68. data/test/fixtures/tags.yml +0 -9
  69. data/test/fixtures/users.yml +0 -6
  70. data/test/functional/posts_controller_test.rb +0 -121
  71. data/test/functional/users_controller_test.rb +0 -19
  72. data/test/matchers/action_mailer/have_sent_email_test.rb +0 -70
  73. data/test/matchers/active_record/allow_mass_assignment_of_matcher_test.rb +0 -74
  74. data/test/matchers/active_record/allow_value_matcher_test.rb +0 -64
  75. data/test/matchers/active_record/association_matcher_test.rb +0 -263
  76. data/test/matchers/active_record/ensure_inclusion_of_matcher_test.rb +0 -81
  77. data/test/matchers/active_record/ensure_length_of_matcher_test.rb +0 -158
  78. data/test/matchers/active_record/have_db_column_matcher_test.rb +0 -169
  79. data/test/matchers/active_record/have_db_index_matcher_test.rb +0 -91
  80. data/test/matchers/active_record/have_readonly_attributes_matcher_test.rb +0 -29
  81. data/test/matchers/active_record/validate_acceptance_of_matcher_test.rb +0 -44
  82. data/test/matchers/active_record/validate_format_of_matcher_test.rb +0 -39
  83. data/test/matchers/active_record/validate_numericality_of_matcher_test.rb +0 -52
  84. data/test/matchers/active_record/validate_presence_of_matcher_test.rb +0 -86
  85. data/test/matchers/active_record/validate_uniqueness_of_matcher_test.rb +0 -147
  86. data/test/matchers/controller/assign_to_matcher_test.rb +0 -45
  87. data/test/matchers/controller/filter_param_matcher_test.rb +0 -40
  88. data/test/matchers/controller/redirect_to_matcher_test.rb +0 -37
  89. data/test/matchers/controller/render_template_matcher_test.rb +0 -37
  90. data/test/matchers/controller/render_with_layout_matcher_test.rb +0 -47
  91. data/test/matchers/controller/respond_with_content_type_matcher_test.rb +0 -32
  92. data/test/matchers/controller/respond_with_matcher_test.rb +0 -96
  93. data/test/matchers/controller/route_matcher_test.rb +0 -75
  94. data/test/matchers/controller/set_session_matcher_test.rb +0 -48
  95. data/test/matchers/controller/set_the_flash_matcher.rb +0 -95
  96. data/test/other/autoload_macro_test.rb +0 -18
  97. data/test/other/context_test.rb +0 -372
  98. data/test/other/convert_to_should_syntax_test.rb +0 -63
  99. data/test/other/helpers_test.rb +0 -317
  100. data/test/other/private_helpers_test.rb +0 -32
  101. data/test/other/should_test.rb +0 -271
  102. data/test/rails2_model_builder.rb +0 -130
  103. data/test/rails2_root/app/controllers/application_controller.rb +0 -22
  104. data/test/rails2_root/app/controllers/posts_controller.rb +0 -87
  105. data/test/rails2_root/app/controllers/users_controller.rb +0 -84
  106. data/test/rails2_root/app/helpers/application_helper.rb +0 -3
  107. data/test/rails2_root/app/helpers/posts_helper.rb +0 -2
  108. data/test/rails2_root/app/helpers/users_helper.rb +0 -2
  109. data/test/rails2_root/app/models/address.rb +0 -7
  110. data/test/rails2_root/app/models/flea.rb +0 -11
  111. data/test/rails2_root/app/models/friendship.rb +0 -4
  112. data/test/rails2_root/app/models/notifier.rb +0 -8
  113. data/test/rails2_root/app/models/pets/cat.rb +0 -7
  114. data/test/rails2_root/app/models/pets/dog.rb +0 -10
  115. data/test/rails2_root/app/models/post.rb +0 -12
  116. data/test/rails2_root/app/models/product.rb +0 -12
  117. data/test/rails2_root/app/models/profile.rb +0 -2
  118. data/test/rails2_root/app/models/registration.rb +0 -2
  119. data/test/rails2_root/app/models/tag.rb +0 -8
  120. data/test/rails2_root/app/models/tagging.rb +0 -4
  121. data/test/rails2_root/app/models/treat.rb +0 -3
  122. data/test/rails2_root/app/models/user.rb +0 -32
  123. data/test/rails2_root/app/views/layouts/posts.rhtml +0 -19
  124. data/test/rails2_root/app/views/layouts/users.rhtml +0 -17
  125. data/test/rails2_root/app/views/layouts/wide.html.erb +0 -1
  126. data/test/rails2_root/app/views/notifier/the_email.html.erb +0 -1
  127. data/test/rails2_root/app/views/posts/edit.rhtml +0 -27
  128. data/test/rails2_root/app/views/posts/index.rhtml +0 -25
  129. data/test/rails2_root/app/views/posts/new.rhtml +0 -26
  130. data/test/rails2_root/app/views/posts/show.rhtml +0 -18
  131. data/test/rails2_root/app/views/users/edit.rhtml +0 -22
  132. data/test/rails2_root/app/views/users/index.rhtml +0 -22
  133. data/test/rails2_root/app/views/users/new.rhtml +0 -21
  134. data/test/rails2_root/app/views/users/show.rhtml +0 -13
  135. data/test/rails2_root/config/boot.rb +0 -110
  136. data/test/rails2_root/config/database.yml +0 -4
  137. data/test/rails2_root/config/environment.rb +0 -17
  138. data/test/rails2_root/config/environments/test.rb +0 -23
  139. data/test/rails2_root/config/initializers/new_rails_defaults.rb +0 -15
  140. data/test/rails2_root/config/initializers/shoulda.rb +0 -8
  141. data/test/rails2_root/config/routes.rb +0 -6
  142. data/test/rails2_root/db/migrate/001_create_users.rb +0 -19
  143. data/test/rails2_root/db/migrate/002_create_posts.rb +0 -13
  144. data/test/rails2_root/db/migrate/003_create_taggings.rb +0 -12
  145. data/test/rails2_root/db/migrate/004_create_tags.rb +0 -11
  146. data/test/rails2_root/db/migrate/005_create_dogs.rb +0 -12
  147. data/test/rails2_root/db/migrate/006_create_addresses.rb +0 -14
  148. data/test/rails2_root/db/migrate/007_create_fleas.rb +0 -11
  149. data/test/rails2_root/db/migrate/008_create_dogs_fleas.rb +0 -12
  150. data/test/rails2_root/db/migrate/009_create_products.rb +0 -17
  151. data/test/rails2_root/db/migrate/010_create_friendships.rb +0 -14
  152. data/test/rails2_root/db/migrate/011_create_treats.rb +0 -12
  153. data/test/rails2_root/db/migrate/20090506203502_create_profiles.rb +0 -12
  154. data/test/rails2_root/db/migrate/20090506203536_create_registrations.rb +0 -14
  155. data/test/rails2_root/db/migrate/20090513104502_create_cats.rb +0 -12
  156. data/test/rails2_root/db/schema.rb +0 -0
  157. data/test/rails2_root/log/test.log +0 -50381
  158. data/test/rails2_root/public/404.html +0 -30
  159. data/test/rails2_root/public/422.html +0 -30
  160. data/test/rails2_root/public/500.html +0 -30
  161. data/test/rails2_root/script/console +0 -3
  162. data/test/rails2_root/script/generate +0 -3
  163. data/test/rails2_root/test/shoulda_macros/custom_macro.rb +0 -6
  164. data/test/rails2_root/vendor/gems/gem_with_macro-0.0.1/shoulda_macros/gem_macro.rb +0 -6
  165. data/test/rails2_root/vendor/plugins/plugin_with_macro/shoulda_macros/plugin_macro.rb +0 -6
  166. data/test/rails2_test_helper.rb +0 -6
  167. data/test/rails3_model_builder.rb +0 -118
  168. data/test/rails3_root/Gemfile +0 -28
  169. data/test/rails3_root/README +0 -244
  170. data/test/rails3_root/Rakefile +0 -10
  171. data/test/rails3_root/app/controllers/application_controller.rb +0 -22
  172. data/test/rails3_root/app/controllers/posts_controller.rb +0 -87
  173. data/test/rails3_root/app/controllers/users_controller.rb +0 -82
  174. data/test/rails3_root/app/helpers/application_helper.rb +0 -2
  175. data/test/rails3_root/app/models/address.rb +0 -7
  176. data/test/rails3_root/app/models/flea.rb +0 -11
  177. data/test/rails3_root/app/models/friendship.rb +0 -4
  178. data/test/rails3_root/app/models/notifier.rb +0 -8
  179. data/test/rails3_root/app/models/pets/cat.rb +0 -7
  180. data/test/rails3_root/app/models/pets/dog.rb +0 -10
  181. data/test/rails3_root/app/models/post.rb +0 -12
  182. data/test/rails3_root/app/models/product.rb +0 -12
  183. data/test/rails3_root/app/models/profile.rb +0 -2
  184. data/test/rails3_root/app/models/registration.rb +0 -2
  185. data/test/rails3_root/app/models/tag.rb +0 -8
  186. data/test/rails3_root/app/models/tagging.rb +0 -4
  187. data/test/rails3_root/app/models/treat.rb +0 -3
  188. data/test/rails3_root/app/models/user.rb +0 -32
  189. data/test/rails3_root/app/views/layouts/application.html.erb +0 -14
  190. data/test/rails3_root/app/views/layouts/posts.rhtml +0 -19
  191. data/test/rails3_root/app/views/layouts/users.rhtml +0 -17
  192. data/test/rails3_root/app/views/layouts/wide.html.erb +0 -1
  193. data/test/rails3_root/app/views/notifier/the_email.html.erb +0 -1
  194. data/test/rails3_root/app/views/posts/edit.rhtml +0 -27
  195. data/test/rails3_root/app/views/posts/index.rhtml +0 -25
  196. data/test/rails3_root/app/views/posts/new.rhtml +0 -24
  197. data/test/rails3_root/app/views/posts/show.rhtml +0 -18
  198. data/test/rails3_root/app/views/users/edit.rhtml +0 -22
  199. data/test/rails3_root/app/views/users/index.rhtml +0 -22
  200. data/test/rails3_root/app/views/users/new.rhtml +0 -21
  201. data/test/rails3_root/app/views/users/show.rhtml +0 -13
  202. data/test/rails3_root/config.ru +0 -4
  203. data/test/rails3_root/config/application.rb +0 -46
  204. data/test/rails3_root/config/boot.rb +0 -6
  205. data/test/rails3_root/config/database.yml +0 -22
  206. data/test/rails3_root/config/environment.rb +0 -5
  207. data/test/rails3_root/config/environments/development.rb +0 -19
  208. data/test/rails3_root/config/environments/production.rb +0 -42
  209. data/test/rails3_root/config/environments/test.rb +0 -32
  210. data/test/rails3_root/config/initializers/backtrace_silencers.rb +0 -7
  211. data/test/rails3_root/config/initializers/inflections.rb +0 -10
  212. data/test/rails3_root/config/initializers/mime_types.rb +0 -5
  213. data/test/rails3_root/config/initializers/secret_token.rb +0 -7
  214. data/test/rails3_root/config/initializers/session_store.rb +0 -8
  215. data/test/rails3_root/config/locales/en.yml +0 -5
  216. data/test/rails3_root/config/routes.rb +0 -4
  217. data/test/rails3_root/db/migrate/001_create_users.rb +0 -19
  218. data/test/rails3_root/db/migrate/002_create_posts.rb +0 -13
  219. data/test/rails3_root/db/migrate/003_create_taggings.rb +0 -12
  220. data/test/rails3_root/db/migrate/004_create_tags.rb +0 -11
  221. data/test/rails3_root/db/migrate/005_create_dogs.rb +0 -12
  222. data/test/rails3_root/db/migrate/006_create_addresses.rb +0 -14
  223. data/test/rails3_root/db/migrate/007_create_fleas.rb +0 -11
  224. data/test/rails3_root/db/migrate/008_create_dogs_fleas.rb +0 -12
  225. data/test/rails3_root/db/migrate/009_create_products.rb +0 -17
  226. data/test/rails3_root/db/migrate/010_create_friendships.rb +0 -14
  227. data/test/rails3_root/db/migrate/011_create_treats.rb +0 -12
  228. data/test/rails3_root/db/migrate/20090506203502_create_profiles.rb +0 -12
  229. data/test/rails3_root/db/migrate/20090506203536_create_registrations.rb +0 -14
  230. data/test/rails3_root/db/migrate/20090513104502_create_cats.rb +0 -12
  231. data/test/rails3_root/db/seeds.rb +0 -7
  232. data/test/rails3_root/db/test.sqlite3 +0 -0
  233. data/test/rails3_root/log/test.log +0 -10834
  234. data/test/rails3_root/public/404.html +0 -26
  235. data/test/rails3_root/public/422.html +0 -26
  236. data/test/rails3_root/public/500.html +0 -26
  237. data/test/rails3_root/public/favicon.ico +0 -0
  238. data/test/rails3_root/public/images/rails.png +0 -0
  239. data/test/rails3_root/public/index.html +0 -279
  240. data/test/rails3_root/public/javascripts/application.js +0 -2
  241. data/test/rails3_root/public/javascripts/controls.js +0 -965
  242. data/test/rails3_root/public/javascripts/dragdrop.js +0 -974
  243. data/test/rails3_root/public/javascripts/effects.js +0 -1123
  244. data/test/rails3_root/public/javascripts/prototype.js +0 -4874
  245. data/test/rails3_root/public/javascripts/rails.js +0 -118
  246. data/test/rails3_root/public/robots.txt +0 -5
  247. data/test/rails3_root/script/rails +0 -9
  248. data/test/rails3_root/test/performance/browsing_test.rb +0 -9
  249. data/test/rails3_root/test/test_helper.rb +0 -13
  250. data/test/rails3_test_helper.rb +0 -6
  251. data/test/rspec_test.rb +0 -207
  252. data/test/test_helper.rb +0 -36
  253. data/test/unit/address_test.rb +0 -10
  254. data/test/unit/cat_test.rb +0 -7
  255. data/test/unit/dog_test.rb +0 -9
  256. data/test/unit/flea_test.rb +0 -14
  257. data/test/unit/friendship_test.rb +0 -6
  258. data/test/unit/post_test.rb +0 -15
  259. data/test/unit/product_test.rb +0 -23
  260. data/test/unit/tag_test.rb +0 -11
  261. data/test/unit/tagging_test.rb +0 -6
  262. data/test/unit/user_test.rb +0 -46
@@ -1,10 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require File.expand_path('../config/application', __FILE__)
5
-
6
- require 'rake'
7
- require 'rake/testtask'
8
- require 'rake/rdoctask'
9
-
10
- Rails::Application.load_tasks
@@ -1,22 +0,0 @@
1
- # Filters added to this controller apply to all controllers in the application.
2
- # Likewise, all the methods added will be available for all controllers.
3
-
4
- class ApplicationController < ActionController::Base
5
- def ensure_logged_in
6
- unless session[:logged_in]
7
- respond_to do |accepts|
8
- accepts.html do
9
- flash[:error] = 'What do you think you\'re doing?'
10
- redirect_to '/'
11
- end
12
- accepts.xml do
13
- headers["Status"] = "Unauthorized"
14
- headers["WWW-Authenticate"] = %(Basic realm="Web Password")
15
- render :text => "Couldn't authenticate you", :status => '401 Unauthorized'
16
- end
17
- end
18
- return false
19
- end
20
- return true
21
- end
22
- end
@@ -1,87 +0,0 @@
1
- class PostsController < ApplicationController
2
- before_filter :ensure_logged_in
3
- before_filter :load_user
4
-
5
- def index
6
- @posts = @user.posts
7
-
8
- respond_to do |format|
9
- format.html # index.rhtml
10
- format.xml { render :xml => @posts.to_xml }
11
- format.rss do
12
- headers['Content-Type'] = 'application/rss+xml'
13
- session[:special] = '$2 off your next purchase'
14
- session[:special_user_id] = @user.id
15
- session[:false_var] = false
16
- head :ok
17
- end
18
- end
19
- end
20
-
21
- def show
22
- @post = @user.posts.find(params[:id])
23
- @false_flag = false
24
-
25
- respond_to do |format|
26
- format.html { render :layout => 'wide' }
27
- format.xml { render :xml => @post.to_xml }
28
- end
29
- end
30
-
31
- def new
32
- @post = @user.posts.build
33
- render :layout => false
34
- end
35
-
36
- def edit
37
- @post = @user.posts.find(params[:id])
38
- end
39
-
40
- def create
41
- @post = @user.posts.build(params[:post])
42
-
43
- respond_to do |format|
44
- if @post.save
45
- flash[:notice] = 'Post was successfully created.'
46
- format.html { redirect_to user_post_url(@post.user, @post) }
47
- format.xml { head :created, :location => user_post_url(@post.user, @post) }
48
- else
49
- format.html { render :action => "new" }
50
- format.xml { render :xml => @post.errors.to_xml }
51
- end
52
- end
53
- end
54
-
55
- def update
56
- @post = @user.posts.find(params[:id])
57
-
58
- respond_to do |format|
59
- if @post.update_attributes(params[:post])
60
- flash[:notice] = 'Post was successfully updated.'
61
- format.html { redirect_to user_post_url(@post.user, @post) }
62
- format.xml { head :ok }
63
- else
64
- format.html { render :action => "edit" }
65
- format.xml { render :xml => @post.errors.to_xml }
66
- end
67
- end
68
- end
69
-
70
- def destroy
71
- @post = @user.posts.find(params[:id])
72
- @post.destroy
73
-
74
- flash[:notice] = "Post was removed"
75
-
76
- respond_to do |format|
77
- format.html { redirect_to user_posts_url(@post.user) }
78
- format.xml { head :ok }
79
- end
80
- end
81
-
82
- private
83
-
84
- def load_user
85
- @user = User.find(params[:user_id])
86
- end
87
- end
@@ -1,82 +0,0 @@
1
- class UsersController < ApplicationController
2
-
3
- # GET /users
4
- # GET /users.xml
5
- def index
6
- @users = User.find(:all)
7
-
8
- respond_to do |format|
9
- format.html # index.rhtml
10
- format.xml { render :xml => @users.to_xml }
11
- end
12
- end
13
-
14
- # GET /users/1
15
- # GET /users/1.xml
16
- def show
17
- @user = User.find(params[:id])
18
-
19
- respond_to do |format|
20
- format.html # show.rhtml
21
- format.xml { render :xml => @user.to_xml }
22
- end
23
- end
24
-
25
- # GET /users/new
26
- def new
27
- @user = User.new
28
- end
29
-
30
- # GET /users/1;edit
31
- def edit
32
- @user = User.find(params[:id])
33
- end
34
-
35
- # POST /users
36
- # POST /users.xml
37
- def create
38
- @user = User.new(params[:user])
39
-
40
- respond_to do |format|
41
- if @user.save
42
- flash[:notice] = 'User was successfully created.'
43
- format.html { redirect_to user_url(@user) }
44
- format.xml { head :created, :location => user_url(@user) }
45
- else
46
- format.html { render :action => "new" }
47
- format.xml { render :xml => @user.errors.to_xml }
48
- end
49
- end
50
- end
51
-
52
- # PUT /users/1
53
- # PUT /users/1.xml
54
- def update
55
- @user = User.find(params[:id])
56
-
57
- respond_to do |format|
58
- if @user.update_attributes(params[:user])
59
- flash[:notice] = 'User was successfully updated.'
60
- format.html { redirect_to user_url(@user) }
61
- format.xml { head :ok }
62
- else
63
- format.html { render :action => "edit" }
64
- format.xml { render :xml => @user.errors.to_xml }
65
- end
66
- end
67
- end
68
-
69
- # DELETE /users/1
70
- # DELETE /users/1.xml
71
- def destroy
72
- @user = User.find(params[:id])
73
- @user.destroy
74
-
75
- flash[:notice] = "User was removed"
76
-
77
- respond_to do |format|
78
- format.html { redirect_to users_url }
79
- format.xml { head :ok }
80
- end
81
- end
82
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,7 +0,0 @@
1
- class Address < ActiveRecord::Base
2
- belongs_to :addressable, :polymorphic => true
3
- validates_uniqueness_of :title, :scope => [:addressable_type, :addressable_id]
4
-
5
- validates_length_of :zip, :minimum => 5
6
- validates_numericality_of :zip
7
- end
@@ -1,11 +0,0 @@
1
- class Flea < ActiveRecord::Base
2
- has_and_belongs_to_many :dogs
3
-
4
- after_create :send_notification
5
-
6
- private
7
-
8
- def send_notification
9
- Notifier.the_email.deliver
10
- end
11
- end
@@ -1,4 +0,0 @@
1
- class Friendship < ActiveRecord::Base
2
- belongs_to :user
3
- belongs_to :friend, :class_name => "User"
4
- end
@@ -1,8 +0,0 @@
1
- class Notifier < ActionMailer::Base
2
- def the_email
3
- from "do-not-reply@example.com"
4
- recipients "myself@me.com"
5
- subject "This is spam"
6
- body :body => "Every email is spam."
7
- end
8
- end
@@ -1,7 +0,0 @@
1
- module Pets
2
- class Cat < ActiveRecord::Base
3
- belongs_to :owner, :class_name => 'User'
4
- belongs_to :address, :dependent => :destroy
5
- validates_presence_of :owner_id
6
- end
7
- end
@@ -1,10 +0,0 @@
1
- module Pets
2
- class Dog < ActiveRecord::Base
3
- belongs_to :user, :foreign_key => :owner_id
4
- belongs_to :address, :dependent => :destroy
5
- has_many :treats
6
- has_and_belongs_to_many :fleas
7
- validates_presence_of :treats, :fleas
8
- validates_presence_of :owner_id
9
- end
10
- end
@@ -1,12 +0,0 @@
1
- class Post < ActiveRecord::Base
2
- belongs_to :user
3
- belongs_to :owner, :foreign_key => :user_id, :class_name => 'User'
4
- has_many :taggings
5
- has_many :tags, :through => :taggings
6
- has_many :through_tags, :through => :taggings, :source => :tag
7
-
8
- validates_uniqueness_of :title
9
- validates_presence_of :title
10
- validates_presence_of :body, :message => 'Seriously, wtf'
11
- validates_numericality_of :user_id
12
- end
@@ -1,12 +0,0 @@
1
- class Product < ActiveRecord::Base
2
- validates_presence_of :title
3
-
4
- validates_inclusion_of :price, :in => 0..99, :unless => :tangible
5
- validates_format_of :size, :with => /^\d+\D+$/, :unless => :tangible
6
-
7
- validates_presence_of :price, :if => :tangible
8
- validates_inclusion_of :price, :in => 1..9999, :if => :tangible
9
- validates_inclusion_of :weight, :in => 1..100, :if => :tangible
10
- validates_format_of :size, :with => /.+x.+x.+/, :if => :tangible
11
- validates_length_of :size, :in => 5..20, :if => :tangible
12
- end
@@ -1,2 +0,0 @@
1
- class Profile < ActiveRecord::Base
2
- end
@@ -1,2 +0,0 @@
1
- class Registration < ActiveRecord::Base
2
- end
@@ -1,8 +0,0 @@
1
- class Tag < ActiveRecord::Base
2
- has_many :taggings, :dependent => :destroy
3
- has_many :posts, :through => :taggings
4
-
5
- validates_length_of :name, :minimum => 2
6
-
7
- attr_accessible :name
8
- end
@@ -1,4 +0,0 @@
1
- class Tagging < ActiveRecord::Base
2
- belongs_to :post
3
- belongs_to :tag
4
- end
@@ -1,3 +0,0 @@
1
- class Treat < ActiveRecord::Base
2
-
3
- end
@@ -1,32 +0,0 @@
1
- class User < ActiveRecord::Base
2
- has_many :posts
3
- has_many :dogs, :foreign_key => :owner_id, :class_name => "Pets::Dog"
4
- has_many :cats, :foreign_key => :owner_id, :class_name => "Pets::Cat"
5
-
6
- has_many :friendships
7
- has_many :friends, :through => :friendships
8
-
9
- has_one :address, :as => :addressable, :dependent => :destroy
10
- has_one :registration
11
- has_one :profile, :through => :registration
12
-
13
- scope :old, :conditions => "age > 50"
14
- scope :eighteen, :conditions => { :age => 18 }
15
- scope :recent, lambda {|count| { :limit => count } }
16
-
17
- def self.recent_via_method(count)
18
- scoped(:limit => count)
19
- end
20
-
21
- attr_protected :password
22
- attr_readonly :name
23
-
24
- validates_format_of :email, :with => /\w*@\w*.com/
25
- validates_length_of :email, :in => 1..100
26
- validates_numericality_of :age, :greater_than_or_equal_to => 1,
27
- :less_than_or_equal_to => 100
28
- validates_acceptance_of :eula
29
- validates_uniqueness_of :email, :scope => :name, :case_sensitive => false
30
- validates_length_of :ssn, :is => 9, :message => "Social Security Number is not the right length"
31
- validates_numericality_of :ssn
32
- end
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Rails3Root</title>
5
- <%= stylesheet_link_tag :all %>
6
- <%= javascript_include_tag :defaults %>
7
- <%= csrf_meta_tag %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>
@@ -1,19 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
7
- <meta name="description" content="Posts, posts and more posts" />
8
- <meta name='keywords' content='posts' />
9
- <title>Posts: <%= controller.action_name %></title>
10
- <%= stylesheet_link_tag 'scaffold' %>
11
- </head>
12
- <body>
13
-
14
- <p style="color: green"><%= flash[:notice] %></p>
15
-
16
- <%= yield %>
17
-
18
- </body>
19
- </html>
@@ -1,17 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
7
- <title>Users: <%= controller.action_name %></title>
8
- <%= stylesheet_link_tag 'scaffold' %>
9
- </head>
10
- <body>
11
-
12
- <p style="color: green"><%= flash[:notice] %></p>
13
-
14
- <%= yield %>
15
-
16
- </body>
17
- </html>
@@ -1 +0,0 @@
1
- <html><%= yield %></html>
@@ -1,27 +0,0 @@
1
- <h1>Editing post</h1>
2
-
3
- <%= error_messages_for :post %>
4
-
5
- <% form_for(:post, :url => user_post_path(@post.user, @post), :html => { :method => :put }) do |f| %>
6
- <p>
7
- <b>User</b><br />
8
- <%= f.text_field :user_id %>
9
- </p>
10
-
11
- <p>
12
- <b>Title</b><br />
13
- <%= f.text_field :title %>
14
- </p>
15
-
16
- <p>
17
- <b>Body</b><br />
18
- <%= f.text_area :body %>
19
- </p>
20
-
21
- <p>
22
- <%= submit_tag "Update" %>
23
- </p>
24
- <% end %>
25
-
26
- <%= link_to 'Show', user_post_path(@post.user, @post) %> |
27
- <%= link_to 'Back', user_posts_path(@post.user) %>