open_porch 0.5.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 (223) hide show
  1. data/Gemfile +41 -0
  2. data/Gemfile.lock +130 -0
  3. data/README.md +170 -0
  4. data/Rakefile +19 -0
  5. data/VERSION +1 -0
  6. data/app/controllers/admin/areas/base_controller.rb +11 -0
  7. data/app/controllers/admin/areas/issues_controller.rb +67 -0
  8. data/app/controllers/admin/areas/memberships_controller.rb +7 -0
  9. data/app/controllers/admin/areas/posts_controller.rb +44 -0
  10. data/app/controllers/admin/areas_controller.rb +89 -0
  11. data/app/controllers/admin/base_controller.rb +16 -0
  12. data/app/controllers/admin/user_activity_controller.rb +29 -0
  13. data/app/controllers/admin/users_controller.rb +57 -0
  14. data/app/controllers/application_controller.rb +15 -0
  15. data/app/controllers/areas/base_controller.rb +25 -0
  16. data/app/controllers/areas/issues_controller.rb +35 -0
  17. data/app/controllers/areas/posts_controller.rb +28 -0
  18. data/app/controllers/areas_controller.rb +30 -0
  19. data/app/controllers/passwords_controller.rb +42 -0
  20. data/app/controllers/registrations_controller.rb +42 -0
  21. data/app/controllers/sessions_controller.rb +33 -0
  22. data/app/controllers/users_controller.rb +77 -0
  23. data/app/helpers/open_porch_helper.rb +24 -0
  24. data/app/mailers/user_mailer.rb +35 -0
  25. data/app/models/address.rb +57 -0
  26. data/app/models/area.rb +171 -0
  27. data/app/models/area_activity.rb +24 -0
  28. data/app/models/email_message.rb +104 -0
  29. data/app/models/issue.rb +66 -0
  30. data/app/models/issue_number.rb +22 -0
  31. data/app/models/membership.rb +27 -0
  32. data/app/models/post.rb +64 -0
  33. data/app/models/session_user.rb +69 -0
  34. data/app/models/user.rb +140 -0
  35. data/app/models/user_activity.rb +31 -0
  36. data/app/models/user_authority_check.rb +14 -0
  37. data/app/views/admin/areas/_form.html.haml +8 -0
  38. data/app/views/admin/areas/_nav.html.haml +12 -0
  39. data/app/views/admin/areas/edit.html.haml +22 -0
  40. data/app/views/admin/areas/edit_borders.html.haml +44 -0
  41. data/app/views/admin/areas/index.html.haml +61 -0
  42. data/app/views/admin/areas/issues/_post.html.haml +15 -0
  43. data/app/views/admin/areas/issues/add_posts.js.rjs +3 -0
  44. data/app/views/admin/areas/issues/edit.html.haml +37 -0
  45. data/app/views/admin/areas/issues/index.html.haml +31 -0
  46. data/app/views/admin/areas/issues/remove_posts.js.rjs +3 -0
  47. data/app/views/admin/areas/issues/show.html.haml +13 -0
  48. data/app/views/admin/areas/memberships/index.html.haml +17 -0
  49. data/app/views/admin/areas/new.html.haml +6 -0
  50. data/app/views/admin/areas/new.js.haml +4 -0
  51. data/app/views/admin/areas/posts/_edit.html.haml +6 -0
  52. data/app/views/admin/areas/posts/_post_status.html.haml +1 -0
  53. data/app/views/admin/areas/posts/destroy.js.rjs +1 -0
  54. data/app/views/admin/areas/posts/edit.js.rjs +1 -0
  55. data/app/views/admin/areas/posts/show.js.rjs +1 -0
  56. data/app/views/admin/areas/posts/toggle_reviewed_by.js.rjs +1 -0
  57. data/app/views/admin/areas/posts/update.js.rjs +5 -0
  58. data/app/views/admin/areas/show.html.haml +5 -0
  59. data/app/views/admin/user_activity/show.html.haml +5 -0
  60. data/app/views/admin/users/_form.html.haml +21 -0
  61. data/app/views/admin/users/edit.html.haml +5 -0
  62. data/app/views/admin/users/index.html.haml +31 -0
  63. data/app/views/admin/users/new.html.haml +5 -0
  64. data/app/views/areas/issues/index.html.haml +31 -0
  65. data/app/views/areas/issues/show.html.haml +22 -0
  66. data/app/views/areas/posts/_post.html.haml +8 -0
  67. data/app/views/areas/posts/_posts_search_form.html.haml +8 -0
  68. data/app/views/areas/posts/index.html.haml +27 -0
  69. data/app/views/areas/posts/new.html.haml +10 -0
  70. data/app/views/areas/show.html.haml +47 -0
  71. data/app/views/layouts/_account_nav.html.haml +18 -0
  72. data/app/views/layouts/_flash_message.html.haml +4 -0
  73. data/app/views/layouts/_footer.html.haml +9 -0
  74. data/app/views/layouts/_head.html.haml +16 -0
  75. data/app/views/layouts/admin/_nav.html.haml +13 -0
  76. data/app/views/layouts/admin.html.haml +15 -0
  77. data/app/views/layouts/application.html.haml +14 -0
  78. data/app/views/layouts/area_editor.html.haml +11 -0
  79. data/app/views/passwords/edit.html.haml +9 -0
  80. data/app/views/passwords/new.html.haml +13 -0
  81. data/app/views/registrations/_address_form.html.haml +7 -0
  82. data/app/views/registrations/create.html.haml +49 -0
  83. data/app/views/registrations/index.html.haml +30 -0
  84. data/app/views/registrations/new.html.haml +17 -0
  85. data/app/views/sessions/new.html.haml +18 -0
  86. data/app/views/stylesheets/common.sass +239 -0
  87. data/app/views/stylesheets/content.sass +193 -0
  88. data/app/views/stylesheets/reset.sass +46 -0
  89. data/app/views/stylesheets/structure.sass +11 -0
  90. data/app/views/stylesheets/typography.sass +57 -0
  91. data/app/views/user_mailer/email_verification.html.erb +5 -0
  92. data/app/views/user_mailer/email_verification.text.erb +7 -0
  93. data/app/views/user_mailer/new_issue.html.erb +32 -0
  94. data/app/views/user_mailer/new_issue.text.erb +26 -0
  95. data/app/views/user_mailer/password_reset.html.erb +7 -0
  96. data/app/views/user_mailer/password_reset.text.erb +6 -0
  97. data/app/views/users/_form.html.haml +5 -0
  98. data/app/views/users/edit.html.haml +11 -0
  99. data/app/views/users/new.html.haml +41 -0
  100. data/app/views/users/show.html.haml +30 -0
  101. data/bin/open_porch_engine +135 -0
  102. data/config/application.rb +43 -0
  103. data/config/boot.rb +13 -0
  104. data/config/database_example.yml +59 -0
  105. data/config/environment.rb +5 -0
  106. data/config/environments/development.rb +26 -0
  107. data/config/environments/production.rb +49 -0
  108. data/config/environments/test.rb +35 -0
  109. data/config/initializers/backtrace_silencers.rb +7 -0
  110. data/config/initializers/email_regex.rb +38 -0
  111. data/config/initializers/geokit_config.rb +61 -0
  112. data/config/initializers/inflections.rb +20 -0
  113. data/config/initializers/meta_search.rb +7 -0
  114. data/config/initializers/mime_types.rb +5 -0
  115. data/config/initializers/open_porch.rb +41 -0
  116. data/config/initializers/sass.rb +1 -0
  117. data/config/initializers/secret_token.rb +7 -0
  118. data/config/initializers/session_store.rb +8 -0
  119. data/config/initializers/states_provinces.rb +2 -0
  120. data/config/initializers/will_paginate.rb +2 -0
  121. data/config/locales/en.yml +5 -0
  122. data/config/open_porch_example.yml +23 -0
  123. data/config/routes.rb +54 -0
  124. data/config/schedule.rb +9 -0
  125. data/config.ru +4 -0
  126. data/db/migrate/01_create_areas.rb +21 -0
  127. data/db/migrate/02_create_users.rb +28 -0
  128. data/db/migrate/03_create_memberships.rb +14 -0
  129. data/db/migrate/04_create_posts.rb +20 -0
  130. data/db/migrate/05_create_issue_numbers.rb +13 -0
  131. data/db/migrate/06_create_issues.rb +21 -0
  132. data/db/migrate/20110204173301_add_published_to_areas.rb +10 -0
  133. data/db/migrate/20110204194840_create_user_activities.rb +13 -0
  134. data/db/migrate/20110208163604_add_zip_to_areas.rb +11 -0
  135. data/db/migrate/20110209175723_add_counters_to_areas.rb +11 -0
  136. data/db/migrate/20110209182244_remove_subject_from_issues.rb +9 -0
  137. data/db/migrate/20110209190146_add_reviewer_info_to_posts.rb +9 -0
  138. data/db/migrate/20110215173144_add_email_validation_key_to_users.rb +13 -0
  139. data/db/migrate/20110215182716_remove_published_from_areas.rb +10 -0
  140. data/db/migrate/20110215211012_create_area_activities.rb +19 -0
  141. data/db/migrate/20110215213802_create_email_messages.rb +19 -0
  142. data/db/migrate/20110217165018_change_send_mode_to_string.rb +17 -0
  143. data/db/migrate/20110223160609_denormalize_user_info_in_posts.rb +19 -0
  144. data/db/seeds.rb +7 -0
  145. data/doc/README_FOR_APP +2 -0
  146. data/lib/generators/open_porch_generator.rb +37 -0
  147. data/lib/open_porch/engine.rb +20 -0
  148. data/lib/open_porch.rb +3 -0
  149. data/lib/tasks/.gitkeep +0 -0
  150. data/lib/tasks/open_porch.rake +10 -0
  151. data/lib/tasks/postageapp_tasks.rake +78 -0
  152. data/open_porch.gemspec +335 -0
  153. data/public/404.html +26 -0
  154. data/public/422.html +26 -0
  155. data/public/500.html +26 -0
  156. data/public/favicon.ico +0 -0
  157. data/public/images/icons/ajax-loader.gif +0 -0
  158. data/public/images/icons/calendar.png +0 -0
  159. data/public/images/icons/post_new.png +0 -0
  160. data/public/images/icons/post_reviewed.png +0 -0
  161. data/public/javascripts/application.js +3 -0
  162. data/public/javascripts/google_maps.js +153 -0
  163. data/public/javascripts/highcharts.js +162 -0
  164. data/public/javascripts/highcharts_init.js +30 -0
  165. data/public/javascripts/issue_edit.js +57 -0
  166. data/public/javascripts/jquery-ui.min.js +191 -0
  167. data/public/javascripts/jquery.js +154 -0
  168. data/public/javascripts/rails.js +137 -0
  169. data/public/javascripts/region_editor.js +616 -0
  170. data/public/javascripts/user_activity.js +29 -0
  171. data/public/robots.txt +5 -0
  172. data/public/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  173. data/public/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  174. data/public/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  175. data/public/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  176. data/public/stylesheets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  177. data/public/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  178. data/public/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  179. data/public/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  180. data/public/stylesheets/images/ui-icons_222222_256x240.png +0 -0
  181. data/public/stylesheets/images/ui-icons_2e83ff_256x240.png +0 -0
  182. data/public/stylesheets/images/ui-icons_454545_256x240.png +0 -0
  183. data/public/stylesheets/images/ui-icons_888888_256x240.png +0 -0
  184. data/public/stylesheets/images/ui-icons_cd0a0a_256x240.png +0 -0
  185. data/public/stylesheets/jquery-ui.css +362 -0
  186. data/script/rails +6 -0
  187. data/test/dummy/area.rb +5 -0
  188. data/test/dummy/area_activity.rb +7 -0
  189. data/test/dummy/issue.rb +4 -0
  190. data/test/dummy/membership.rb +4 -0
  191. data/test/dummy/post.rb +12 -0
  192. data/test/dummy/user.rb +29 -0
  193. data/test/dummy/user_activity.rb +11 -0
  194. data/test/functional/admin/areas/issues_controller_test.rb +48 -0
  195. data/test/functional/admin/areas/memberships_controller_test.rb +45 -0
  196. data/test/functional/admin/areas/posts_controller_test.rb +54 -0
  197. data/test/functional/admin/areas_controller_test.rb +134 -0
  198. data/test/functional/admin/base_controller_test.rb +8 -0
  199. data/test/functional/admin/user_activity_controller_test.rb +28 -0
  200. data/test/functional/admin/users_controller_test.rb +144 -0
  201. data/test/functional/areas/issues_controller_test.rb +33 -0
  202. data/test/functional/areas/posts_controller_test.rb +50 -0
  203. data/test/functional/areas_controller_test.rb +12 -0
  204. data/test/functional/passwords_controller_test.rb +64 -0
  205. data/test/functional/registrations_controller_test.rb +64 -0
  206. data/test/functional/sessions_controller_test.rb +120 -0
  207. data/test/functional/users_controller_test.rb +144 -0
  208. data/test/performance/browsing_test.rb +9 -0
  209. data/test/test_helper.rb +92 -0
  210. data/test/unit/address_test.rb +25 -0
  211. data/test/unit/area_activity_test.rb +57 -0
  212. data/test/unit/area_test.rb +92 -0
  213. data/test/unit/email_message_test.rb +8 -0
  214. data/test/unit/issue_number_test.rb +25 -0
  215. data/test/unit/issue_test.rb +154 -0
  216. data/test/unit/membership_test.rb +20 -0
  217. data/test/unit/post_test.rb +69 -0
  218. data/test/unit/session_user_test.rb +65 -0
  219. data/test/unit/user_activity_test.rb +31 -0
  220. data/test/unit/user_mailer_test.rb +20 -0
  221. data/test/unit/user_test.rb +61 -0
  222. data/vendor/plugins/.gitkeep +0 -0
  223. metadata +456 -0
@@ -0,0 +1,65 @@
1
+ require 'test_helper'
2
+
3
+ class SessionUserTest < ActiveSupport::TestCase
4
+
5
+ def test_create_defaults
6
+ session_user = SessionUser.new(
7
+ :email => 'test@test.com',
8
+ :password => 'password'
9
+ )
10
+ assert session_user.valid?
11
+ assert_equal session_user.email, 'test@test.com'
12
+ assert_equal session_user.password, 'password'
13
+ assert_nil session_user.user
14
+ end
15
+
16
+ def test_create_requirements
17
+ session_user = SessionUser.new
18
+ assert !session_user.valid?
19
+ assert_errors_on session_user, :email, :password
20
+ assert session_user.errors[:email].include?("Please enter your email address")
21
+ assert session_user.errors[:email].include?("The email address you entered is not valid")
22
+ assert session_user.errors[:email].include?("The email address you entered is to short")
23
+ assert session_user.errors[:password].include?("Please choose a password")
24
+ assert session_user.errors[:password].include?("The password you entered is too short (minimum is 4 characters)")
25
+ end
26
+
27
+ def test_successful_authentication
28
+ user = a User
29
+ user.update_attribute(:verified_at, Time.now)
30
+ assert user.is_verified?
31
+
32
+ session_user = SessionUser.create(
33
+ :email => user.email,
34
+ :password => user.password
35
+ )
36
+ assert session_user.valid?
37
+ assert_equal session_user.email, user.email
38
+ assert_equal session_user.password, user.password
39
+ assert_equal session_user.user, user
40
+ end
41
+
42
+ def test_failed_authentication
43
+ user = a User
44
+ session_user = SessionUser.create(
45
+ :email => user.email,
46
+ :password => '-bugus-'
47
+ )
48
+ assert session_user.valid?
49
+ assert_equal session_user.email, user.email
50
+ assert_equal session_user.password, '-bugus-'
51
+ assert_nil session_user.user
52
+ end
53
+
54
+ def test_unverified_email
55
+ user = a User
56
+ assert !user.is_verified?
57
+
58
+ session_user = SessionUser.create(
59
+ :email => user.email,
60
+ :password => user.password
61
+ )
62
+ assert_errors_on session_user, :email
63
+ assert session_user.errors[:email].include?("This email address needs to be verified before you can login. <a href='/resend-email-verification/#{session_user.user.email_verification_key}'>Resend verification</a>")
64
+ end
65
+ end
@@ -0,0 +1,31 @@
1
+ require 'test_helper'
2
+
3
+ class UserActivityTest < ActiveSupport::TestCase
4
+
5
+ def test_create_dummy
6
+ user_activity = a UserActivity
7
+ assert_created user_activity
8
+ end
9
+
10
+ def test_create_requirements
11
+ user_activity = UserActivity.create
12
+ assert_errors_on user_activity, :name, :url
13
+ assert user_activity.errors[:name]
14
+ assert user_activity.errors[:url]
15
+ end
16
+
17
+ def test_active_for_page_scope
18
+ assert_equal [], UserActivity.active_for_page('Test User1', '/admin/users')
19
+ u1 = UserActivity.find_or_create_by_name_and_url(:name => 'Test User1', :url => '/admin/users')
20
+ u2 = UserActivity.find_or_create_by_name_and_url(:name => 'Test User2', :url => '/admin/users')
21
+ assert_equal [u2], UserActivity.active_for_page('Test User1', '/admin/users')
22
+ end
23
+
24
+ def test_set_expiration!
25
+ user_activity = a UserActivity
26
+ assert_not_nil user_activity.expires_at
27
+ user_activity.set_expiration!
28
+ assert (user_activity.expires_at > Time.now)
29
+ end
30
+
31
+ end
@@ -0,0 +1,20 @@
1
+ require 'test_helper'
2
+
3
+ class UserMailerTest < ActionMailer::TestCase
4
+
5
+ def test_password_reset
6
+ user = a User
7
+ user.reset_perishable_token!
8
+ assert_emails 1 do
9
+ response = UserMailer.password_reset(user).deliver.first
10
+
11
+ assert_equal "You have requested a new password", response.headers[:subject]
12
+ assert_equal 2, response.arguments['content'].length
13
+ response.arguments['content'].each do |content_type, body|
14
+ assert_match /#{user.perishable_token}/, body
15
+ end
16
+ assert_equal user.email, response.to[0]
17
+ end
18
+ end
19
+
20
+ end
@@ -0,0 +1,61 @@
1
+ require 'test_helper'
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+
5
+ def test_create_defaults
6
+ user = User.new(
7
+ :email => 'user@example.com',
8
+ :password => 'tester',
9
+ :password_confirmation => 'tester',
10
+ :address => 'street 1',
11
+ :city => 'Burlington',
12
+ :state => 'Vermont',
13
+ :first_name => 'John',
14
+ :last_name => 'Tester'
15
+ )
16
+ user.save
17
+ assert_created user
18
+ end
19
+
20
+ def test_create_requirements
21
+ user = User.create
22
+
23
+ assert_errors_on user, :email, :password, :address, :city, :state, :first_name, :last_name
24
+ assert user.errors[:email].include?("Please enter your email address")
25
+ assert user.errors[:email].include?("The email address you entered is not valid")
26
+ assert user.errors[:email].include?("The email address you entered is to short")
27
+ assert user.errors[:password].include?("Please choose a password")
28
+ assert user.errors[:password].include?("The password you entered is too short (minimum is 4 characters)")
29
+ assert user.errors[:address].include?("Please enter your full address")
30
+ assert user.errors[:city].include?("Please enter your full address")
31
+ assert user.errors[:state].include?("Please enter your full address")
32
+ assert user.is_regular_user?
33
+ end
34
+
35
+ def test_create_dummy
36
+ user = a User
37
+ assert_created user
38
+ end
39
+
40
+ def test_cascade_deletions
41
+ user = a User
42
+ assert_created user
43
+ membership = user.memberships.create_dummy
44
+ assert_created membership
45
+ post = user.posts.create_dummy
46
+ assert_created post
47
+ assert_difference ['User.count', 'Membership.count'], -1 do
48
+ assert_no_difference 'Post.count' do
49
+ user.destroy
50
+ end
51
+ end
52
+ end
53
+
54
+ def test_member_of?
55
+ user = a User
56
+ assert_created user
57
+ membership = user.memberships.create_dummy
58
+ assert user.member_of?(membership.area)
59
+ end
60
+
61
+ end
File without changes
metadata ADDED
@@ -0,0 +1,456 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: open_porch
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.5.0
6
+ platform: ruby
7
+ authors:
8
+ - The Working Group Inc
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-03-22 00:00:00 -06:00
14
+ default_executable: open_porch_engine
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rails
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 3.0.4
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: pg
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - "="
33
+ - !ruby/object:Gem::Version
34
+ version: 0.10.1
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: haml
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - "="
44
+ - !ruby/object:Gem::Version
45
+ version: 3.0.25
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: spatial_adapter
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - "="
55
+ - !ruby/object:Gem::Version
56
+ version: 1.2.0
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: *id004
60
+ - !ruby/object:Gem::Dependency
61
+ name: wristband
62
+ requirement: &id005 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 1.0.4
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: *id005
71
+ - !ruby/object:Gem::Dependency
72
+ name: formatted_form
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 1.0.1
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: *id006
82
+ - !ruby/object:Gem::Dependency
83
+ name: geokit
84
+ requirement: &id007 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - "="
88
+ - !ruby/object:Gem::Version
89
+ version: 1.5.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: *id007
93
+ - !ruby/object:Gem::Dependency
94
+ name: active_link_to
95
+ requirement: &id008 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - "="
99
+ - !ruby/object:Gem::Version
100
+ version: 0.0.6
101
+ type: :runtime
102
+ prerelease: false
103
+ version_requirements: *id008
104
+ - !ruby/object:Gem::Dependency
105
+ name: meta_where
106
+ requirement: &id009 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - "="
110
+ - !ruby/object:Gem::Version
111
+ version: 1.0.1
112
+ type: :runtime
113
+ prerelease: false
114
+ version_requirements: *id009
115
+ - !ruby/object:Gem::Dependency
116
+ name: meta_search
117
+ requirement: &id010 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - "="
121
+ - !ruby/object:Gem::Version
122
+ version: 1.0.1
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: *id010
126
+ - !ruby/object:Gem::Dependency
127
+ name: will_paginate
128
+ requirement: &id011 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 3.0.pre2
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: *id011
137
+ - !ruby/object:Gem::Dependency
138
+ name: whenever
139
+ requirement: &id012 !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - "="
143
+ - !ruby/object:Gem::Version
144
+ version: 0.6.2
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: *id012
148
+ - !ruby/object:Gem::Dependency
149
+ name: postageapp
150
+ requirement: &id013 !ruby/object:Gem::Requirement
151
+ none: false
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: "0"
156
+ type: :runtime
157
+ prerelease: false
158
+ version_requirements: *id013
159
+ description: ""
160
+ email: jack@theworkinggroup.ca
161
+ executables:
162
+ - open_porch_engine
163
+ extensions: []
164
+
165
+ extra_rdoc_files:
166
+ - README.md
167
+ files:
168
+ - Gemfile
169
+ - Gemfile.lock
170
+ - README.md
171
+ - Rakefile
172
+ - VERSION
173
+ - app/controllers/admin/areas/base_controller.rb
174
+ - app/controllers/admin/areas/issues_controller.rb
175
+ - app/controllers/admin/areas/memberships_controller.rb
176
+ - app/controllers/admin/areas/posts_controller.rb
177
+ - app/controllers/admin/areas_controller.rb
178
+ - app/controllers/admin/base_controller.rb
179
+ - app/controllers/admin/user_activity_controller.rb
180
+ - app/controllers/admin/users_controller.rb
181
+ - app/controllers/application_controller.rb
182
+ - app/controllers/areas/base_controller.rb
183
+ - app/controllers/areas/issues_controller.rb
184
+ - app/controllers/areas/posts_controller.rb
185
+ - app/controllers/areas_controller.rb
186
+ - app/controllers/passwords_controller.rb
187
+ - app/controllers/registrations_controller.rb
188
+ - app/controllers/sessions_controller.rb
189
+ - app/controllers/users_controller.rb
190
+ - app/helpers/open_porch_helper.rb
191
+ - app/mailers/user_mailer.rb
192
+ - app/models/address.rb
193
+ - app/models/area.rb
194
+ - app/models/area_activity.rb
195
+ - app/models/email_message.rb
196
+ - app/models/issue.rb
197
+ - app/models/issue_number.rb
198
+ - app/models/membership.rb
199
+ - app/models/post.rb
200
+ - app/models/session_user.rb
201
+ - app/models/user.rb
202
+ - app/models/user_activity.rb
203
+ - app/models/user_authority_check.rb
204
+ - app/views/admin/areas/_form.html.haml
205
+ - app/views/admin/areas/_nav.html.haml
206
+ - app/views/admin/areas/edit.html.haml
207
+ - app/views/admin/areas/edit_borders.html.haml
208
+ - app/views/admin/areas/index.html.haml
209
+ - app/views/admin/areas/issues/_post.html.haml
210
+ - app/views/admin/areas/issues/add_posts.js.rjs
211
+ - app/views/admin/areas/issues/edit.html.haml
212
+ - app/views/admin/areas/issues/index.html.haml
213
+ - app/views/admin/areas/issues/remove_posts.js.rjs
214
+ - app/views/admin/areas/issues/show.html.haml
215
+ - app/views/admin/areas/memberships/index.html.haml
216
+ - app/views/admin/areas/new.html.haml
217
+ - app/views/admin/areas/new.js.haml
218
+ - app/views/admin/areas/posts/_edit.html.haml
219
+ - app/views/admin/areas/posts/_post_status.html.haml
220
+ - app/views/admin/areas/posts/destroy.js.rjs
221
+ - app/views/admin/areas/posts/edit.js.rjs
222
+ - app/views/admin/areas/posts/show.js.rjs
223
+ - app/views/admin/areas/posts/toggle_reviewed_by.js.rjs
224
+ - app/views/admin/areas/posts/update.js.rjs
225
+ - app/views/admin/areas/show.html.haml
226
+ - app/views/admin/user_activity/show.html.haml
227
+ - app/views/admin/users/_form.html.haml
228
+ - app/views/admin/users/edit.html.haml
229
+ - app/views/admin/users/index.html.haml
230
+ - app/views/admin/users/new.html.haml
231
+ - app/views/areas/issues/index.html.haml
232
+ - app/views/areas/issues/show.html.haml
233
+ - app/views/areas/posts/_post.html.haml
234
+ - app/views/areas/posts/_posts_search_form.html.haml
235
+ - app/views/areas/posts/index.html.haml
236
+ - app/views/areas/posts/new.html.haml
237
+ - app/views/areas/show.html.haml
238
+ - app/views/layouts/_account_nav.html.haml
239
+ - app/views/layouts/_flash_message.html.haml
240
+ - app/views/layouts/_footer.html.haml
241
+ - app/views/layouts/_head.html.haml
242
+ - app/views/layouts/admin.html.haml
243
+ - app/views/layouts/admin/_nav.html.haml
244
+ - app/views/layouts/application.html.haml
245
+ - app/views/layouts/area_editor.html.haml
246
+ - app/views/passwords/edit.html.haml
247
+ - app/views/passwords/new.html.haml
248
+ - app/views/registrations/_address_form.html.haml
249
+ - app/views/registrations/create.html.haml
250
+ - app/views/registrations/index.html.haml
251
+ - app/views/registrations/new.html.haml
252
+ - app/views/sessions/new.html.haml
253
+ - app/views/stylesheets/common.sass
254
+ - app/views/stylesheets/content.sass
255
+ - app/views/stylesheets/reset.sass
256
+ - app/views/stylesheets/structure.sass
257
+ - app/views/stylesheets/typography.sass
258
+ - app/views/user_mailer/email_verification.html.erb
259
+ - app/views/user_mailer/email_verification.text.erb
260
+ - app/views/user_mailer/new_issue.html.erb
261
+ - app/views/user_mailer/new_issue.text.erb
262
+ - app/views/user_mailer/password_reset.html.erb
263
+ - app/views/user_mailer/password_reset.text.erb
264
+ - app/views/users/_form.html.haml
265
+ - app/views/users/edit.html.haml
266
+ - app/views/users/new.html.haml
267
+ - app/views/users/show.html.haml
268
+ - bin/open_porch_engine
269
+ - config.ru
270
+ - config/application.rb
271
+ - config/boot.rb
272
+ - config/database_example.yml
273
+ - config/environment.rb
274
+ - config/environments/development.rb
275
+ - config/environments/production.rb
276
+ - config/environments/test.rb
277
+ - config/initializers/backtrace_silencers.rb
278
+ - config/initializers/email_regex.rb
279
+ - config/initializers/geokit_config.rb
280
+ - config/initializers/inflections.rb
281
+ - config/initializers/meta_search.rb
282
+ - config/initializers/mime_types.rb
283
+ - config/initializers/open_porch.rb
284
+ - config/initializers/sass.rb
285
+ - config/initializers/secret_token.rb
286
+ - config/initializers/session_store.rb
287
+ - config/initializers/states_provinces.rb
288
+ - config/initializers/will_paginate.rb
289
+ - config/locales/en.yml
290
+ - config/open_porch_example.yml
291
+ - config/routes.rb
292
+ - config/schedule.rb
293
+ - db/migrate/01_create_areas.rb
294
+ - db/migrate/02_create_users.rb
295
+ - db/migrate/03_create_memberships.rb
296
+ - db/migrate/04_create_posts.rb
297
+ - db/migrate/05_create_issue_numbers.rb
298
+ - db/migrate/06_create_issues.rb
299
+ - db/migrate/20110204173301_add_published_to_areas.rb
300
+ - db/migrate/20110204194840_create_user_activities.rb
301
+ - db/migrate/20110208163604_add_zip_to_areas.rb
302
+ - db/migrate/20110209175723_add_counters_to_areas.rb
303
+ - db/migrate/20110209182244_remove_subject_from_issues.rb
304
+ - db/migrate/20110209190146_add_reviewer_info_to_posts.rb
305
+ - db/migrate/20110215173144_add_email_validation_key_to_users.rb
306
+ - db/migrate/20110215182716_remove_published_from_areas.rb
307
+ - db/migrate/20110215211012_create_area_activities.rb
308
+ - db/migrate/20110215213802_create_email_messages.rb
309
+ - db/migrate/20110217165018_change_send_mode_to_string.rb
310
+ - db/migrate/20110223160609_denormalize_user_info_in_posts.rb
311
+ - db/seeds.rb
312
+ - doc/README_FOR_APP
313
+ - lib/generators/open_porch_generator.rb
314
+ - lib/open_porch.rb
315
+ - lib/open_porch/engine.rb
316
+ - lib/tasks/.gitkeep
317
+ - lib/tasks/open_porch.rake
318
+ - lib/tasks/postageapp_tasks.rake
319
+ - open_porch.gemspec
320
+ - public/404.html
321
+ - public/422.html
322
+ - public/500.html
323
+ - public/favicon.ico
324
+ - public/images/icons/ajax-loader.gif
325
+ - public/images/icons/calendar.png
326
+ - public/images/icons/post_new.png
327
+ - public/images/icons/post_reviewed.png
328
+ - public/javascripts/application.js
329
+ - public/javascripts/google_maps.js
330
+ - public/javascripts/highcharts.js
331
+ - public/javascripts/highcharts_init.js
332
+ - public/javascripts/issue_edit.js
333
+ - public/javascripts/jquery-ui.min.js
334
+ - public/javascripts/jquery.js
335
+ - public/javascripts/rails.js
336
+ - public/javascripts/region_editor.js
337
+ - public/javascripts/user_activity.js
338
+ - public/robots.txt
339
+ - public/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png
340
+ - public/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png
341
+ - public/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png
342
+ - public/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png
343
+ - public/stylesheets/images/ui-bg_glass_75_dadada_1x400.png
344
+ - public/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png
345
+ - public/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png
346
+ - public/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png
347
+ - public/stylesheets/images/ui-icons_222222_256x240.png
348
+ - public/stylesheets/images/ui-icons_2e83ff_256x240.png
349
+ - public/stylesheets/images/ui-icons_454545_256x240.png
350
+ - public/stylesheets/images/ui-icons_888888_256x240.png
351
+ - public/stylesheets/images/ui-icons_cd0a0a_256x240.png
352
+ - public/stylesheets/jquery-ui.css
353
+ - script/rails
354
+ - test/dummy/area.rb
355
+ - test/dummy/area_activity.rb
356
+ - test/dummy/issue.rb
357
+ - test/dummy/membership.rb
358
+ - test/dummy/post.rb
359
+ - test/dummy/user.rb
360
+ - test/dummy/user_activity.rb
361
+ - test/functional/admin/areas/issues_controller_test.rb
362
+ - test/functional/admin/areas/memberships_controller_test.rb
363
+ - test/functional/admin/areas/posts_controller_test.rb
364
+ - test/functional/admin/areas_controller_test.rb
365
+ - test/functional/admin/base_controller_test.rb
366
+ - test/functional/admin/user_activity_controller_test.rb
367
+ - test/functional/admin/users_controller_test.rb
368
+ - test/functional/areas/issues_controller_test.rb
369
+ - test/functional/areas/posts_controller_test.rb
370
+ - test/functional/areas_controller_test.rb
371
+ - test/functional/passwords_controller_test.rb
372
+ - test/functional/registrations_controller_test.rb
373
+ - test/functional/sessions_controller_test.rb
374
+ - test/functional/users_controller_test.rb
375
+ - test/performance/browsing_test.rb
376
+ - test/test_helper.rb
377
+ - test/unit/address_test.rb
378
+ - test/unit/area_activity_test.rb
379
+ - test/unit/area_test.rb
380
+ - test/unit/email_message_test.rb
381
+ - test/unit/issue_number_test.rb
382
+ - test/unit/issue_test.rb
383
+ - test/unit/membership_test.rb
384
+ - test/unit/post_test.rb
385
+ - test/unit/session_user_test.rb
386
+ - test/unit/user_activity_test.rb
387
+ - test/unit/user_mailer_test.rb
388
+ - test/unit/user_test.rb
389
+ - vendor/plugins/.gitkeep
390
+ has_rdoc: true
391
+ homepage: http://github.com/FrontPorchForum/open_porch
392
+ licenses:
393
+ - MIT
394
+ post_install_message:
395
+ rdoc_options: []
396
+
397
+ require_paths:
398
+ - lib
399
+ required_ruby_version: !ruby/object:Gem::Requirement
400
+ none: false
401
+ requirements:
402
+ - - ">="
403
+ - !ruby/object:Gem::Version
404
+ hash: 3613787567784704505
405
+ segments:
406
+ - 0
407
+ version: "0"
408
+ required_rubygems_version: !ruby/object:Gem::Requirement
409
+ none: false
410
+ requirements:
411
+ - - ">="
412
+ - !ruby/object:Gem::Version
413
+ version: "0"
414
+ requirements: []
415
+
416
+ rubyforge_project:
417
+ rubygems_version: 1.5.2
418
+ signing_key:
419
+ specification_version: 3
420
+ summary: Open Porch is Rails Engine
421
+ test_files:
422
+ - test/dummy/area.rb
423
+ - test/dummy/area_activity.rb
424
+ - test/dummy/issue.rb
425
+ - test/dummy/membership.rb
426
+ - test/dummy/post.rb
427
+ - test/dummy/user.rb
428
+ - test/dummy/user_activity.rb
429
+ - test/functional/admin/areas/issues_controller_test.rb
430
+ - test/functional/admin/areas/memberships_controller_test.rb
431
+ - test/functional/admin/areas/posts_controller_test.rb
432
+ - test/functional/admin/areas_controller_test.rb
433
+ - test/functional/admin/base_controller_test.rb
434
+ - test/functional/admin/user_activity_controller_test.rb
435
+ - test/functional/admin/users_controller_test.rb
436
+ - test/functional/areas/issues_controller_test.rb
437
+ - test/functional/areas/posts_controller_test.rb
438
+ - test/functional/areas_controller_test.rb
439
+ - test/functional/passwords_controller_test.rb
440
+ - test/functional/registrations_controller_test.rb
441
+ - test/functional/sessions_controller_test.rb
442
+ - test/functional/users_controller_test.rb
443
+ - test/performance/browsing_test.rb
444
+ - test/test_helper.rb
445
+ - test/unit/address_test.rb
446
+ - test/unit/area_activity_test.rb
447
+ - test/unit/area_test.rb
448
+ - test/unit/email_message_test.rb
449
+ - test/unit/issue_number_test.rb
450
+ - test/unit/issue_test.rb
451
+ - test/unit/membership_test.rb
452
+ - test/unit/post_test.rb
453
+ - test/unit/session_user_test.rb
454
+ - test/unit/user_activity_test.rb
455
+ - test/unit/user_mailer_test.rb
456
+ - test/unit/user_test.rb