nileshtrivedi-safe_resource 0.5.3

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 (239) hide show
  1. data/LICENSE +22 -0
  2. data/README.rdoc +314 -0
  3. data/Rakefile +22 -0
  4. data/generators/scaffold_resource/USAGE +29 -0
  5. data/generators/scaffold_resource/scaffold_resource_generator.rb +183 -0
  6. data/generators/scaffold_resource/templates/controller.rb +68 -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 +22 -0
  10. data/generators/scaffold_resource/templates/migration.rb +15 -0
  11. data/generators/scaffold_resource/templates/model.rb +60 -0
  12. data/generators/scaffold_resource/templates/old_migration.rb +13 -0
  13. data/generators/scaffold_resource/templates/rspec/functional_spec.rb +255 -0
  14. data/generators/scaffold_resource/templates/rspec/helper_spec.rb +11 -0
  15. data/generators/scaffold_resource/templates/rspec/routing_spec.rb +61 -0
  16. data/generators/scaffold_resource/templates/rspec/unit_spec.rb +11 -0
  17. data/generators/scaffold_resource/templates/rspec/views/edit_spec.rb +28 -0
  18. data/generators/scaffold_resource/templates/rspec/views/index_spec.rb +26 -0
  19. data/generators/scaffold_resource/templates/rspec/views/new_spec.rb +30 -0
  20. data/generators/scaffold_resource/templates/rspec/views/show_spec.rb +25 -0
  21. data/generators/scaffold_resource/templates/shoulda_functional_test.rb +19 -0
  22. data/generators/scaffold_resource/templates/unit_test.rb +7 -0
  23. data/generators/scaffold_resource/templates/view__form.erb +7 -0
  24. data/generators/scaffold_resource/templates/view__form.haml +5 -0
  25. data/generators/scaffold_resource/templates/view_edit.erb +2 -0
  26. data/generators/scaffold_resource/templates/view_edit.haml +11 -0
  27. data/generators/scaffold_resource/templates/view_index.erb +2 -0
  28. data/generators/scaffold_resource/templates/view_index.haml +19 -0
  29. data/generators/scaffold_resource/templates/view_new.erb +2 -0
  30. data/generators/scaffold_resource/templates/view_new.haml +9 -0
  31. data/generators/scaffold_resource/templates/view_partial_edit.html.erb +16 -0
  32. data/generators/scaffold_resource/templates/view_partial_index.html.erb +28 -0
  33. data/generators/scaffold_resource/templates/view_partial_new.html.erb +11 -0
  34. data/generators/scaffold_resource/templates/view_partial_show.html.erb +9 -0
  35. data/generators/scaffold_resource/templates/view_show.erb +2 -0
  36. data/generators/scaffold_resource/templates/view_show.haml +9 -0
  37. data/init.rb +1 -0
  38. data/lib/resource_controller.rb +20 -0
  39. data/lib/resource_controller/accessors.rb +77 -0
  40. data/lib/resource_controller/action_options.rb +40 -0
  41. data/lib/resource_controller/actions.rb +75 -0
  42. data/lib/resource_controller/base.rb +15 -0
  43. data/lib/resource_controller/class_methods.rb +24 -0
  44. data/lib/resource_controller/controller.rb +69 -0
  45. data/lib/resource_controller/failable_action_options.rb +25 -0
  46. data/lib/resource_controller/helpers.rb +28 -0
  47. data/lib/resource_controller/helpers/current_objects.rb +73 -0
  48. data/lib/resource_controller/helpers/internal.rb +80 -0
  49. data/lib/resource_controller/helpers/nested.rb +67 -0
  50. data/lib/resource_controller/helpers/singleton_customizations.rb +64 -0
  51. data/lib/resource_controller/helpers/urls.rb +132 -0
  52. data/lib/resource_controller/response_collector.rb +27 -0
  53. data/lib/resource_controller/singleton.rb +15 -0
  54. data/lib/urligence.rb +50 -0
  55. data/rails/init.rb +6 -0
  56. data/test/Rakefile +10 -0
  57. data/test/app/controllers/accounts_controller.rb +6 -0
  58. data/test/app/controllers/application.rb +7 -0
  59. data/test/app/controllers/cms/options_controller.rb +3 -0
  60. data/test/app/controllers/cms/products_controller.rb +3 -0
  61. data/test/app/controllers/comments_controller.rb +3 -0
  62. data/test/app/controllers/images_controller.rb +4 -0
  63. data/test/app/controllers/options_controller.rb +8 -0
  64. data/test/app/controllers/people_controller.rb +9 -0
  65. data/test/app/controllers/photos_controller.rb +12 -0
  66. data/test/app/controllers/posts_controller.rb +10 -0
  67. data/test/app/controllers/projects_controller.rb +3 -0
  68. data/test/app/controllers/somethings_controller.rb +3 -0
  69. data/test/app/controllers/tags_controller.rb +13 -0
  70. data/test/app/controllers/users_controller.rb +12 -0
  71. data/test/app/helpers/accounts_helper.rb +2 -0
  72. data/test/app/helpers/application_helper.rb +3 -0
  73. data/test/app/helpers/cms/products_helper.rb +2 -0
  74. data/test/app/helpers/comments_helper.rb +2 -0
  75. data/test/app/helpers/images_helper.rb +2 -0
  76. data/test/app/helpers/options_helper.rb +2 -0
  77. data/test/app/helpers/people_helper.rb +2 -0
  78. data/test/app/helpers/photos_helper.rb +2 -0
  79. data/test/app/helpers/posts_helper.rb +2 -0
  80. data/test/app/helpers/projects_helper.rb +2 -0
  81. data/test/app/helpers/somethings_helper.rb +2 -0
  82. data/test/app/helpers/tags_helper.rb +2 -0
  83. data/test/app/helpers/users_helper.rb +2 -0
  84. data/test/app/models/account.rb +4 -0
  85. data/test/app/models/comment.rb +3 -0
  86. data/test/app/models/image.rb +3 -0
  87. data/test/app/models/option.rb +3 -0
  88. data/test/app/models/photo.rb +5 -0
  89. data/test/app/models/post.rb +3 -0
  90. data/test/app/models/product.rb +3 -0
  91. data/test/app/models/project.rb +2 -0
  92. data/test/app/models/something.rb +2 -0
  93. data/test/app/models/tag.rb +3 -0
  94. data/test/app/models/user.rb +3 -0
  95. data/test/app/views/accounts/_form.html.erb +4 -0
  96. data/test/app/views/accounts/edit.html.erb +14 -0
  97. data/test/app/views/accounts/new.html.erb +12 -0
  98. data/test/app/views/accounts/show.html.erb +5 -0
  99. data/test/app/views/cms/options/edit.rhtml +17 -0
  100. data/test/app/views/cms/options/index.rhtml +20 -0
  101. data/test/app/views/cms/options/new.rhtml +16 -0
  102. data/test/app/views/cms/options/show.rhtml +8 -0
  103. data/test/app/views/cms/products/edit.rhtml +17 -0
  104. data/test/app/views/cms/products/index.rhtml +20 -0
  105. data/test/app/views/cms/products/new.rhtml +16 -0
  106. data/test/app/views/cms/products/show.rhtml +8 -0
  107. data/test/app/views/comments/edit.rhtml +27 -0
  108. data/test/app/views/comments/index.rhtml +24 -0
  109. data/test/app/views/comments/new.rhtml +26 -0
  110. data/test/app/views/comments/show.rhtml +18 -0
  111. data/test/app/views/images/_form.html.erb +4 -0
  112. data/test/app/views/images/edit.html.erb +14 -0
  113. data/test/app/views/images/new.html.erb +12 -0
  114. data/test/app/views/layouts/application.rhtml +17 -0
  115. data/test/app/views/layouts/comments.rhtml +17 -0
  116. data/test/app/views/layouts/options.rhtml +17 -0
  117. data/test/app/views/layouts/people.rhtml +17 -0
  118. data/test/app/views/layouts/photos.rhtml +17 -0
  119. data/test/app/views/layouts/projects.rhtml +17 -0
  120. data/test/app/views/layouts/somethings.rhtml +17 -0
  121. data/test/app/views/layouts/tags.rhtml +17 -0
  122. data/test/app/views/options/_form.html.erb +8 -0
  123. data/test/app/views/options/edit.html.erb +16 -0
  124. data/test/app/views/options/index.html.erb +21 -0
  125. data/test/app/views/options/new.html.erb +12 -0
  126. data/test/app/views/options/show.html.erb +10 -0
  127. data/test/app/views/people/edit.rhtml +17 -0
  128. data/test/app/views/people/index.rhtml +20 -0
  129. data/test/app/views/people/new.rhtml +16 -0
  130. data/test/app/views/people/show.rhtml +8 -0
  131. data/test/app/views/photos/edit.rhtml +17 -0
  132. data/test/app/views/photos/index.rhtml +20 -0
  133. data/test/app/views/photos/new.rhtml +16 -0
  134. data/test/app/views/photos/show.rhtml +8 -0
  135. data/test/app/views/posts/edit.rhtml +22 -0
  136. data/test/app/views/posts/index.rhtml +22 -0
  137. data/test/app/views/posts/new.rhtml +21 -0
  138. data/test/app/views/posts/show.rhtml +13 -0
  139. data/test/app/views/projects/edit.rhtml +17 -0
  140. data/test/app/views/projects/index.rhtml +20 -0
  141. data/test/app/views/projects/new.rhtml +16 -0
  142. data/test/app/views/projects/show.rhtml +8 -0
  143. data/test/app/views/somethings/edit.rhtml +17 -0
  144. data/test/app/views/somethings/index.rhtml +20 -0
  145. data/test/app/views/somethings/new.rhtml +16 -0
  146. data/test/app/views/somethings/show.rhtml +8 -0
  147. data/test/app/views/tags/edit.rhtml +17 -0
  148. data/test/app/views/tags/index.rhtml +20 -0
  149. data/test/app/views/tags/index.rjs +0 -0
  150. data/test/app/views/tags/new.rhtml +16 -0
  151. data/test/app/views/tags/show.rhtml +8 -0
  152. data/test/app/views/users/edit.rhtml +17 -0
  153. data/test/app/views/users/index.rhtml +20 -0
  154. data/test/app/views/users/new.rhtml +16 -0
  155. data/test/app/views/users/show.rhtml +8 -0
  156. data/test/config/boot.rb +109 -0
  157. data/test/config/database.yml +9 -0
  158. data/test/config/environment.rb +47 -0
  159. data/test/config/environments/development.rb +20 -0
  160. data/test/config/environments/test.rb +19 -0
  161. data/test/config/routes.rb +61 -0
  162. data/test/db/migrate/001_create_posts.rb +12 -0
  163. data/test/db/migrate/002_create_products.rb +11 -0
  164. data/test/db/migrate/003_create_comments.rb +13 -0
  165. data/test/db/migrate/004_create_options.rb +13 -0
  166. data/test/db/migrate/005_create_photos.rb +11 -0
  167. data/test/db/migrate/006_create_tags.rb +17 -0
  168. data/test/db/migrate/007_create_somethings.rb +11 -0
  169. data/test/db/migrate/008_create_accounts.rb +11 -0
  170. data/test/db/migrate/009_add_account_id_to_photos.rb +9 -0
  171. data/test/db/migrate/010_create_projects.rb +11 -0
  172. data/test/db/migrate/011_create_images.rb +12 -0
  173. data/test/db/migrate/012_create_users.rb +11 -0
  174. data/test/db/schema.rb +78 -0
  175. data/test/script/console +3 -0
  176. data/test/script/destroy +3 -0
  177. data/test/script/generate +3 -0
  178. data/test/script/server +3 -0
  179. data/test/test/fixtures/accounts.yml +7 -0
  180. data/test/test/fixtures/comments.yml +11 -0
  181. data/test/test/fixtures/images.yml +6 -0
  182. data/test/test/fixtures/options.yml +9 -0
  183. data/test/test/fixtures/photos.yml +9 -0
  184. data/test/test/fixtures/photos_tags.yml +3 -0
  185. data/test/test/fixtures/posts.yml +9 -0
  186. data/test/test/fixtures/products.yml +7 -0
  187. data/test/test/fixtures/projects.yml +7 -0
  188. data/test/test/fixtures/somethings.yml +7 -0
  189. data/test/test/fixtures/tags.yml +7 -0
  190. data/test/test/fixtures/users.yml +5 -0
  191. data/test/test/functional/cms/options_controller_test.rb +23 -0
  192. data/test/test/functional/cms/products_controller_test.rb +23 -0
  193. data/test/test/functional/comments_controller_test.rb +26 -0
  194. data/test/test/functional/images_controller_test.rb +37 -0
  195. data/test/test/functional/people_controller_test.rb +34 -0
  196. data/test/test/functional/photos_controller_test.rb +130 -0
  197. data/test/test/functional/posts_controller_test.rb +34 -0
  198. data/test/test/functional/projects_controller_test.rb +18 -0
  199. data/test/test/functional/somethings_controller_test.rb +28 -0
  200. data/test/test/functional/tags_controller_test.rb +64 -0
  201. data/test/test/functional/users_controller_test.rb +24 -0
  202. data/test/test/test_helper.rb +12 -0
  203. data/test/test/unit/accessors_test.rb +110 -0
  204. data/test/test/unit/account_test.rb +7 -0
  205. data/test/test/unit/action_options_test.rb +109 -0
  206. data/test/test/unit/base_test.rb +11 -0
  207. data/test/test/unit/comment_test.rb +10 -0
  208. data/test/test/unit/failable_action_options_test.rb +77 -0
  209. data/test/test/unit/helpers/current_objects_test.rb +133 -0
  210. data/test/test/unit/helpers/internal_test.rb +106 -0
  211. data/test/test/unit/helpers/nested_test.rb +86 -0
  212. data/test/test/unit/helpers/singleton_current_objects_test.rb +68 -0
  213. data/test/test/unit/helpers/singleton_nested_test.rb +77 -0
  214. data/test/test/unit/helpers/singleton_urls_test.rb +67 -0
  215. data/test/test/unit/helpers/urls_test.rb +75 -0
  216. data/test/test/unit/helpers_test.rb +25 -0
  217. data/test/test/unit/image_test.rb +7 -0
  218. data/test/test/unit/option_test.rb +10 -0
  219. data/test/test/unit/photo_test.rb +10 -0
  220. data/test/test/unit/post_test.rb +10 -0
  221. data/test/test/unit/project_test.rb +10 -0
  222. data/test/test/unit/response_collector_test.rb +49 -0
  223. data/test/test/unit/something_test.rb +10 -0
  224. data/test/test/unit/tag_test.rb +10 -0
  225. data/test/test/unit/urligence_test.rb +203 -0
  226. data/test/vendor/plugins/shoulda/Rakefile +32 -0
  227. data/test/vendor/plugins/shoulda/bin/convert_to_should_syntax +40 -0
  228. data/test/vendor/plugins/shoulda/init.rb +3 -0
  229. data/test/vendor/plugins/shoulda/lib/shoulda.rb +43 -0
  230. data/test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb +580 -0
  231. data/test/vendor/plugins/shoulda/lib/shoulda/color.rb +77 -0
  232. data/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/controller_tests.rb +467 -0
  233. data/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/html.rb +201 -0
  234. data/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/xml.rb +170 -0
  235. data/test/vendor/plugins/shoulda/lib/shoulda/gem/proc_extensions.rb +14 -0
  236. data/test/vendor/plugins/shoulda/lib/shoulda/gem/shoulda.rb +239 -0
  237. data/test/vendor/plugins/shoulda/lib/shoulda/general.rb +118 -0
  238. data/test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb +22 -0
  239. metadata +341 -0
@@ -0,0 +1,118 @@
1
+ module ThoughtBot # :nodoc:
2
+ module Shoulda # :nodoc:
3
+ module General
4
+ def self.included(other) # :nodoc:
5
+ other.class_eval do
6
+ extend ThoughtBot::Shoulda::General::ClassMethods
7
+ end
8
+ end
9
+
10
+ module ClassMethods
11
+ # Loads all fixture files (<tt>test/fixtures/*.yml</tt>)
12
+ def load_all_fixtures
13
+ all_fixtures = Dir.glob(File.join(Test::Unit::TestCase.fixture_path, "*.yml")).collect do |f|
14
+ File.basename(f, '.yml').to_sym
15
+ end
16
+ fixtures *all_fixtures
17
+ end
18
+ end
19
+
20
+ # Prints a message to stdout, tagged with the name of the calling method.
21
+ def report!(msg = "")
22
+ puts("#{caller.first}: #{msg}")
23
+ end
24
+
25
+ # Asserts that two arrays contain the same elements, the same number of times. Essentially ==, but unordered.
26
+ #
27
+ # assert_same_elements([:a, :b, :c], [:c, :a, :b]) => passes
28
+ def assert_same_elements(a1, a2, msg = nil)
29
+ [:select, :inject, :size].each do |m|
30
+ [a1, a2].each {|a| assert_respond_to(a, m, "Are you sure that #{a.inspect} is an array? It doesn't respond to #{m}.") }
31
+ end
32
+
33
+ assert a1h = a1.inject({}) { |h,e| h[e] = a1.select { |i| i == e }.size; h }
34
+ assert a2h = a2.inject({}) { |h,e| h[e] = a2.select { |i| i == e }.size; h }
35
+
36
+ assert_equal(a1h, a2h, msg)
37
+ end
38
+
39
+ # Asserts that the given collection contains item x. If x is a regular expression, ensure that
40
+ # at least one element from the collection matches x. +extra_msg+ is appended to the error message if the assertion fails.
41
+ #
42
+ # assert_contains(['a', '1'], /\d/) => passes
43
+ # assert_contains(['a', '1'], 'a') => passes
44
+ # assert_contains(['a', '1'], /not there/) => fails
45
+ def assert_contains(collection, x, extra_msg = "")
46
+ collection = [collection] unless collection.is_a?(Array)
47
+ msg = "#{x.inspect} not found in #{collection.to_a.inspect} #{extra_msg}"
48
+ case x
49
+ when Regexp: assert(collection.detect { |e| e =~ x }, msg)
50
+ else assert(collection.include?(x), msg)
51
+ end
52
+ end
53
+
54
+ # Asserts that the given collection does not contain item x. If x is a regular expression, ensure that
55
+ # none of the elements from the collection match x.
56
+ def assert_does_not_contain(collection, x, extra_msg = "")
57
+ collection = [collection] unless collection.is_a?(Array)
58
+ msg = "#{x.inspect} found in #{collection.to_a.inspect} " + extra_msg
59
+ case x
60
+ when Regexp: assert(!collection.detect { |e| e =~ x }, msg)
61
+ else assert(!collection.include?(x), msg)
62
+ end
63
+ end
64
+
65
+ # Asserts that the given object can be saved
66
+ #
67
+ # assert_save User.new(params)
68
+ def assert_save(obj)
69
+ assert obj.save, "Errors: #{pretty_error_messages obj}"
70
+ obj.reload
71
+ end
72
+
73
+ # Asserts that the given object is valid
74
+ #
75
+ # assert_valid User.new(params)
76
+ def assert_valid(obj)
77
+ assert obj.valid?, "Errors: #{pretty_error_messages obj}"
78
+ end
79
+
80
+ # Asserts that an email was delivered. Can take a block that can further
81
+ # narrow down the types of emails you're expecting.
82
+ #
83
+ # assert_sent_email
84
+ #
85
+ # Passes if ActionMailer::Base.deliveries has an email
86
+ #
87
+ # assert_sent_email do |email|
88
+ # email.subject =~ /hi there/ && email.to.include?('none@none.com')
89
+ # end
90
+ #
91
+ # Passes if there is an email with subject containing 'hi there' and
92
+ # 'none@none.com' as one of the recipients.
93
+ #
94
+ def assert_sent_email
95
+ emails = ActionMailer::Base.deliveries
96
+ assert !emails.empty?, "No emails were sent"
97
+ if block_given?
98
+ matching_emails = emails.select {|email| yield email }
99
+ assert !matching_emails.empty?, "None of the emails matched."
100
+ end
101
+ end
102
+
103
+ # Asserts that no ActionMailer mails were delivered
104
+ #
105
+ # assert_did_not_send_email
106
+ def assert_did_not_send_email
107
+ msg = "Sent #{ActionMailer::Base.deliveries.size} emails.\n"
108
+ ActionMailer::Base.deliveries.each { |m| msg << " '#{m.subject}' sent to #{m.to.to_sentence}\n" }
109
+ assert ActionMailer::Base.deliveries.empty?, msg
110
+ end
111
+
112
+ def pretty_error_messages(obj)
113
+ obj.errors.map { |a, m| "#{a} #{m} (#{obj.send(a).inspect})" }
114
+ end
115
+
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,22 @@
1
+ module ThoughtBot # :nodoc:
2
+ module Shoulda # :nodoc:
3
+ module Private # :nodoc:
4
+ # Returns the values for the entries in the args hash who's keys are listed in the wanted array.
5
+ # Will raise if there are keys in the args hash that aren't listed.
6
+ def get_options!(args, *wanted)
7
+ ret = []
8
+ opts = (args.last.is_a?(Hash) ? args.pop : {})
9
+ wanted.each {|w| ret << opts.delete(w)}
10
+ raise ArgumentError, "Unsupported options given: #{opts.keys.join(', ')}" unless opts.keys.empty?
11
+ return *ret
12
+ end
13
+
14
+ # Returns the model class constant, as determined by the test class name.
15
+ #
16
+ # class TestUser; model_class; end => User
17
+ def model_class
18
+ self.name.gsub(/Test$/, '').constantize
19
+ end
20
+ end
21
+ end
22
+ end
metadata ADDED
@@ -0,0 +1,341 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nileshtrivedi-safe_resource
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.3
5
+ platform: ruby
6
+ authors:
7
+ - James Golick
8
+ - Nilesh Trivedi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-01-18 20:00:00 -08:00
14
+ default_executable:
15
+ dependencies: []
16
+
17
+ description: Rails RESTful controller abstraction plugin.
18
+ email: nilesh@latticepurple.com
19
+ executables: []
20
+
21
+ extensions: []
22
+
23
+ extra_rdoc_files: []
24
+
25
+ files:
26
+ - README.rdoc
27
+ - LICENSE
28
+ - init.rb
29
+ - Rakefile
30
+ - lib/resource_controller
31
+ - lib/resource_controller/accessors.rb
32
+ - lib/resource_controller/action_options.rb
33
+ - lib/resource_controller/actions.rb
34
+ - lib/resource_controller/base.rb
35
+ - lib/resource_controller/class_methods.rb
36
+ - lib/resource_controller/controller.rb
37
+ - lib/resource_controller/failable_action_options.rb
38
+ - lib/resource_controller/helpers
39
+ - lib/resource_controller/helpers/current_objects.rb
40
+ - lib/resource_controller/helpers/internal.rb
41
+ - lib/resource_controller/helpers/nested.rb
42
+ - lib/resource_controller/helpers/singleton_customizations.rb
43
+ - lib/resource_controller/helpers/urls.rb
44
+ - lib/resource_controller/helpers.rb
45
+ - lib/resource_controller/response_collector.rb
46
+ - lib/resource_controller/singleton.rb
47
+ - lib/resource_controller.rb
48
+ - lib/urligence.rb
49
+ - test/app
50
+ - test/app/controllers
51
+ - test/app/controllers/accounts_controller.rb
52
+ - test/app/controllers/application.rb
53
+ - test/app/controllers/cms
54
+ - test/app/controllers/cms/options_controller.rb
55
+ - test/app/controllers/cms/products_controller.rb
56
+ - test/app/controllers/comments_controller.rb
57
+ - test/app/controllers/images_controller.rb
58
+ - test/app/controllers/options_controller.rb
59
+ - test/app/controllers/people_controller.rb
60
+ - test/app/controllers/photos_controller.rb
61
+ - test/app/controllers/posts_controller.rb
62
+ - test/app/controllers/projects_controller.rb
63
+ - test/app/controllers/somethings_controller.rb
64
+ - test/app/controllers/tags_controller.rb
65
+ - test/app/controllers/users_controller.rb
66
+ - test/app/helpers
67
+ - test/app/helpers/accounts_helper.rb
68
+ - test/app/helpers/application_helper.rb
69
+ - test/app/helpers/cms
70
+ - test/app/helpers/cms/products_helper.rb
71
+ - test/app/helpers/comments_helper.rb
72
+ - test/app/helpers/images_helper.rb
73
+ - test/app/helpers/options_helper.rb
74
+ - test/app/helpers/people_helper.rb
75
+ - test/app/helpers/photos_helper.rb
76
+ - test/app/helpers/posts_helper.rb
77
+ - test/app/helpers/projects_helper.rb
78
+ - test/app/helpers/somethings_helper.rb
79
+ - test/app/helpers/tags_helper.rb
80
+ - test/app/helpers/users_helper.rb
81
+ - test/app/models
82
+ - test/app/models/account.rb
83
+ - test/app/models/comment.rb
84
+ - test/app/models/image.rb
85
+ - test/app/models/option.rb
86
+ - test/app/models/photo.rb
87
+ - test/app/models/post.rb
88
+ - test/app/models/product.rb
89
+ - test/app/models/project.rb
90
+ - test/app/models/something.rb
91
+ - test/app/models/tag.rb
92
+ - test/app/models/user.rb
93
+ - test/app/views
94
+ - test/app/views/accounts
95
+ - test/app/views/accounts/_form.html.erb
96
+ - test/app/views/accounts/edit.html.erb
97
+ - test/app/views/accounts/new.html.erb
98
+ - test/app/views/accounts/show.html.erb
99
+ - test/app/views/cms
100
+ - test/app/views/cms/options
101
+ - test/app/views/cms/options/edit.rhtml
102
+ - test/app/views/cms/options/index.rhtml
103
+ - test/app/views/cms/options/new.rhtml
104
+ - test/app/views/cms/options/show.rhtml
105
+ - test/app/views/cms/products
106
+ - test/app/views/cms/products/edit.rhtml
107
+ - test/app/views/cms/products/index.rhtml
108
+ - test/app/views/cms/products/new.rhtml
109
+ - test/app/views/cms/products/show.rhtml
110
+ - test/app/views/comments
111
+ - test/app/views/comments/edit.rhtml
112
+ - test/app/views/comments/index.rhtml
113
+ - test/app/views/comments/new.rhtml
114
+ - test/app/views/comments/show.rhtml
115
+ - test/app/views/images
116
+ - test/app/views/images/_form.html.erb
117
+ - test/app/views/images/edit.html.erb
118
+ - test/app/views/images/new.html.erb
119
+ - test/app/views/layouts
120
+ - test/app/views/layouts/application.rhtml
121
+ - test/app/views/layouts/comments.rhtml
122
+ - test/app/views/layouts/options.rhtml
123
+ - test/app/views/layouts/people.rhtml
124
+ - test/app/views/layouts/photos.rhtml
125
+ - test/app/views/layouts/projects.rhtml
126
+ - test/app/views/layouts/somethings.rhtml
127
+ - test/app/views/layouts/tags.rhtml
128
+ - test/app/views/options
129
+ - test/app/views/options/_form.html.erb
130
+ - test/app/views/options/edit.html.erb
131
+ - test/app/views/options/index.html.erb
132
+ - test/app/views/options/new.html.erb
133
+ - test/app/views/options/show.html.erb
134
+ - test/app/views/people
135
+ - test/app/views/people/edit.rhtml
136
+ - test/app/views/people/index.rhtml
137
+ - test/app/views/people/new.rhtml
138
+ - test/app/views/people/show.rhtml
139
+ - test/app/views/photos
140
+ - test/app/views/photos/edit.rhtml
141
+ - test/app/views/photos/index.rhtml
142
+ - test/app/views/photos/new.rhtml
143
+ - test/app/views/photos/show.rhtml
144
+ - test/app/views/posts
145
+ - test/app/views/posts/edit.rhtml
146
+ - test/app/views/posts/index.rhtml
147
+ - test/app/views/posts/new.rhtml
148
+ - test/app/views/posts/show.rhtml
149
+ - test/app/views/projects
150
+ - test/app/views/projects/edit.rhtml
151
+ - test/app/views/projects/index.rhtml
152
+ - test/app/views/projects/new.rhtml
153
+ - test/app/views/projects/show.rhtml
154
+ - test/app/views/somethings
155
+ - test/app/views/somethings/edit.rhtml
156
+ - test/app/views/somethings/index.rhtml
157
+ - test/app/views/somethings/new.rhtml
158
+ - test/app/views/somethings/show.rhtml
159
+ - test/app/views/tags
160
+ - test/app/views/tags/edit.rhtml
161
+ - test/app/views/tags/index.rhtml
162
+ - test/app/views/tags/index.rjs
163
+ - test/app/views/tags/new.rhtml
164
+ - test/app/views/tags/show.rhtml
165
+ - test/app/views/users
166
+ - test/app/views/users/edit.rhtml
167
+ - test/app/views/users/index.rhtml
168
+ - test/app/views/users/new.rhtml
169
+ - test/app/views/users/show.rhtml
170
+ - test/config
171
+ - test/config/boot.rb
172
+ - test/config/database.yml
173
+ - test/config/environment.rb
174
+ - test/config/environments
175
+ - test/config/environments/development.rb
176
+ - test/config/environments/test.rb
177
+ - test/config/routes.rb
178
+ - test/db
179
+ - test/db/migrate
180
+ - test/db/migrate/001_create_posts.rb
181
+ - test/db/migrate/002_create_products.rb
182
+ - test/db/migrate/003_create_comments.rb
183
+ - test/db/migrate/004_create_options.rb
184
+ - test/db/migrate/005_create_photos.rb
185
+ - test/db/migrate/006_create_tags.rb
186
+ - test/db/migrate/007_create_somethings.rb
187
+ - test/db/migrate/008_create_accounts.rb
188
+ - test/db/migrate/009_add_account_id_to_photos.rb
189
+ - test/db/migrate/010_create_projects.rb
190
+ - test/db/migrate/011_create_images.rb
191
+ - test/db/migrate/012_create_users.rb
192
+ - test/db/schema.rb
193
+ - test/log
194
+ - test/Rakefile
195
+ - test/script
196
+ - test/script/console
197
+ - test/script/destroy
198
+ - test/script/generate
199
+ - test/script/server
200
+ - test/test
201
+ - test/test/fixtures
202
+ - test/test/fixtures/accounts.yml
203
+ - test/test/fixtures/comments.yml
204
+ - test/test/fixtures/images.yml
205
+ - test/test/fixtures/options.yml
206
+ - test/test/fixtures/photos.yml
207
+ - test/test/fixtures/photos_tags.yml
208
+ - test/test/fixtures/posts.yml
209
+ - test/test/fixtures/products.yml
210
+ - test/test/fixtures/projects.yml
211
+ - test/test/fixtures/somethings.yml
212
+ - test/test/fixtures/tags.yml
213
+ - test/test/fixtures/users.yml
214
+ - test/test/functional
215
+ - test/test/functional/cms
216
+ - test/test/functional/cms/options_controller_test.rb
217
+ - test/test/functional/cms/products_controller_test.rb
218
+ - test/test/functional/comments_controller_test.rb
219
+ - test/test/functional/images_controller_test.rb
220
+ - test/test/functional/people_controller_test.rb
221
+ - test/test/functional/photos_controller_test.rb
222
+ - test/test/functional/posts_controller_test.rb
223
+ - test/test/functional/projects_controller_test.rb
224
+ - test/test/functional/somethings_controller_test.rb
225
+ - test/test/functional/tags_controller_test.rb
226
+ - test/test/functional/users_controller_test.rb
227
+ - test/test/test_helper.rb
228
+ - test/test/unit
229
+ - test/test/unit/accessors_test.rb
230
+ - test/test/unit/account_test.rb
231
+ - test/test/unit/action_options_test.rb
232
+ - test/test/unit/base_test.rb
233
+ - test/test/unit/comment_test.rb
234
+ - test/test/unit/failable_action_options_test.rb
235
+ - test/test/unit/helpers
236
+ - test/test/unit/helpers/current_objects_test.rb
237
+ - test/test/unit/helpers/internal_test.rb
238
+ - test/test/unit/helpers/nested_test.rb
239
+ - test/test/unit/helpers/singleton_current_objects_test.rb
240
+ - test/test/unit/helpers/singleton_nested_test.rb
241
+ - test/test/unit/helpers/singleton_urls_test.rb
242
+ - test/test/unit/helpers/urls_test.rb
243
+ - test/test/unit/helpers_test.rb
244
+ - test/test/unit/image_test.rb
245
+ - test/test/unit/option_test.rb
246
+ - test/test/unit/photo_test.rb
247
+ - test/test/unit/post_test.rb
248
+ - test/test/unit/project_test.rb
249
+ - test/test/unit/response_collector_test.rb
250
+ - test/test/unit/something_test.rb
251
+ - test/test/unit/tag_test.rb
252
+ - test/test/unit/urligence_test.rb
253
+ - test/tmp
254
+ - test/vendor
255
+ - test/vendor/plugins
256
+ - test/vendor/plugins/shoulda
257
+ - test/vendor/plugins/shoulda/bin
258
+ - test/vendor/plugins/shoulda/bin/convert_to_should_syntax
259
+ - test/vendor/plugins/shoulda/init.rb
260
+ - test/vendor/plugins/shoulda/lib
261
+ - test/vendor/plugins/shoulda/lib/shoulda
262
+ - test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb
263
+ - test/vendor/plugins/shoulda/lib/shoulda/color.rb
264
+ - test/vendor/plugins/shoulda/lib/shoulda/controller_tests
265
+ - test/vendor/plugins/shoulda/lib/shoulda/controller_tests/controller_tests.rb
266
+ - test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats
267
+ - test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/html.rb
268
+ - test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/xml.rb
269
+ - test/vendor/plugins/shoulda/lib/shoulda/gem
270
+ - test/vendor/plugins/shoulda/lib/shoulda/gem/proc_extensions.rb
271
+ - test/vendor/plugins/shoulda/lib/shoulda/gem/shoulda.rb
272
+ - test/vendor/plugins/shoulda/lib/shoulda/general.rb
273
+ - test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb
274
+ - test/vendor/plugins/shoulda/lib/shoulda.rb
275
+ - test/vendor/plugins/shoulda/Rakefile
276
+ - generators/scaffold_resource
277
+ - generators/scaffold_resource/scaffold_resource_generator.rb
278
+ - generators/scaffold_resource/templates
279
+ - generators/scaffold_resource/templates/controller.rb
280
+ - generators/scaffold_resource/templates/fixtures.yml
281
+ - generators/scaffold_resource/templates/functional_test.rb
282
+ - generators/scaffold_resource/templates/helper.rb
283
+ - generators/scaffold_resource/templates/migration.rb
284
+ - generators/scaffold_resource/templates/model.rb
285
+ - generators/scaffold_resource/templates/old_migration.rb
286
+ - generators/scaffold_resource/templates/rspec
287
+ - generators/scaffold_resource/templates/rspec/functional_spec.rb
288
+ - generators/scaffold_resource/templates/rspec/helper_spec.rb
289
+ - generators/scaffold_resource/templates/rspec/routing_spec.rb
290
+ - generators/scaffold_resource/templates/rspec/unit_spec.rb
291
+ - generators/scaffold_resource/templates/rspec/views
292
+ - generators/scaffold_resource/templates/rspec/views/edit_spec.rb
293
+ - generators/scaffold_resource/templates/rspec/views/index_spec.rb
294
+ - generators/scaffold_resource/templates/rspec/views/new_spec.rb
295
+ - generators/scaffold_resource/templates/rspec/views/show_spec.rb
296
+ - generators/scaffold_resource/templates/shoulda_functional_test.rb
297
+ - generators/scaffold_resource/templates/unit_test.rb
298
+ - generators/scaffold_resource/templates/view__form.erb
299
+ - generators/scaffold_resource/templates/view__form.haml
300
+ - generators/scaffold_resource/templates/view_edit.erb
301
+ - generators/scaffold_resource/templates/view_edit.haml
302
+ - generators/scaffold_resource/templates/view_index.erb
303
+ - generators/scaffold_resource/templates/view_index.haml
304
+ - generators/scaffold_resource/templates/view_new.erb
305
+ - generators/scaffold_resource/templates/view_new.haml
306
+ - generators/scaffold_resource/templates/view_show.erb
307
+ - generators/scaffold_resource/templates/view_show.haml
308
+ - generators/scaffold_resource/templates/view_partial_edit.html.erb
309
+ - generators/scaffold_resource/templates/view_partial_index.html.erb
310
+ - generators/scaffold_resource/templates/view_partial_new.html.erb
311
+ - generators/scaffold_resource/templates/view_partial_show.html.erb
312
+ - generators/scaffold_resource/USAGE
313
+ - rails/init.rb
314
+ has_rdoc: true
315
+ homepage: http://latticepurple.com
316
+ post_install_message:
317
+ rdoc_options: []
318
+
319
+ require_paths:
320
+ - lib
321
+ required_ruby_version: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - ">="
324
+ - !ruby/object:Gem::Version
325
+ version: 1.8.5
326
+ version:
327
+ required_rubygems_version: !ruby/object:Gem::Requirement
328
+ requirements:
329
+ - - ">="
330
+ - !ruby/object:Gem::Version
331
+ version: "0"
332
+ version:
333
+ requirements: []
334
+
335
+ rubyforge_project: giraffesoft
336
+ rubygems_version: 1.2.0
337
+ signing_key:
338
+ specification_version: 2
339
+ summary: safe_resource extends resource_controller gem to implement model-based permissions and adaptive views
340
+ test_files: []
341
+