muck-profiles 0.1.0

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 (229) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +41 -0
  3. data/Rakefile +78 -0
  4. data/VERSION +1 -0
  5. data/app/controllers/admin/muck/profiles_controller.rb +10 -0
  6. data/app/controllers/muck/profiles_controller.rb +55 -0
  7. data/app/helpers/muck_profiles_helper.rb +3 -0
  8. data/app/views/admin/profiles/edit.html.erb +0 -0
  9. data/app/views/profiles/edit.html.erb +16 -0
  10. data/app/views/profiles/index.html.erb +0 -0
  11. data/app/views/profiles/show.html.erb +0 -0
  12. data/config/muck_profiles_routes.rb +11 -0
  13. data/db/migrate/20090512013727_create_profiles.rb +21 -0
  14. data/install.rb +1 -0
  15. data/lib/active_record/acts/muck_profile.rb +50 -0
  16. data/lib/active_record/has/muck_profile.rb +37 -0
  17. data/lib/muck_profiles.rb +5 -0
  18. data/lib/muck_profiles/initialize_routes.rb +8 -0
  19. data/lib/muck_profiles/tasks.rb +27 -0
  20. data/locales/en.yml +5 -0
  21. data/muck-profiles.gemspec +320 -0
  22. data/pkg/muck-profiles-0.1.0.gem +0 -0
  23. data/rails/init.rb +4 -0
  24. data/tasks/rails.rake +1 -0
  25. data/test/rails_root/.gitignore +8 -0
  26. data/test/rails_root/.rake_tasks +103 -0
  27. data/test/rails_root/Capfile +3 -0
  28. data/test/rails_root/Rakefile +15 -0
  29. data/test/rails_root/app/controllers/application_controller.rb +12 -0
  30. data/test/rails_root/app/controllers/default_controller.rb +7 -0
  31. data/test/rails_root/app/helpers/application_helper.rb +3 -0
  32. data/test/rails_root/app/models/.keep +0 -0
  33. data/test/rails_root/app/models/profile.rb +3 -0
  34. data/test/rails_root/app/models/user.rb +15 -0
  35. data/test/rails_root/app/models/user_session.rb +2 -0
  36. data/test/rails_root/app/views/default/index.html.erb +0 -0
  37. data/test/rails_root/app/views/layouts/default.html.erb +26 -0
  38. data/test/rails_root/config/boot.rb +109 -0
  39. data/test/rails_root/config/database.yml +14 -0
  40. data/test/rails_root/config/environment.rb +25 -0
  41. data/test/rails_root/config/environments/development.rb +19 -0
  42. data/test/rails_root/config/environments/production.rb +1 -0
  43. data/test/rails_root/config/environments/test.rb +33 -0
  44. data/test/rails_root/config/global_config.yml +18 -0
  45. data/test/rails_root/config/initializers/inflections.rb +10 -0
  46. data/test/rails_root/config/initializers/mime_types.rb +5 -0
  47. data/test/rails_root/config/initializers/requires.rb +13 -0
  48. data/test/rails_root/config/initializers/session_store.rb +8 -0
  49. data/test/rails_root/config/routes.rb +9 -0
  50. data/test/rails_root/db/.keep +0 -0
  51. data/test/rails_root/db/migrate/20090320174818_create_muck_permissions_and_roles.rb +16 -0
  52. data/test/rails_root/db/migrate/20090512013727_create_profiles.rb +21 -0
  53. data/test/rails_root/db/migrate/20090602041838_create_users.rb +39 -0
  54. data/test/rails_root/db/schema.rb +142 -0
  55. data/test/rails_root/features/step_definitions/webrat_steps.rb +99 -0
  56. data/test/rails_root/features/support/env.rb +14 -0
  57. data/test/rails_root/public/.htaccess +40 -0
  58. data/test/rails_root/public/404.html +30 -0
  59. data/test/rails_root/public/422.html +30 -0
  60. data/test/rails_root/public/500.html +30 -0
  61. data/test/rails_root/public/dispatch.rb +10 -0
  62. data/test/rails_root/public/favicon.ico +0 -0
  63. data/test/rails_root/public/images/arrow_left.gif +0 -0
  64. data/test/rails_root/public/images/arrow_right.gif +0 -0
  65. data/test/rails_root/public/images/blue/preview.gif +0 -0
  66. data/test/rails_root/public/images/icons/accept.png +0 -0
  67. data/test/rails_root/public/images/icons/add.png +0 -0
  68. data/test/rails_root/public/images/icons/delete.png +0 -0
  69. data/test/rails_root/public/images/icons/vote.png +0 -0
  70. data/test/rails_root/public/images/loading.gif +0 -0
  71. data/test/rails_root/public/images/profile_default.jpg +0 -0
  72. data/test/rails_root/public/images/rails.png +0 -0
  73. data/test/rails_root/public/images/red/preview.gif +0 -0
  74. data/test/rails_root/public/images/spinner.gif +0 -0
  75. data/test/rails_root/public/images/sprites.png +0 -0
  76. data/test/rails_root/public/javascripts/application.js +2 -0
  77. data/test/rails_root/public/javascripts/builder.js +136 -0
  78. data/test/rails_root/public/javascripts/controls.js +963 -0
  79. data/test/rails_root/public/javascripts/dragdrop.js +972 -0
  80. data/test/rails_root/public/javascripts/effects.js +1120 -0
  81. data/test/rails_root/public/javascripts/fancyzoom.min.js +1 -0
  82. data/test/rails_root/public/javascripts/jquery/jquery-ui.js +273 -0
  83. data/test/rails_root/public/javascripts/jquery/jquery.form.js +637 -0
  84. data/test/rails_root/public/javascripts/jquery/jquery.jgrowl.js +2 -0
  85. data/test/rails_root/public/javascripts/jquery/jquery.js +19 -0
  86. data/test/rails_root/public/javascripts/jquery/jquery.tips.js +69 -0
  87. data/test/rails_root/public/javascripts/muck.js +76 -0
  88. data/test/rails_root/public/javascripts/muck_activities.js +100 -0
  89. data/test/rails_root/public/javascripts/prototype.js +4225 -0
  90. data/test/rails_root/public/javascripts/scriptaculous.js +58 -0
  91. data/test/rails_root/public/javascripts/slider.js +277 -0
  92. data/test/rails_root/public/javascripts/sound.js +60 -0
  93. data/test/rails_root/public/robots.txt +1 -0
  94. data/test/rails_root/public/stylesheets/.keep +0 -0
  95. data/test/rails_root/public/stylesheets/admin.css +12 -0
  96. data/test/rails_root/public/stylesheets/blueprint/ie.css +26 -0
  97. data/test/rails_root/public/stylesheets/blueprint/liquid_screen.css +203 -0
  98. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/cross.png +0 -0
  99. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/key.png +0 -0
  100. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/tick.png +0 -0
  101. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/readme.txt +32 -0
  102. data/test/rails_root/public/stylesheets/blueprint/plugins/buttons/screen.css +97 -0
  103. data/test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/readme.txt +14 -0
  104. data/test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/screen.css +71 -0
  105. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png +0 -0
  106. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/email.png +0 -0
  107. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/external.png +0 -0
  108. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png +0 -0
  109. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/im.png +0 -0
  110. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  111. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png +0 -0
  112. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png +0 -0
  113. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/readme.txt +18 -0
  114. data/test/rails_root/public/stylesheets/blueprint/plugins/link-icons/screen.css +40 -0
  115. data/test/rails_root/public/stylesheets/blueprint/plugins/liquid/liquid.css +134 -0
  116. data/test/rails_root/public/stylesheets/blueprint/plugins/liquid/src/liquid.css +197 -0
  117. data/test/rails_root/public/stylesheets/blueprint/plugins/rtl/readme.txt +10 -0
  118. data/test/rails_root/public/stylesheets/blueprint/plugins/rtl/screen.css +109 -0
  119. data/test/rails_root/public/stylesheets/blueprint/print.css +30 -0
  120. data/test/rails_root/public/stylesheets/blueprint/screen.css +251 -0
  121. data/test/rails_root/public/stylesheets/blueprint/sprite.css +1 -0
  122. data/test/rails_root/public/stylesheets/blueprint/src/forms.css +49 -0
  123. data/test/rails_root/public/stylesheets/blueprint/src/grid.css +213 -0
  124. data/test/rails_root/public/stylesheets/blueprint/src/grid.png +0 -0
  125. data/test/rails_root/public/stylesheets/blueprint/src/ie.css +59 -0
  126. data/test/rails_root/public/stylesheets/blueprint/src/print.css +85 -0
  127. data/test/rails_root/public/stylesheets/blueprint/src/reset.css +38 -0
  128. data/test/rails_root/public/stylesheets/blueprint/src/typography.css +105 -0
  129. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png +0 -0
  130. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-thick_15_444444_40x40.png +0 -0
  131. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_100_f0f0f0_1x400.png +0 -0
  132. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_50_99c2ff_1x400.png +0 -0
  133. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_55_fbf5d0_1x400.png +0 -0
  134. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_80_e6e6e6_1x400.png +0 -0
  135. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  136. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png +0 -0
  137. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-soft_100_e7eef3_1x100.png +0 -0
  138. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_222222_256x240.png +0 -0
  139. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2694e8_256x240.png +0 -0
  140. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2e83ff_256x240.png +0 -0
  141. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_72a7cf_256x240.png +0 -0
  142. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_888888_256x240.png +0 -0
  143. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_cd0a0a_256x240.png +0 -0
  144. data/test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_ffffff_256x240.png +0 -0
  145. data/test/rails_root/public/stylesheets/jquery/cupertino/jquery-ui-1.7.1.custom.css +404 -0
  146. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  147. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  148. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  149. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  150. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  151. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  152. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  153. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  154. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_217bc0_256x240.png +0 -0
  155. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
  156. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_469bdd_256x240.png +0 -0
  157. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  158. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  159. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
  160. data/test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  161. data/test/rails_root/public/stylesheets/jquery/redmond/jquery-ui-1.7.1.custom.css +404 -0
  162. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  163. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  164. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  165. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  166. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  167. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  168. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  169. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  170. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_222222_256x240.png +0 -0
  171. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  172. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_454545_256x240.png +0 -0
  173. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_888888_256x240.png +0 -0
  174. data/test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  175. data/test/rails_root/public/stylesheets/jquery/smoothness/jquery-ui-1.7.1.custom.css +404 -0
  176. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  177. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  178. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  179. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  180. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  181. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  182. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  183. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  184. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  185. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  186. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  187. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  188. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  189. data/test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  190. data/test/rails_root/public/stylesheets/jquery/ui-lightness/jquery-ui-1.7.1.custom.css +404 -0
  191. data/test/rails_root/public/stylesheets/reset.css +0 -0
  192. data/test/rails_root/public/stylesheets/styles.css +79 -0
  193. data/test/rails_root/public/stylesheets/themes/blue/styles.css +1 -0
  194. data/test/rails_root/public/stylesheets/themes/red/styles.css +1 -0
  195. data/test/rails_root/script/about +3 -0
  196. data/test/rails_root/script/breakpointer +3 -0
  197. data/test/rails_root/script/console +3 -0
  198. data/test/rails_root/script/create_project.rb +52 -0
  199. data/test/rails_root/script/cucumber +7 -0
  200. data/test/rails_root/script/dbconsole +3 -0
  201. data/test/rails_root/script/destroy +3 -0
  202. data/test/rails_root/script/generate +3 -0
  203. data/test/rails_root/script/performance/benchmarker +3 -0
  204. data/test/rails_root/script/performance/profiler +3 -0
  205. data/test/rails_root/script/performance/request +3 -0
  206. data/test/rails_root/script/plugin +3 -0
  207. data/test/rails_root/script/process/inspector +3 -0
  208. data/test/rails_root/script/process/reaper +3 -0
  209. data/test/rails_root/script/process/spawner +3 -0
  210. data/test/rails_root/script/runner +3 -0
  211. data/test/rails_root/script/server +3 -0
  212. data/test/rails_root/test/factories.rb +56 -0
  213. data/test/rails_root/test/functional/.keep +0 -0
  214. data/test/rails_root/test/functional/admin/profiles_controller_test.rb +30 -0
  215. data/test/rails_root/test/functional/profiles_controller_test.rb +16 -0
  216. data/test/rails_root/test/integration/.keep +0 -0
  217. data/test/rails_root/test/mocks/development/.keep +0 -0
  218. data/test/rails_root/test/mocks/test/.keep +0 -0
  219. data/test/rails_root/test/shoulda_macros/controller.rb +45 -0
  220. data/test/rails_root/test/shoulda_macros/models.rb +50 -0
  221. data/test/rails_root/test/test_helper.rb +38 -0
  222. data/test/rails_root/test/unit/.keep +0 -0
  223. data/test/rails_root/test/unit/profile_test.rb +0 -0
  224. data/test/rails_root/test/unit/user_test.rb +21 -0
  225. data/test/rails_root/vendor/plugins/ssl_requirement/README +43 -0
  226. data/test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb +62 -0
  227. data/test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb +132 -0
  228. data/uninstall.rb +1 -0
  229. metadata +331 -0
@@ -0,0 +1,38 @@
1
+ $:.reject! { |e| e.include? 'TextMate' }
2
+ ENV["RAILS_ENV"] = "test"
3
+ require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
4
+ require 'test_help'
5
+ gem 'thoughtbot-factory_girl' # from github
6
+ require 'factory_girl'
7
+ require 'mocha'
8
+ require 'authlogic/test_case'
9
+ require 'redgreen' rescue LoadError
10
+ require File.expand_path(File.dirname(__FILE__) + '/factories')
11
+ require File.join(File.dirname(__FILE__), 'shoulda_macros', 'controller')
12
+ require File.join(File.dirname(__FILE__), 'shoulda_macros', 'models')
13
+
14
+ class ActiveSupport::TestCase
15
+ self.use_transactional_fixtures = true
16
+ self.use_instantiated_fixtures = false
17
+
18
+ include Authlogic::TestCase
19
+
20
+ def login_as(user)
21
+ success = UserSession.create(user)
22
+ if !success
23
+ errors = user.errors.full_messages.to_sentence
24
+ message = 'User has not been activated' if !user.active?
25
+ raise "could not login as #{user.to_param}. Please make sure the user is valid. #{message} #{errors}"
26
+ end
27
+ UserSession.find
28
+ end
29
+
30
+ def assure_logout
31
+ user_session = UserSession.find
32
+ user_session.destroy if user_session
33
+ end
34
+
35
+ def ensure_flash(val)
36
+ assert_contains flash.values, val, ", Flash: #{flash.inspect}"
37
+ end
38
+ end
File without changes
File without changes
@@ -0,0 +1,21 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+
5
+ context 'A user instance with has_muck_profile' do
6
+ setup do
7
+ @user = Factory(:user)
8
+ end
9
+ should_accept_nested_attributes_for :profile
10
+ should_have_one :profile
11
+
12
+ should "have a profile after creation" do
13
+ assert @user.profile
14
+ end
15
+
16
+ should "have a photo method delegated to the profile" do
17
+ assert @user.photo
18
+ end
19
+ end
20
+
21
+ end
@@ -0,0 +1,43 @@
1
+ SSL Requirement
2
+ ===============
3
+
4
+ SSL requirement adds a declarative way of specifying that certain actions
5
+ should only be allowed to run under SSL, and if they're accessed without it,
6
+ they should be redirected.
7
+
8
+ Example:
9
+
10
+ class ApplicationController < ActiveRecord::Base
11
+ include SslRequirement
12
+ end
13
+
14
+ class AccountController < ApplicationController
15
+ ssl_required :signup, :payment
16
+ ssl_allowed :index
17
+
18
+ def signup
19
+ # Non-SSL access will be redirected to SSL
20
+ end
21
+
22
+ def payment
23
+ # Non-SSL access will be redirected to SSL
24
+ end
25
+
26
+ def index
27
+ # This action will work either with or without SSL
28
+ end
29
+
30
+ def other
31
+ # SSL access will be redirected to non-SSL
32
+ end
33
+ end
34
+
35
+ You can overwrite the protected method ssl_required? to rely on other things
36
+ than just the declarative specification. Say, only premium accounts get SSL.
37
+
38
+ P.S.: Beware when you include the SslRequirement module. At the time of
39
+ inclusion, it'll add the before_filter that validates the declarations. Some
40
+ times you'll want to run other before_filters before that. They should then be
41
+ declared ahead of including this module.
42
+
43
+ Copyright (c) 2005 David Heinemeier Hansson, released under the MIT license
@@ -0,0 +1,62 @@
1
+ # Copyright (c) 2005 David Heinemeier Hansson
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+ module SslRequirement
22
+ def self.included(controller)
23
+ controller.extend(ClassMethods)
24
+ controller.before_filter(:ensure_proper_protocol)
25
+ end
26
+
27
+ module ClassMethods
28
+ # Specifies that the named actions requires an SSL connection to be performed (which is enforced by ensure_proper_protocol).
29
+ def ssl_required(*actions)
30
+ write_inheritable_array(:ssl_required_actions, actions)
31
+ end
32
+
33
+ def ssl_allowed(*actions)
34
+ write_inheritable_array(:ssl_allowed_actions, actions)
35
+ end
36
+ end
37
+
38
+ protected
39
+ # Returns true if the current action is supposed to run as SSL
40
+ def ssl_required?
41
+ (self.class.read_inheritable_attribute(:ssl_required_actions) || []).include?(action_name.to_sym)
42
+ end
43
+
44
+ def ssl_allowed?
45
+ (self.class.read_inheritable_attribute(:ssl_allowed_actions) || []).include?(action_name.to_sym)
46
+ end
47
+
48
+ private
49
+ def ensure_proper_protocol
50
+ return true if ssl_allowed?
51
+
52
+ if ssl_required? && !request.ssl?
53
+ redirect_to "https://" + request.host + request.request_uri
54
+ flash.keep
55
+ return false
56
+ elsif request.ssl? && !ssl_required?
57
+ redirect_to "http://" + request.host + request.request_uri
58
+ flash.keep
59
+ return false
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,132 @@
1
+ begin
2
+ require 'action_controller'
3
+ rescue LoadError
4
+ if ENV['ACTIONCONTROLLER_PATH'].nil?
5
+ abort <<MSG
6
+ Please set the ACTIONCONTROLLER_PATH environment variable to the directory
7
+ containing the action_controller.rb file.
8
+ MSG
9
+ else
10
+ $LOAD_PATH.unshift << ENV['ACTIONCONTROLLER_PATH']
11
+ begin
12
+ require 'action_controller'
13
+ rescue LoadError
14
+ abort "ActionController could not be found."
15
+ end
16
+ end
17
+ end
18
+
19
+ require 'action_controller/test_process'
20
+ require 'test/unit'
21
+ require "#{File.dirname(__FILE__)}/../lib/ssl_requirement"
22
+
23
+ ActionController::Base.logger = nil
24
+ ActionController::Routing::Routes.reload rescue nil
25
+
26
+ class SslRequirementController < ActionController::Base
27
+ include SslRequirement
28
+
29
+ ssl_required :a, :b
30
+ ssl_allowed :c
31
+
32
+ def a
33
+ render :nothing => true
34
+ end
35
+
36
+ def b
37
+ render :nothing => true
38
+ end
39
+
40
+ def c
41
+ render :nothing => true
42
+ end
43
+
44
+ def d
45
+ render :nothing => true
46
+ end
47
+
48
+ def set_flash
49
+ flash[:foo] = "bar"
50
+ end
51
+ end
52
+
53
+ class SslRequirementTest < Test::Unit::TestCase
54
+ def setup
55
+ @controller = SslRequirementController.new
56
+ @request = ActionController::TestRequest.new
57
+ @response = ActionController::TestResponse.new
58
+ end
59
+
60
+ def test_redirect_to_https_preserves_flash
61
+ get :set_flash
62
+ get :b
63
+ assert_response :redirect
64
+ assert_equal "bar", flash[:foo]
65
+ end
66
+
67
+ def test_not_redirecting_to_https_does_not_preserve_the_flash
68
+ get :set_flash
69
+ get :d
70
+ assert_response :success
71
+ assert_nil flash[:foo]
72
+ end
73
+
74
+ def test_redirect_to_http_preserves_flash
75
+ get :set_flash
76
+ @request.env['HTTPS'] = "on"
77
+ get :d
78
+ assert_response :redirect
79
+ assert_equal "bar", flash[:foo]
80
+ end
81
+
82
+ def test_not_redirecting_to_http_does_not_preserve_the_flash
83
+ get :set_flash
84
+ @request.env['HTTPS'] = "on"
85
+ get :a
86
+ assert_response :success
87
+ assert_nil flash[:foo]
88
+ end
89
+
90
+ def test_required_without_ssl
91
+ assert_not_equal "on", @request.env["HTTPS"]
92
+ get :a
93
+ assert_response :redirect
94
+ assert_match %r{^https://}, @response.headers['Location']
95
+ get :b
96
+ assert_response :redirect
97
+ assert_match %r{^https://}, @response.headers['Location']
98
+ end
99
+
100
+ def test_required_with_ssl
101
+ @request.env['HTTPS'] = "on"
102
+ get :a
103
+ assert_response :success
104
+ get :b
105
+ assert_response :success
106
+ end
107
+
108
+ def test_disallowed_without_ssl
109
+ assert_not_equal "on", @request.env["HTTPS"]
110
+ get :d
111
+ assert_response :success
112
+ end
113
+
114
+ def test_disallowed_with_ssl
115
+ @request.env['HTTPS'] = "on"
116
+ get :d
117
+ assert_response :redirect
118
+ assert_match %r{^http://}, @response.headers['Location']
119
+ end
120
+
121
+ def test_allowed_without_ssl
122
+ assert_not_equal "on", @request.env["HTTPS"]
123
+ get :c
124
+ assert_response :success
125
+ end
126
+
127
+ def test_allowed_with_ssl
128
+ @request.env['HTTPS'] = "on"
129
+ get :c
130
+ assert_response :success
131
+ end
132
+ end
data/uninstall.rb ADDED
@@ -0,0 +1 @@
1
+ # Uninstall hook code here
metadata ADDED
@@ -0,0 +1,331 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: muck-profiles
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Justin Ball
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-06-18 00:00:00 -06:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: muck-engine
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: muck-users
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ description: Profile engine for the muck system.
36
+ email: justinball@gmail.com
37
+ executables: []
38
+
39
+ extensions: []
40
+
41
+ extra_rdoc_files:
42
+ - README.rdoc
43
+ files:
44
+ - MIT-LICENSE
45
+ - README.rdoc
46
+ - Rakefile
47
+ - VERSION
48
+ - app/controllers/admin/muck/profiles_controller.rb
49
+ - app/controllers/muck/profiles_controller.rb
50
+ - app/helpers/muck_profiles_helper.rb
51
+ - app/views/admin/profiles/edit.html.erb
52
+ - app/views/profiles/edit.html.erb
53
+ - app/views/profiles/index.html.erb
54
+ - app/views/profiles/show.html.erb
55
+ - config/muck_profiles_routes.rb
56
+ - db/migrate/20090512013727_create_profiles.rb
57
+ - install.rb
58
+ - lib/active_record/acts/muck_profile.rb
59
+ - lib/active_record/has/muck_profile.rb
60
+ - lib/muck_profiles.rb
61
+ - lib/muck_profiles/initialize_routes.rb
62
+ - lib/muck_profiles/tasks.rb
63
+ - locales/en.yml
64
+ - muck-profiles.gemspec
65
+ - pkg/muck-profiles-0.1.0.gem
66
+ - rails/init.rb
67
+ - tasks/rails.rake
68
+ - test/rails_root/.gitignore
69
+ - test/rails_root/.rake_tasks
70
+ - test/rails_root/Capfile
71
+ - test/rails_root/Rakefile
72
+ - test/rails_root/app/controllers/application_controller.rb
73
+ - test/rails_root/app/controllers/default_controller.rb
74
+ - test/rails_root/app/helpers/application_helper.rb
75
+ - test/rails_root/app/models/.keep
76
+ - test/rails_root/app/models/profile.rb
77
+ - test/rails_root/app/models/user.rb
78
+ - test/rails_root/app/models/user_session.rb
79
+ - test/rails_root/app/views/default/index.html.erb
80
+ - test/rails_root/app/views/layouts/default.html.erb
81
+ - test/rails_root/config/boot.rb
82
+ - test/rails_root/config/database.yml
83
+ - test/rails_root/config/environment.rb
84
+ - test/rails_root/config/environments/development.rb
85
+ - test/rails_root/config/environments/production.rb
86
+ - test/rails_root/config/environments/test.rb
87
+ - test/rails_root/config/global_config.yml
88
+ - test/rails_root/config/initializers/inflections.rb
89
+ - test/rails_root/config/initializers/mime_types.rb
90
+ - test/rails_root/config/initializers/requires.rb
91
+ - test/rails_root/config/initializers/session_store.rb
92
+ - test/rails_root/config/routes.rb
93
+ - test/rails_root/db/.keep
94
+ - test/rails_root/db/migrate/20090320174818_create_muck_permissions_and_roles.rb
95
+ - test/rails_root/db/migrate/20090512013727_create_profiles.rb
96
+ - test/rails_root/db/migrate/20090602041838_create_users.rb
97
+ - test/rails_root/features/step_definitions/webrat_steps.rb
98
+ - test/rails_root/features/support/env.rb
99
+ - test/rails_root/public/.htaccess
100
+ - test/rails_root/public/404.html
101
+ - test/rails_root/public/422.html
102
+ - test/rails_root/public/500.html
103
+ - test/rails_root/public/dispatch.rb
104
+ - test/rails_root/public/favicon.ico
105
+ - test/rails_root/public/images/arrow_left.gif
106
+ - test/rails_root/public/images/arrow_right.gif
107
+ - test/rails_root/public/images/blue/preview.gif
108
+ - test/rails_root/public/images/icons/accept.png
109
+ - test/rails_root/public/images/icons/add.png
110
+ - test/rails_root/public/images/icons/delete.png
111
+ - test/rails_root/public/images/icons/vote.png
112
+ - test/rails_root/public/images/loading.gif
113
+ - test/rails_root/public/images/profile_default.jpg
114
+ - test/rails_root/public/images/rails.png
115
+ - test/rails_root/public/images/red/preview.gif
116
+ - test/rails_root/public/images/spinner.gif
117
+ - test/rails_root/public/images/sprites.png
118
+ - test/rails_root/public/javascripts/application.js
119
+ - test/rails_root/public/javascripts/builder.js
120
+ - test/rails_root/public/javascripts/controls.js
121
+ - test/rails_root/public/javascripts/dragdrop.js
122
+ - test/rails_root/public/javascripts/effects.js
123
+ - test/rails_root/public/javascripts/fancyzoom.min.js
124
+ - test/rails_root/public/javascripts/jquery/jquery-ui.js
125
+ - test/rails_root/public/javascripts/jquery/jquery.form.js
126
+ - test/rails_root/public/javascripts/jquery/jquery.jgrowl.js
127
+ - test/rails_root/public/javascripts/jquery/jquery.js
128
+ - test/rails_root/public/javascripts/jquery/jquery.tips.js
129
+ - test/rails_root/public/javascripts/muck.js
130
+ - test/rails_root/public/javascripts/muck_activities.js
131
+ - test/rails_root/public/javascripts/prototype.js
132
+ - test/rails_root/public/javascripts/scriptaculous.js
133
+ - test/rails_root/public/javascripts/slider.js
134
+ - test/rails_root/public/javascripts/sound.js
135
+ - test/rails_root/public/robots.txt
136
+ - test/rails_root/public/stylesheets/.keep
137
+ - test/rails_root/public/stylesheets/admin.css
138
+ - test/rails_root/public/stylesheets/blueprint/ie.css
139
+ - test/rails_root/public/stylesheets/blueprint/liquid_screen.css
140
+ - test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/cross.png
141
+ - test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/key.png
142
+ - test/rails_root/public/stylesheets/blueprint/plugins/buttons/icons/tick.png
143
+ - test/rails_root/public/stylesheets/blueprint/plugins/buttons/readme.txt
144
+ - test/rails_root/public/stylesheets/blueprint/plugins/buttons/screen.css
145
+ - test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/readme.txt
146
+ - test/rails_root/public/stylesheets/blueprint/plugins/fancy-type/screen.css
147
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png
148
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/email.png
149
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/external.png
150
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png
151
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/im.png
152
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png
153
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png
154
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png
155
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/readme.txt
156
+ - test/rails_root/public/stylesheets/blueprint/plugins/link-icons/screen.css
157
+ - test/rails_root/public/stylesheets/blueprint/plugins/liquid/liquid.css
158
+ - test/rails_root/public/stylesheets/blueprint/plugins/liquid/src/liquid.css
159
+ - test/rails_root/public/stylesheets/blueprint/plugins/rtl/readme.txt
160
+ - test/rails_root/public/stylesheets/blueprint/plugins/rtl/screen.css
161
+ - test/rails_root/public/stylesheets/blueprint/print.css
162
+ - test/rails_root/public/stylesheets/blueprint/screen.css
163
+ - test/rails_root/public/stylesheets/blueprint/sprite.css
164
+ - test/rails_root/public/stylesheets/blueprint/src/forms.css
165
+ - test/rails_root/public/stylesheets/blueprint/src/grid.css
166
+ - test/rails_root/public/stylesheets/blueprint/src/grid.png
167
+ - test/rails_root/public/stylesheets/blueprint/src/ie.css
168
+ - test/rails_root/public/stylesheets/blueprint/src/print.css
169
+ - test/rails_root/public/stylesheets/blueprint/src/reset.css
170
+ - test/rails_root/public/stylesheets/blueprint/src/typography.css
171
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png
172
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-thick_15_444444_40x40.png
173
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_100_f0f0f0_1x400.png
174
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_50_99c2ff_1x400.png
175
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_55_fbf5d0_1x400.png
176
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_80_e6e6e6_1x400.png
177
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_95_fef1ec_1x400.png
178
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-hard_100_f9f9f9_1x100.png
179
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_highlight-soft_100_e7eef3_1x100.png
180
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_222222_256x240.png
181
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2694e8_256x240.png
182
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_2e83ff_256x240.png
183
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_72a7cf_256x240.png
184
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_888888_256x240.png
185
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_cd0a0a_256x240.png
186
+ - test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_ffffff_256x240.png
187
+ - test/rails_root/public/stylesheets/jquery/cupertino/jquery-ui-1.7.1.custom.css
188
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
189
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_55_fbec88_40x100.png
190
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
191
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_85_dfeffc_1x400.png
192
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_95_fef1ec_1x400.png
193
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
194
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
195
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
196
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_217bc0_256x240.png
197
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_2e83ff_256x240.png
198
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_469bdd_256x240.png
199
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_6da8d5_256x240.png
200
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_cd0a0a_256x240.png
201
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_d8e7f3_256x240.png
202
+ - test/rails_root/public/stylesheets/jquery/redmond/images/ui-icons_f9bd01_256x240.png
203
+ - test/rails_root/public/stylesheets/jquery/redmond/jquery-ui-1.7.1.custom.css
204
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
205
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
206
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
207
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
208
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_dadada_1x400.png
209
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
210
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
211
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
212
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_222222_256x240.png
213
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_2e83ff_256x240.png
214
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_454545_256x240.png
215
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_888888_256x240.png
216
+ - test/rails_root/public/stylesheets/jquery/smoothness/images/ui-icons_cd0a0a_256x240.png
217
+ - test/rails_root/public/stylesheets/jquery/smoothness/jquery-ui-1.7.1.custom.css
218
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png
219
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png
220
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_flat_10_000000_40x100.png
221
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png
222
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png
223
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png
224
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png
225
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
226
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
227
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_222222_256x240.png
228
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_228ef1_256x240.png
229
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ef8c08_256x240.png
230
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffd27a_256x240.png
231
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/images/ui-icons_ffffff_256x240.png
232
+ - test/rails_root/public/stylesheets/jquery/ui-lightness/jquery-ui-1.7.1.custom.css
233
+ - test/rails_root/public/stylesheets/reset.css
234
+ - test/rails_root/public/stylesheets/styles.css
235
+ - test/rails_root/public/stylesheets/themes/blue/styles.css
236
+ - test/rails_root/public/stylesheets/themes/red/styles.css
237
+ - test/rails_root/script/about
238
+ - test/rails_root/script/breakpointer
239
+ - test/rails_root/script/console
240
+ - test/rails_root/script/create_project.rb
241
+ - test/rails_root/script/cucumber
242
+ - test/rails_root/script/dbconsole
243
+ - test/rails_root/script/destroy
244
+ - test/rails_root/script/generate
245
+ - test/rails_root/script/performance/benchmarker
246
+ - test/rails_root/script/performance/profiler
247
+ - test/rails_root/script/performance/request
248
+ - test/rails_root/script/plugin
249
+ - test/rails_root/script/process/inspector
250
+ - test/rails_root/script/process/reaper
251
+ - test/rails_root/script/process/spawner
252
+ - test/rails_root/script/runner
253
+ - test/rails_root/script/server
254
+ - test/rails_root/test/factories.rb
255
+ - test/rails_root/test/functional/.keep
256
+ - test/rails_root/test/functional/admin/profiles_controller_test.rb
257
+ - test/rails_root/test/functional/profiles_controller_test.rb
258
+ - test/rails_root/test/integration/.keep
259
+ - test/rails_root/test/mocks/development/.keep
260
+ - test/rails_root/test/mocks/test/.keep
261
+ - test/rails_root/test/shoulda_macros/controller.rb
262
+ - test/rails_root/test/shoulda_macros/models.rb
263
+ - test/rails_root/test/test_helper.rb
264
+ - test/rails_root/test/unit/.keep
265
+ - test/rails_root/test/unit/profile_test.rb
266
+ - test/rails_root/test/unit/user_test.rb
267
+ - test/rails_root/vendor/plugins/ssl_requirement/README
268
+ - test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb
269
+ - test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb
270
+ - uninstall.rb
271
+ has_rdoc: true
272
+ homepage: http://github.com/jbasdf/muck_profiles
273
+ post_install_message:
274
+ rdoc_options:
275
+ - --charset=UTF-8
276
+ require_paths:
277
+ - lib
278
+ required_ruby_version: !ruby/object:Gem::Requirement
279
+ requirements:
280
+ - - ">="
281
+ - !ruby/object:Gem::Version
282
+ version: "0"
283
+ version:
284
+ required_rubygems_version: !ruby/object:Gem::Requirement
285
+ requirements:
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: "0"
289
+ version:
290
+ requirements: []
291
+
292
+ rubyforge_project: muck-profiles
293
+ rubygems_version: 1.3.1
294
+ signing_key:
295
+ specification_version: 2
296
+ summary: Profile engine for the muck system
297
+ test_files:
298
+ - test/rails_root/app/controllers/application_controller.rb
299
+ - test/rails_root/app/controllers/default_controller.rb
300
+ - test/rails_root/app/helpers/application_helper.rb
301
+ - test/rails_root/app/models/profile.rb
302
+ - test/rails_root/app/models/user.rb
303
+ - test/rails_root/app/models/user_session.rb
304
+ - test/rails_root/config/boot.rb
305
+ - test/rails_root/config/environment.rb
306
+ - test/rails_root/config/environments/development.rb
307
+ - test/rails_root/config/environments/production.rb
308
+ - test/rails_root/config/environments/test.rb
309
+ - test/rails_root/config/initializers/inflections.rb
310
+ - test/rails_root/config/initializers/mime_types.rb
311
+ - test/rails_root/config/initializers/requires.rb
312
+ - test/rails_root/config/initializers/session_store.rb
313
+ - test/rails_root/config/routes.rb
314
+ - test/rails_root/db/migrate/20090320174818_create_muck_permissions_and_roles.rb
315
+ - test/rails_root/db/migrate/20090512013727_create_profiles.rb
316
+ - test/rails_root/db/migrate/20090602041838_create_users.rb
317
+ - test/rails_root/db/schema.rb
318
+ - test/rails_root/features/step_definitions/webrat_steps.rb
319
+ - test/rails_root/features/support/env.rb
320
+ - test/rails_root/public/dispatch.rb
321
+ - test/rails_root/script/create_project.rb
322
+ - test/rails_root/test/factories.rb
323
+ - test/rails_root/test/functional/admin/profiles_controller_test.rb
324
+ - test/rails_root/test/functional/profiles_controller_test.rb
325
+ - test/rails_root/test/shoulda_macros/controller.rb
326
+ - test/rails_root/test/shoulda_macros/models.rb
327
+ - test/rails_root/test/test_helper.rb
328
+ - test/rails_root/test/unit/profile_test.rb
329
+ - test/rails_root/test/unit/user_test.rb
330
+ - test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb
331
+ - test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb