savage-beast 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.
- data/.gitignore +2 -0
- data/README.rdoc +42 -0
- data/Rakefile +25 -0
- data/VERSION +1 -0
- data/app/controllers/application.rb +6 -0
- data/app/controllers/beast_application_controller.rb +3 -0
- data/app/controllers/forums_controller.rb +64 -0
- data/app/controllers/moderators_controller.rb +10 -0
- data/app/controllers/monitorships_controller.rb +22 -0
- data/app/controllers/posts_controller.rb +134 -0
- data/app/controllers/topics_controller.rb +110 -0
- data/app/helpers/count_helper.rb +13 -0
- data/app/helpers/forums_helper.rb +15 -0
- data/app/helpers/moderators_helper.rb +2 -0
- data/app/helpers/monitorships_helper.rb +2 -0
- data/app/helpers/posts_helper.rb +3 -0
- data/app/helpers/topics_helper.rb +3 -0
- data/app/models/forum.rb +26 -0
- data/app/models/moderatorship.rb +6 -0
- data/app/models/monitorship.rb +5 -0
- data/app/models/monitorships_sweeper.rb +9 -0
- data/app/models/post.rb +33 -0
- data/app/models/posts_sweeper.rb +12 -0
- data/app/models/topic.rb +94 -0
- data/app/views/forums/_form.html.erb +21 -0
- data/app/views/forums/edit.html.erb +12 -0
- data/app/views/forums/index.html.erb +77 -0
- data/app/views/forums/new.html.erb +10 -0
- data/app/views/forums/show.html.erb +94 -0
- data/app/views/layouts/_head.html.erb +34 -0
- data/app/views/layouts/_post.rss.builder +9 -0
- data/app/views/layouts/application.html.erb +29 -0
- data/app/views/layouts/beast.html.erb +29 -0
- data/app/views/monitorships/create.js.rjs +4 -0
- data/app/views/monitorships/destroy.js.rjs +4 -0
- data/app/views/posts/_edit.html.erb +38 -0
- data/app/views/posts/edit.html.erb +14 -0
- data/app/views/posts/edit.js.rjs +6 -0
- data/app/views/posts/index.html.erb +53 -0
- data/app/views/posts/index.rss.builder +20 -0
- data/app/views/posts/monitored.html.erb +55 -0
- data/app/views/posts/monitored.rss.builder +15 -0
- data/app/views/posts/update.js.rjs +3 -0
- data/app/views/topics/_form.html.erb +28 -0
- data/app/views/topics/edit.html.erb +10 -0
- data/app/views/topics/index.html.erb +2 -0
- data/app/views/topics/new.html.erb +18 -0
- data/app/views/topics/show.html.erb +183 -0
- data/app/views/topics/show.rss.builder +16 -0
- data/config/routes.rb +18 -0
- data/generators/beast/beast_generator.rb +88 -0
- data/generators/beast/templates/migrations/create_savage_tables.rb +73 -0
- data/generators/beast/templates/public/images/clearbits/_readme.txt +12 -0
- data/generators/beast/templates/public/images/clearbits/add.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/addressbook.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/alert.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/apple.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow1_e.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow1_n.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow1_ne.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow1_nw.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow1_s.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow1_se.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow1_sw.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow1_w.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow2_e.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow2_n.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow2_ne.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow2_nw.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow2_s.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow2_se.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow2_sw.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow2_w.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow3_e.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow3_n.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow3_ne.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow3_nw.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow3_s.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow3_se.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow3_sw.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/arrow3_w.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/ascii.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/back.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bg_blank.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bg_circle.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bg_rounded.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bg_rounded_ne.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bg_rounded_nw.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bg_rounded_se.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bg_rounded_sw.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bigsmile.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/binary.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/blah.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/bstop.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/buy.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/calday.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/calendar.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/camera.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/cart.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/cd.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/cellphone.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/chat.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/check.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/close.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/comment.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/cube.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/day.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/denied.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/document.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/download.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/edit.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/eject.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/equalizer.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/first.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/flag.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/flash.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/folder.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/forward.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/frown.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/ftp.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/graph.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/heart.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/home.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/html.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/ipod.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/last.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/lock.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/loop.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/mail.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/man.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/manman.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/music.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/mute.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/mute_centered.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/newwindow.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/next.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/night.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/open.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/pause.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/phone.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/play.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/previous.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/quicktime.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/redo.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/reload.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/sad.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/save.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/scream.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/search.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/seconds.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/smile.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/smirk.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/star.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/stop.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/subtract.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/switch.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/target.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/tcp.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/time.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/toggle.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/tongue.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/tools.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/trackback.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/trash.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/tv.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/type.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/undo.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/unlock.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/upload.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/user.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/video.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/volume_high.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/volume_low.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/wifi.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/window.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/woman.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/womanman.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/work.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/zoomin.gif +0 -0
- data/generators/beast/templates/public/images/clearbits/zoomout.gif +0 -0
- data/generators/beast/templates/public/images/feed-icon.png +0 -0
- data/generators/beast/templates/public/images/rails.png +0 -0
- data/generators/beast/templates/public/images/reply_background.png +0 -0
- data/generators/beast/templates/public/images/small_circle.gif +0 -0
- data/generators/beast/templates/public/images/spinner.gif +0 -0
- data/generators/beast/templates/public/images/spinner_black.gif +0 -0
- data/generators/beast/templates/public/images/spinner_bounce.gif +0 -0
- data/generators/beast/templates/public/javascripts/beast.js +80 -0
- data/generators/beast/templates/public/stylesheets/display.css +941 -0
- data/lang/en.yml +206 -0
- data/lib/beast.rb +79 -0
- data/lib/savage_beast/application_helper.rb +91 -0
- data/lib/savage_beast/authentication_system.rb +47 -0
- data/lib/savage_beast/user_init.rb +79 -0
- data/lib/tasks/capistrano.rake +90 -0
- data/lib/tasks/deploy_edge.rake +44 -0
- data/lib/tasks/savage_beast.rake +133 -0
- data/po/beast.pot +712 -0
- data/po/nl/beast.po +700 -0
- data/tested_plugins/acts_as_list/README +23 -0
- data/tested_plugins/acts_as_list/init.rb +3 -0
- data/tested_plugins/acts_as_list/lib/active_record/acts/list.rb +256 -0
- data/tested_plugins/acts_as_list/test/list_test.rb +332 -0
- data/tested_plugins/gibberish/LICENSE +18 -0
- data/tested_plugins/gibberish/README +118 -0
- data/tested_plugins/gibberish/Rakefile +14 -0
- data/tested_plugins/gibberish/init.rb +3 -0
- data/tested_plugins/gibberish/lang/es.yml +3 -0
- data/tested_plugins/gibberish/lang/fr.yml +3 -0
- data/tested_plugins/gibberish/lib/gibberish.rb +8 -0
- data/tested_plugins/gibberish/lib/gibberish/localize.rb +88 -0
- data/tested_plugins/gibberish/lib/gibberish/string_ext.rb +17 -0
- data/tested_plugins/gibberish/test/gibberish_test.rb +203 -0
- data/tested_plugins/gibberish/test/lang/es.yml +1 -0
- data/tested_plugins/gibberish/test/lang/fr.yml +1 -0
- data/tested_plugins/mislav-will_paginate/CHANGELOG.rdoc +110 -0
- data/tested_plugins/mislav-will_paginate/LICENSE +18 -0
- data/tested_plugins/mislav-will_paginate/README.rdoc +107 -0
- data/tested_plugins/mislav-will_paginate/Rakefile +53 -0
- data/tested_plugins/mislav-will_paginate/examples/apple-circle.gif +0 -0
- data/tested_plugins/mislav-will_paginate/examples/index.haml +69 -0
- data/tested_plugins/mislav-will_paginate/examples/index.html +92 -0
- data/tested_plugins/mislav-will_paginate/examples/pagination.css +90 -0
- data/tested_plugins/mislav-will_paginate/examples/pagination.sass +91 -0
- data/tested_plugins/mislav-will_paginate/init.rb +1 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate.rb +78 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate/array.rb +16 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate/collection.rb +146 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate/core_ext.rb +32 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate/finder.rb +264 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate/named_scope.rb +170 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate/named_scope_patch.rb +37 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate/version.rb +9 -0
- data/tested_plugins/mislav-will_paginate/lib/will_paginate/view_helpers.rb +402 -0
- data/tested_plugins/mislav-will_paginate/test/boot.rb +21 -0
- data/tested_plugins/mislav-will_paginate/test/collection_test.rb +143 -0
- data/tested_plugins/mislav-will_paginate/test/console +8 -0
- data/tested_plugins/mislav-will_paginate/test/database.yml +22 -0
- data/tested_plugins/mislav-will_paginate/test/finder_test.rb +476 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/admin.rb +3 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/developer.rb +14 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/developers_projects.yml +13 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/project.rb +15 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/projects.yml +6 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/replies.yml +29 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/reply.rb +7 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/schema.rb +38 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/topic.rb +10 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/topics.yml +30 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/user.rb +2 -0
- data/tested_plugins/mislav-will_paginate/test/fixtures/users.yml +35 -0
- data/tested_plugins/mislav-will_paginate/test/helper.rb +40 -0
- data/tested_plugins/mislav-will_paginate/test/lib/activerecord_test_case.rb +43 -0
- data/tested_plugins/mislav-will_paginate/test/lib/activerecord_test_connector.rb +75 -0
- data/tested_plugins/mislav-will_paginate/test/lib/load_fixtures.rb +11 -0
- data/tested_plugins/mislav-will_paginate/test/lib/view_test_process.rb +178 -0
- data/tested_plugins/mislav-will_paginate/test/tasks.rake +59 -0
- data/tested_plugins/mislav-will_paginate/test/view_test.rb +365 -0
- data/tested_plugins/white_list/README +29 -0
- data/tested_plugins/white_list/Rakefile +22 -0
- data/tested_plugins/white_list/init.rb +2 -0
- data/tested_plugins/white_list/lib/white_list_helper.rb +97 -0
- data/tested_plugins/white_list/test/white_list_test.rb +132 -0
- data/tested_plugins/white_list_formatted_content/init.rb +27 -0
- metadata +322 -0
@@ -0,0 +1,90 @@
|
|
1
|
+
# =============================================================================
|
2
|
+
# A set of rake tasks for invoking the Capistrano automation utility.
|
3
|
+
# =============================================================================
|
4
|
+
|
5
|
+
# Invoke the given actions via Capistrano
|
6
|
+
def cap(*parameters)
|
7
|
+
begin
|
8
|
+
require 'rubygems'
|
9
|
+
rescue LoadError
|
10
|
+
# no rubygems to load, so we fail silently
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'capistrano/cli'
|
14
|
+
|
15
|
+
Capistrano::CLI.new(parameters.map { |param| param.to_s }).execute!
|
16
|
+
end
|
17
|
+
|
18
|
+
namespace :remote do
|
19
|
+
desc "Removes unused releases from the releases directory."
|
20
|
+
task(:cleanup) { cap :cleanup }
|
21
|
+
|
22
|
+
desc "Used only for deploying when the spinner isn't running."
|
23
|
+
task(:cold_deploy) { cap :cold_deploy }
|
24
|
+
|
25
|
+
desc "A macro-task that updates the code, fixes the symlink, and restarts the application servers."
|
26
|
+
task(:deploy) { cap :deploy }
|
27
|
+
|
28
|
+
desc "Similar to deploy, but it runs the migrate task on the new release before updating the symlink."
|
29
|
+
task(:deploy_with_migrations) { cap :deploy_with_migrations }
|
30
|
+
|
31
|
+
desc "Displays the diff between HEAD and what was last deployed."
|
32
|
+
task(:diff_from_last_deploy) { cap :diff_from_last_deploy }
|
33
|
+
|
34
|
+
desc "Disable the web server by writing a \"maintenance.html\" file to the web servers."
|
35
|
+
task(:disable_web) { cap :disable_web }
|
36
|
+
|
37
|
+
desc "Re-enable the web server by deleting any \"maintenance.html\" file."
|
38
|
+
task(:enable_web) { cap :enable_web }
|
39
|
+
|
40
|
+
desc "A simple task for performing one-off commands that may not require a full task to be written for them."
|
41
|
+
task(:invoke) { cap :invoke }
|
42
|
+
|
43
|
+
desc "Run the migrate rake task."
|
44
|
+
task(:migrate) { cap :migrate }
|
45
|
+
|
46
|
+
desc "Restart the FCGI processes on the app server."
|
47
|
+
task(:restart) { cap :restart }
|
48
|
+
|
49
|
+
desc "A macro-task that rolls back the code and restarts the application servers."
|
50
|
+
task(:rollback) { cap :rollback }
|
51
|
+
|
52
|
+
desc "Rollback the latest checked-out version to the previous one by fixing the symlinks and deleting the current release from all servers."
|
53
|
+
task(:rollback_code) { cap :rollback_code }
|
54
|
+
|
55
|
+
desc "Set up the expected application directory structure on all boxes"
|
56
|
+
task(:setup) { cap :setup }
|
57
|
+
|
58
|
+
desc "Enumerate and describe every available task."
|
59
|
+
task(:show_tasks) { cap :show_tasks, '-q' }
|
60
|
+
|
61
|
+
desc "Start the spinner daemon for the application (requires script/spin)."
|
62
|
+
task(:spinner) { cap :spinner }
|
63
|
+
|
64
|
+
desc "Update the 'current' symlink to point to the latest version of the application's code."
|
65
|
+
task(:symlink) { cap :symlink }
|
66
|
+
|
67
|
+
desc "Update all servers with the latest release of the source code."
|
68
|
+
task(:update_code) { cap :update_code }
|
69
|
+
|
70
|
+
desc "Update the currently released version of the software directly via an SCM update operation"
|
71
|
+
task(:update_current) { cap :update_current }
|
72
|
+
|
73
|
+
desc "Execute a specific action using capistrano"
|
74
|
+
task :exec do
|
75
|
+
unless ENV['ACTION']
|
76
|
+
raise "Please specify an action (or comma separated list of actions) via the ACTION environment variable"
|
77
|
+
end
|
78
|
+
|
79
|
+
actions = ENV['ACTION'].split(",")
|
80
|
+
actions.concat(ENV['PARAMS'].split(" ")) if ENV['PARAMS']
|
81
|
+
|
82
|
+
cap(*actions)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
desc "Push the latest revision into production (delegates to remote:deploy)"
|
87
|
+
task :deploy => "remote:deploy"
|
88
|
+
|
89
|
+
desc "Rollback to the release before the current release in production (delegates to remote:rollback)"
|
90
|
+
task :rollback => "remote:rollback"
|
@@ -0,0 +1,44 @@
|
|
1
|
+
desc "freeze rails edge"
|
2
|
+
task :deploy_edge do
|
3
|
+
ENV['SHARED_PATH'] = '../../shared' unless ENV['SHARED_PATH']
|
4
|
+
ENV['RAILS_PATH'] ||= File.join(ENV['SHARED_PATH'], 'rails')
|
5
|
+
ENV['REPO_BRANCH'] ||= 'trunk'
|
6
|
+
|
7
|
+
checkout_path = File.join(ENV['RAILS_PATH'], 'trunk')
|
8
|
+
export_path = "#{ENV['RAILS_PATH']}/rev_#{ENV['REVISION']}"
|
9
|
+
symlink_path = 'vendor/rails'
|
10
|
+
|
11
|
+
# do we need to checkout the file?
|
12
|
+
unless File.exists?(checkout_path)
|
13
|
+
puts 'setting up rails trunk'
|
14
|
+
get_framework_for checkout_path do |framework|
|
15
|
+
system "svn co http://svn.rubyonrails.org/rails/#{ENV['REPO_BRANCH']}/#{framework}/lib #{checkout_path}/#{framework}/lib --quiet"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# do we need to export the revision?
|
20
|
+
unless File.exists?(export_path)
|
21
|
+
puts "setting up rails rev #{ENV['REVISION']}"
|
22
|
+
get_framework_for export_path do |framework|
|
23
|
+
system "svn up #{checkout_path}/#{framework}/lib -r #{ENV['REVISION']} --quiet"
|
24
|
+
system "svn export #{checkout_path}/#{framework}/lib #{export_path}/#{framework}/lib"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
puts 'linking rails'
|
29
|
+
rm_rf symlink_path
|
30
|
+
mkdir_p symlink_path
|
31
|
+
|
32
|
+
get_framework_for symlink_path do |framework|
|
33
|
+
ln_s File.expand_path("#{export_path}/#{framework}/lib"), "#{symlink_path}/#{framework}/lib"
|
34
|
+
end
|
35
|
+
|
36
|
+
touch "vendor/rails_#{ENV['REVISION']}"
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_framework_for(*paths)
|
40
|
+
%w( railties actionpack activerecord actionmailer activesupport activeresource ).each do |framework|
|
41
|
+
paths.each { |path| mkdir_p "#{path}/#{framework}" }
|
42
|
+
yield framework
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,133 @@
|
|
1
|
+
require 'active_record'
|
2
|
+
|
3
|
+
#require File.join(File.dirname(__FILE__), '../task_util')
|
4
|
+
#include TaskUtil
|
5
|
+
|
6
|
+
SAVAGE_BEAST_BASE_DIR = File.join(File.dirname(__FILE__), "../..")
|
7
|
+
|
8
|
+
namespace :savage_beast do
|
9
|
+
desc "Add database tables for bloggity"
|
10
|
+
task :bootstrap_db => :environment do
|
11
|
+
CreateSavageTables.up
|
12
|
+
puts "Savage Beast tables created successfully!"
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "Copy the stylesheets and Javascripts used natively by bloggity into host app's public directory"
|
16
|
+
task :bootstrap_assets => :environment do
|
17
|
+
destination_root = RAILS_ROOT + "/public/"
|
18
|
+
%w(stylesheets images).each{|asset|
|
19
|
+
destination_path = destination_root + asset
|
20
|
+
FileUtils.mkpath(destination_path) unless File.exists?(destination_path)
|
21
|
+
FileUtils.mkpath(destination_path + "/savage_beast") unless File.exists?(destination_path + "/savage_beast")
|
22
|
+
|
23
|
+
Dir[File.join(SAVAGE_BEAST_BASE_DIR, 'public', asset, '*')].each do |f|
|
24
|
+
FileUtils.cp_r(f, File.expand_path(File.join(destination_root, asset, 'savage_beast')))
|
25
|
+
end
|
26
|
+
}
|
27
|
+
puts "Files successfully copied!"
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
=begin
|
32
|
+
desc "Run all Bloggity tests"
|
33
|
+
task :run_tests => :environment do
|
34
|
+
Rake::Task['bloggity:test:blog_posts'].invoke
|
35
|
+
Rake::Task['bloggity:test:blog_post'].invoke
|
36
|
+
end
|
37
|
+
|
38
|
+
desc "Run a Bloggity test"
|
39
|
+
rule "" do |t|
|
40
|
+
# test:file:method
|
41
|
+
if /bloggity\:test:(.*)(:([^.]+))?$/.match(t.name)
|
42
|
+
arguments = t.name.split(":")[1..-1]
|
43
|
+
arguments.delete("test")
|
44
|
+
file_name = arguments.first
|
45
|
+
test_name = arguments[1..-1]
|
46
|
+
|
47
|
+
if File.exist?(BLOGGITY_BASE_DIR + "/test/unit/#{file_name}_test.rb")
|
48
|
+
run_file_name = "unit/#{file_name}_test.rb"
|
49
|
+
elsif File.exist?(BLOGGITY_BASE_DIR + "/test/functional/#{file_name}_controller_test.rb")
|
50
|
+
run_file_name = "functional/#{file_name}_controller_test.rb"
|
51
|
+
elsif File.exist?(BLOGGITY_BASE_DIR + "/test/functional/#{file_name}_test.rb")
|
52
|
+
run_file_name = "functional/#{file_name}_test.rb"
|
53
|
+
end
|
54
|
+
|
55
|
+
sh "ruby -Ilib:test #{BLOGGITY_BASE_DIR}/test/#{run_file_name} -n /#{test_name}/"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
=end
|
59
|
+
end
|
60
|
+
|
61
|
+
class CreateSavageTables < ActiveRecord::Migration
|
62
|
+
def self.up
|
63
|
+
create_table "forums" do |t|
|
64
|
+
t.string "name"
|
65
|
+
t.string "description"
|
66
|
+
t.integer "topics_count", :default => 0
|
67
|
+
t.integer "posts_count", :default => 0
|
68
|
+
t.integer "position"
|
69
|
+
t.text "description_html"
|
70
|
+
end
|
71
|
+
|
72
|
+
create_table "moderatorships" do |t|
|
73
|
+
t.integer "forum_id"
|
74
|
+
t.integer "user_id"
|
75
|
+
end
|
76
|
+
|
77
|
+
add_index "moderatorships", ["forum_id"], :name => "index_moderatorships_on_forum_id"
|
78
|
+
|
79
|
+
create_table "monitorships" do |t|
|
80
|
+
t.integer "topic_id"
|
81
|
+
t.integer "user_id"
|
82
|
+
t.boolean "active", :default => true
|
83
|
+
end
|
84
|
+
|
85
|
+
create_table "posts" do |t|
|
86
|
+
t.integer "user_id"
|
87
|
+
t.integer "topic_id"
|
88
|
+
t.text "body"
|
89
|
+
t.datetime "created_at"
|
90
|
+
t.datetime "updated_at"
|
91
|
+
t.integer "forum_id"
|
92
|
+
t.text "body_html"
|
93
|
+
end
|
94
|
+
|
95
|
+
add_index "posts", ["forum_id", "created_at"], :name => "index_posts_on_forum_id"
|
96
|
+
add_index "posts", ["user_id", "created_at"], :name => "index_posts_on_user_id"
|
97
|
+
add_index "posts", ["topic_id", "created_at"], :name => "index_posts_on_topic_id"
|
98
|
+
|
99
|
+
create_table "topics" do |t|
|
100
|
+
t.integer "forum_id"
|
101
|
+
t.integer "user_id"
|
102
|
+
t.string "title"
|
103
|
+
t.datetime "created_at"
|
104
|
+
t.datetime "updated_at"
|
105
|
+
t.integer "hits", :default => 0
|
106
|
+
t.integer "sticky", :default => 0
|
107
|
+
t.integer "posts_count", :default => 0
|
108
|
+
t.datetime "replied_at"
|
109
|
+
t.boolean "locked", :default => false
|
110
|
+
t.integer "replied_by"
|
111
|
+
t.integer "last_post_id"
|
112
|
+
end
|
113
|
+
|
114
|
+
add_index "topics", ["forum_id"], :name => "index_topics_on_forum_id"
|
115
|
+
add_index "topics", ["forum_id", "sticky", "replied_at"], :name => "index_topics_on_sticky_and_replied_at"
|
116
|
+
add_index "topics", ["forum_id", "replied_at"], :name => "index_topics_on_forum_id_and_replied_at"
|
117
|
+
|
118
|
+
add_column :users, :posts_count, :integer, :default => 0
|
119
|
+
add_column :users, :last_seen_at, :datetime
|
120
|
+
end
|
121
|
+
|
122
|
+
def self.down
|
123
|
+
remove_column :users, :posts_count
|
124
|
+
remove_column :users, :last_seen_at
|
125
|
+
|
126
|
+
drop_table :topics
|
127
|
+
drop_table :posts
|
128
|
+
drop_table :monitorships
|
129
|
+
drop_table :moderatorships
|
130
|
+
drop_table :forums
|
131
|
+
end
|
132
|
+
|
133
|
+
end
|
data/po/beast.pot
ADDED
@@ -0,0 +1,712 @@
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
3
|
+
# This file is distributed under the same license as the PACKAGE package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
5
|
+
#
|
6
|
+
#, fuzzy
|
7
|
+
msgid ""
|
8
|
+
msgstr ""
|
9
|
+
"Project-Id-Version: beast 1.0.0\n"
|
10
|
+
"POT-Creation-Date: 2007-01-25 23:08+0100\n"
|
11
|
+
"PO-Revision-Date: 2007-01-25 22:22+0100\n"
|
12
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13
|
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14
|
+
"MIME-Version: 1.0\n"
|
15
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
16
|
+
"Content-Transfer-Encoding: 8bit\n"
|
17
|
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
18
|
+
|
19
|
+
#: app/models/forum.rb:-
|
20
|
+
msgid "forum"
|
21
|
+
msgstr ""
|
22
|
+
|
23
|
+
#: app/models/forum.rb:-
|
24
|
+
msgid "Forum|Name"
|
25
|
+
msgstr ""
|
26
|
+
|
27
|
+
#: app/models/forum.rb:-
|
28
|
+
msgid "Forum|Description"
|
29
|
+
msgstr ""
|
30
|
+
|
31
|
+
#: app/models/forum.rb:-
|
32
|
+
msgid "Forum|Topics count"
|
33
|
+
msgstr ""
|
34
|
+
|
35
|
+
#: app/models/forum.rb:-
|
36
|
+
msgid "Forum|Posts count"
|
37
|
+
msgstr ""
|
38
|
+
|
39
|
+
#: app/models/forum.rb:-
|
40
|
+
msgid "Forum|Position"
|
41
|
+
msgstr ""
|
42
|
+
|
43
|
+
#: app/models/forum.rb:-
|
44
|
+
msgid "Forum|Description html"
|
45
|
+
msgstr ""
|
46
|
+
|
47
|
+
#: app/models/moderatorship.rb:-
|
48
|
+
msgid "moderatorship"
|
49
|
+
msgstr ""
|
50
|
+
|
51
|
+
#: app/models/moderatorship.rb:-
|
52
|
+
msgid "Moderatorship|Forum"
|
53
|
+
msgstr ""
|
54
|
+
|
55
|
+
#: app/models/moderatorship.rb:-
|
56
|
+
msgid "Moderatorship|User"
|
57
|
+
msgstr ""
|
58
|
+
|
59
|
+
#: app/models/monitorship.rb:-
|
60
|
+
msgid "monitorship"
|
61
|
+
msgstr ""
|
62
|
+
|
63
|
+
#: app/models/post.rb:- app/views/forums/show.rhtml:34
|
64
|
+
msgid "post"
|
65
|
+
msgstr ""
|
66
|
+
|
67
|
+
#: app/models/post.rb:-
|
68
|
+
msgid "Post|User"
|
69
|
+
msgstr ""
|
70
|
+
|
71
|
+
#: app/models/post.rb:-
|
72
|
+
msgid "Post|Topic"
|
73
|
+
msgstr ""
|
74
|
+
|
75
|
+
#: app/models/post.rb:-
|
76
|
+
msgid "Post|Body"
|
77
|
+
msgstr ""
|
78
|
+
|
79
|
+
#: app/models/post.rb:-
|
80
|
+
msgid "Post|Created at"
|
81
|
+
msgstr ""
|
82
|
+
|
83
|
+
#: app/models/post.rb:-
|
84
|
+
msgid "Post|Updated at"
|
85
|
+
msgstr ""
|
86
|
+
|
87
|
+
#: app/models/post.rb:-
|
88
|
+
msgid "Post|Forum"
|
89
|
+
msgstr ""
|
90
|
+
|
91
|
+
#: app/models/topic.rb:- app/views/forums/show.rhtml:34
|
92
|
+
#: app/views/topics/show.rhtml:22
|
93
|
+
msgid "topic"
|
94
|
+
msgstr ""
|
95
|
+
|
96
|
+
#: app/models/topic.rb:-
|
97
|
+
msgid "Topic|Forum"
|
98
|
+
msgstr ""
|
99
|
+
|
100
|
+
#: app/models/topic.rb:-
|
101
|
+
msgid "Topic|User"
|
102
|
+
msgstr ""
|
103
|
+
|
104
|
+
#: app/models/topic.rb:-
|
105
|
+
msgid "Topic|Title"
|
106
|
+
msgstr ""
|
107
|
+
|
108
|
+
#: app/models/topic.rb:-
|
109
|
+
msgid "Topic|Created at"
|
110
|
+
msgstr ""
|
111
|
+
|
112
|
+
#: app/models/topic.rb:-
|
113
|
+
msgid "Topic|Updated at"
|
114
|
+
msgstr ""
|
115
|
+
|
116
|
+
#: app/models/topic.rb:-
|
117
|
+
msgid "Topic|Hits"
|
118
|
+
msgstr ""
|
119
|
+
|
120
|
+
#: app/models/topic.rb:-
|
121
|
+
msgid "Topic|Sticky"
|
122
|
+
msgstr ""
|
123
|
+
|
124
|
+
#: app/models/topic.rb:-
|
125
|
+
msgid "Topic|Posts count"
|
126
|
+
msgstr ""
|
127
|
+
|
128
|
+
#: app/models/topic.rb:-
|
129
|
+
msgid "Topic|Replied at"
|
130
|
+
msgstr ""
|
131
|
+
|
132
|
+
#: app/models/topic.rb:-
|
133
|
+
msgid "Topic|Locked"
|
134
|
+
msgstr ""
|
135
|
+
|
136
|
+
#: app/models/topic.rb:-
|
137
|
+
msgid "Topic|Replied by"
|
138
|
+
msgstr ""
|
139
|
+
|
140
|
+
#: app/models/topic.rb:-
|
141
|
+
msgid "Topic|Last post"
|
142
|
+
msgstr ""
|
143
|
+
|
144
|
+
#: app/models/user.rb:-
|
145
|
+
msgid "user"
|
146
|
+
msgstr ""
|
147
|
+
|
148
|
+
#: app/models/user.rb:-
|
149
|
+
msgid "User|Login"
|
150
|
+
msgstr ""
|
151
|
+
|
152
|
+
#: app/models/user.rb:-
|
153
|
+
msgid "User|Email"
|
154
|
+
msgstr ""
|
155
|
+
|
156
|
+
#: app/models/user.rb:-
|
157
|
+
msgid "User|Password"
|
158
|
+
msgstr ""
|
159
|
+
|
160
|
+
#: app/models/user.rb:-
|
161
|
+
msgid "User|Created at"
|
162
|
+
msgstr ""
|
163
|
+
|
164
|
+
#: app/models/user.rb:-
|
165
|
+
msgid "User|Last login at"
|
166
|
+
msgstr ""
|
167
|
+
|
168
|
+
#: app/models/user.rb:-
|
169
|
+
msgid "User|Admin"
|
170
|
+
msgstr ""
|
171
|
+
|
172
|
+
#: app/models/user.rb:-
|
173
|
+
msgid "User|Posts count"
|
174
|
+
msgstr ""
|
175
|
+
|
176
|
+
#: app/models/user.rb:-
|
177
|
+
msgid "User|Last seen at"
|
178
|
+
msgstr ""
|
179
|
+
|
180
|
+
#: app/models/user.rb:-
|
181
|
+
msgid "User|Display name"
|
182
|
+
msgstr ""
|
183
|
+
|
184
|
+
#: app/models/user.rb:-
|
185
|
+
msgid "User|Updated at"
|
186
|
+
msgstr ""
|
187
|
+
|
188
|
+
#: app/models/user.rb:-
|
189
|
+
msgid "User|Aim"
|
190
|
+
msgstr ""
|
191
|
+
|
192
|
+
#: app/models/user.rb:-
|
193
|
+
msgid "User|Yahoo"
|
194
|
+
msgstr ""
|
195
|
+
|
196
|
+
#: app/models/user.rb:-
|
197
|
+
msgid "User|Google talk"
|
198
|
+
msgstr ""
|
199
|
+
|
200
|
+
#: app/models/user.rb:-
|
201
|
+
msgid "User|Msn"
|
202
|
+
msgstr ""
|
203
|
+
|
204
|
+
#: app/models/user.rb:-
|
205
|
+
msgid "User|Website"
|
206
|
+
msgstr ""
|
207
|
+
|
208
|
+
#: app/models/user.rb:-
|
209
|
+
msgid "User|Login key"
|
210
|
+
msgstr ""
|
211
|
+
|
212
|
+
#: app/models/user.rb:-
|
213
|
+
msgid "User|Login key expires at"
|
214
|
+
msgstr ""
|
215
|
+
|
216
|
+
#: app/models/user.rb:-
|
217
|
+
msgid "User|Activated"
|
218
|
+
msgstr ""
|
219
|
+
|
220
|
+
#: app/views/forums/_form.rhtml:8 app/views/topics/_form.rhtml:2
|
221
|
+
msgid "Title"
|
222
|
+
msgstr ""
|
223
|
+
|
224
|
+
#: app/views/forums/_form.rhtml:12
|
225
|
+
msgid "Position"
|
226
|
+
msgstr ""
|
227
|
+
|
228
|
+
#: app/views/forums/_form.rhtml:20
|
229
|
+
msgid "Description"
|
230
|
+
msgstr ""
|
231
|
+
|
232
|
+
#: app/views/forums/edit.rhtml:2 app/views/forums/index.rhtml:16
|
233
|
+
#: app/views/forums/show.rhtml:26 app/views/layouts/application.rhtml:21
|
234
|
+
#: app/views/topics/new.rhtml:2 app/views/topics/show.rhtml:172
|
235
|
+
msgid "Forums"
|
236
|
+
msgstr ""
|
237
|
+
|
238
|
+
#: app/views/forums/edit.rhtml:5
|
239
|
+
msgid "Edit Forum"
|
240
|
+
msgstr ""
|
241
|
+
|
242
|
+
#: app/views/forums/edit.rhtml:11
|
243
|
+
msgid "Save Forum"
|
244
|
+
msgstr ""
|
245
|
+
|
246
|
+
#: app/views/forums/edit.rhtml:11 app/views/forums/new.rhtml:9
|
247
|
+
#: app/views/topics/edit.rhtml:9 app/views/topics/new.rhtml:13
|
248
|
+
msgid "Cancel"
|
249
|
+
msgstr ""
|
250
|
+
|
251
|
+
#: app/views/forums/index.rhtml:3
|
252
|
+
msgid "What is Beast?"
|
253
|
+
msgstr ""
|
254
|
+
|
255
|
+
#: app/views/forums/index.rhtml:6
|
256
|
+
msgid ""
|
257
|
+
"A small, light-weight forum in Rails with a scary name and a goal of around "
|
258
|
+
"500 lines of code when we're done."
|
259
|
+
msgstr ""
|
260
|
+
|
261
|
+
#: app/views/forums/index.rhtml:10
|
262
|
+
msgid "Admin"
|
263
|
+
msgstr ""
|
264
|
+
|
265
|
+
#: app/views/forums/index.rhtml:11
|
266
|
+
msgid "Create New Forum"
|
267
|
+
msgstr ""
|
268
|
+
|
269
|
+
#: app/views/forums/index.rhtml:18
|
270
|
+
msgid "Recent Posts"
|
271
|
+
msgstr ""
|
272
|
+
|
273
|
+
#: app/views/forums/index.rhtml:19 app/views/forums/index.rhtml:48
|
274
|
+
msgid "topics"
|
275
|
+
msgstr ""
|
276
|
+
|
277
|
+
#: app/views/forums/index.rhtml:19 app/views/forums/index.rhtml:49
|
278
|
+
#: app/views/users/show.rhtml:47
|
279
|
+
msgid "posts"
|
280
|
+
msgstr ""
|
281
|
+
|
282
|
+
#: app/views/forums/index.rhtml:20
|
283
|
+
msgid "voices"
|
284
|
+
msgstr ""
|
285
|
+
|
286
|
+
#: app/views/forums/index.rhtml:26 app/views/topics/_form.rhtml:25
|
287
|
+
msgid "Forum"
|
288
|
+
msgstr ""
|
289
|
+
|
290
|
+
#: app/views/forums/index.rhtml:31
|
291
|
+
msgid "Last Post"
|
292
|
+
msgstr ""
|
293
|
+
|
294
|
+
#: app/views/forums/index.rhtml:38
|
295
|
+
msgid "Recent activity"
|
296
|
+
msgstr ""
|
297
|
+
|
298
|
+
#: app/views/forums/index.rhtml:40
|
299
|
+
msgid "No recent activity"
|
300
|
+
msgstr ""
|
301
|
+
|
302
|
+
#: app/views/forums/index.rhtml:44
|
303
|
+
msgid "Edit"
|
304
|
+
msgstr ""
|
305
|
+
|
306
|
+
#: app/views/forums/index.rhtml:71
|
307
|
+
msgid "Recent posts"
|
308
|
+
msgstr ""
|
309
|
+
|
310
|
+
#: app/views/forums/index.rhtml:79
|
311
|
+
msgid "Users online:"
|
312
|
+
msgstr ""
|
313
|
+
|
314
|
+
#: app/views/forums/new.rhtml:5
|
315
|
+
msgid "New Forum"
|
316
|
+
msgstr ""
|
317
|
+
|
318
|
+
#: app/views/forums/new.rhtml:9
|
319
|
+
msgid "Create"
|
320
|
+
msgstr ""
|
321
|
+
|
322
|
+
#: app/views/forums/show.rhtml:8
|
323
|
+
msgid "Moderators"
|
324
|
+
msgstr ""
|
325
|
+
|
326
|
+
#: app/views/forums/show.rhtml:17
|
327
|
+
msgid "This forum is currently unmoderated."
|
328
|
+
msgstr ""
|
329
|
+
|
330
|
+
#: app/views/forums/show.rhtml:18
|
331
|
+
msgid "Please always be courteous."
|
332
|
+
msgstr ""
|
333
|
+
|
334
|
+
#: app/views/forums/show.rhtml:43 app/views/forums/show.rhtml:95
|
335
|
+
#: app/views/posts/index.rhtml:16 app/views/posts/index.rhtml:60
|
336
|
+
#: app/views/posts/monitored.rhtml:21 app/views/posts/monitored.rhtml:62
|
337
|
+
#: app/views/topics/show.rhtml:59 app/views/users/index.rhtml:19
|
338
|
+
#: app/views/users/index.rhtml:51
|
339
|
+
msgid "Pages:"
|
340
|
+
msgstr ""
|
341
|
+
|
342
|
+
#: app/views/forums/show.rhtml:48
|
343
|
+
msgid "Topic"
|
344
|
+
msgstr ""
|
345
|
+
|
346
|
+
#: app/views/forums/show.rhtml:49 app/views/users/index.rhtml:26
|
347
|
+
msgid "Posts"
|
348
|
+
msgstr ""
|
349
|
+
|
350
|
+
#: app/views/forums/show.rhtml:50
|
351
|
+
msgid "Views"
|
352
|
+
msgstr ""
|
353
|
+
|
354
|
+
#: app/views/forums/show.rhtml:51
|
355
|
+
msgid "Last post"
|
356
|
+
msgstr ""
|
357
|
+
|
358
|
+
#: app/views/forums/show.rhtml:91 app/views/posts/index.rhtml:56
|
359
|
+
#: app/views/posts/monitored.rhtml:58 app/views/users/index.rhtml:47
|
360
|
+
msgid "Next page"
|
361
|
+
msgstr ""
|
362
|
+
|
363
|
+
#: app/views/forums/show.rhtml:99
|
364
|
+
msgid "New topic"
|
365
|
+
msgstr ""
|
366
|
+
|
367
|
+
#: app/views/layouts/application.rhtml:22 app/views/users/index.rhtml:13
|
368
|
+
msgid "Users"
|
369
|
+
msgstr ""
|
370
|
+
|
371
|
+
#: app/views/layouts/application.rhtml:32 app/views/users/edit.rhtml:9
|
372
|
+
msgid "Settings"
|
373
|
+
msgstr ""
|
374
|
+
|
375
|
+
#: app/views/layouts/application.rhtml:33
|
376
|
+
msgid "Logout"
|
377
|
+
msgstr ""
|
378
|
+
|
379
|
+
#: app/views/layouts/application.rhtml:35 app/views/users/new.rhtml:1
|
380
|
+
msgid "Signup"
|
381
|
+
msgstr ""
|
382
|
+
|
383
|
+
#: app/views/layouts/application.rhtml:36 app/views/sessions/new.rhtml:1
|
384
|
+
#: app/views/sessions/new.rhtml:5 app/views/sessions/new.rhtml:16
|
385
|
+
#: app/views/users/_form.rhtml:4 app/views/users/_settings.rhtml:8
|
386
|
+
msgid "Login"
|
387
|
+
msgstr ""
|
388
|
+
|
389
|
+
#: app/views/layouts/application.rhtml:79
|
390
|
+
msgid "Powered by"
|
391
|
+
msgstr ""
|
392
|
+
|
393
|
+
#: app/views/layouts/application.rhtml:80
|
394
|
+
msgid "and"
|
395
|
+
msgstr ""
|
396
|
+
|
397
|
+
#: app/views/posts/_edit.rhtml:13
|
398
|
+
msgid "delete post"
|
399
|
+
msgstr ""
|
400
|
+
|
401
|
+
#: app/views/posts/_edit.rhtml:17 app/views/topics/show.rhtml:144
|
402
|
+
msgid "Formatting Help"
|
403
|
+
msgstr ""
|
404
|
+
|
405
|
+
#: app/views/posts/_edit.rhtml:20 app/views/topics/show.rhtml:147
|
406
|
+
msgid "*bold*"
|
407
|
+
msgstr ""
|
408
|
+
|
409
|
+
#: app/views/posts/_edit.rhtml:21 app/views/topics/show.rhtml:149
|
410
|
+
msgid "_italics_"
|
411
|
+
msgstr ""
|
412
|
+
|
413
|
+
#: app/views/posts/_edit.rhtml:22 app/views/topics/show.rhtml:151
|
414
|
+
msgid "bq. <span>(quotes)</span>"
|
415
|
+
msgstr ""
|
416
|
+
|
417
|
+
#: app/views/posts/_edit.rhtml:24 app/views/topics/show.rhtml:153
|
418
|
+
msgid "* or # <span>(lists)</span>"
|
419
|
+
msgstr ""
|
420
|
+
|
421
|
+
#: app/views/posts/_edit.rhtml:32 app/views/topics/edit.rhtml:9
|
422
|
+
msgid "Save Changes"
|
423
|
+
msgstr ""
|
424
|
+
|
425
|
+
#: app/views/posts/_edit.rhtml:32 app/views/posts/edit.rhtml:12
|
426
|
+
#: app/views/sessions/new.rhtml:28 app/views/topics/show.rhtml:160
|
427
|
+
#: app/views/users/edit.rhtml:22 app/views/users/edit.rhtml:30
|
428
|
+
msgid "cancel"
|
429
|
+
msgstr ""
|
430
|
+
|
431
|
+
#: app/views/posts/edit.rhtml:1
|
432
|
+
msgid "Edit Post"
|
433
|
+
msgstr ""
|
434
|
+
|
435
|
+
#: app/views/posts/edit.rhtml:5
|
436
|
+
msgid "Delete post"
|
437
|
+
msgstr ""
|
438
|
+
|
439
|
+
#: app/views/posts/edit.rhtml:6
|
440
|
+
msgid "Delete this post forever?"
|
441
|
+
msgstr ""
|
442
|
+
|
443
|
+
#: app/views/posts/edit.rhtml:12
|
444
|
+
msgid "Save"
|
445
|
+
msgstr ""
|
446
|
+
|
447
|
+
#: app/views/posts/index.rhtml:7
|
448
|
+
msgid "Searching for"
|
449
|
+
msgstr ""
|
450
|
+
|
451
|
+
#: app/views/posts/monitored.rhtml:5
|
452
|
+
msgid "s Monitored Topics"
|
453
|
+
msgstr ""
|
454
|
+
|
455
|
+
#: app/views/posts/monitored.rhtml:17
|
456
|
+
msgid "found"
|
457
|
+
msgstr ""
|
458
|
+
|
459
|
+
#: app/views/posts/monitored.rhtml:48
|
460
|
+
msgid "Topic:"
|
461
|
+
msgstr ""
|
462
|
+
|
463
|
+
#: app/views/sessions/new.rhtml:10 app/views/users/_form.rhtml:19
|
464
|
+
#: app/views/users/_settings.rhtml:22
|
465
|
+
msgid "Password"
|
466
|
+
msgstr ""
|
467
|
+
|
468
|
+
#: app/views/sessions/new.rhtml:14
|
469
|
+
msgid "Remember me on this computer"
|
470
|
+
msgstr ""
|
471
|
+
|
472
|
+
#: app/views/sessions/new.rhtml:16
|
473
|
+
msgid "reset password"
|
474
|
+
msgstr ""
|
475
|
+
|
476
|
+
#: app/views/sessions/new.rhtml:23
|
477
|
+
msgid "Reset Password"
|
478
|
+
msgstr ""
|
479
|
+
|
480
|
+
#: app/views/sessions/new.rhtml:25
|
481
|
+
msgid ""
|
482
|
+
"Enter your email, and a brand new login key will be sent to you. Click the "
|
483
|
+
"link in the email to log in, and then change your password."
|
484
|
+
msgstr ""
|
485
|
+
|
486
|
+
#: app/views/sessions/new.rhtml:28
|
487
|
+
msgid "E-mail me the link"
|
488
|
+
msgstr ""
|
489
|
+
|
490
|
+
#: app/views/topics/_form.rhtml:7
|
491
|
+
msgid "Sticky"
|
492
|
+
msgstr ""
|
493
|
+
|
494
|
+
#: app/views/topics/_form.rhtml:11
|
495
|
+
msgid "Locked"
|
496
|
+
msgstr ""
|
497
|
+
|
498
|
+
#: app/views/topics/_form.rhtml:19
|
499
|
+
msgid "Body"
|
500
|
+
msgstr ""
|
501
|
+
|
502
|
+
#: app/views/topics/edit.rhtml:1
|
503
|
+
msgid "Edit Topic"
|
504
|
+
msgstr ""
|
505
|
+
|
506
|
+
#: app/views/topics/new.rhtml:6
|
507
|
+
msgid "New Topic"
|
508
|
+
msgstr ""
|
509
|
+
|
510
|
+
#: app/views/topics/new.rhtml:7
|
511
|
+
msgid "by"
|
512
|
+
msgstr ""
|
513
|
+
|
514
|
+
#: app/views/topics/new.rhtml:13
|
515
|
+
msgid "Post Topic"
|
516
|
+
msgstr ""
|
517
|
+
|
518
|
+
#: app/views/topics/show.rhtml:6
|
519
|
+
msgid "Voices"
|
520
|
+
msgstr ""
|
521
|
+
|
522
|
+
#: app/views/topics/show.rhtml:41
|
523
|
+
msgid "(locked)"
|
524
|
+
msgstr ""
|
525
|
+
|
526
|
+
#: app/views/topics/show.rhtml:46
|
527
|
+
msgid "edit"
|
528
|
+
msgstr ""
|
529
|
+
|
530
|
+
#: app/views/topics/show.rhtml:47
|
531
|
+
msgid "delete"
|
532
|
+
msgstr ""
|
533
|
+
|
534
|
+
#: app/views/topics/show.rhtml:47
|
535
|
+
msgid "Delete this topic forever?"
|
536
|
+
msgstr ""
|
537
|
+
|
538
|
+
#: app/views/topics/show.rhtml:91
|
539
|
+
msgid "Edit post"
|
540
|
+
msgstr ""
|
541
|
+
|
542
|
+
#: app/views/topics/show.rhtml:126
|
543
|
+
msgid "This topic is locked."
|
544
|
+
msgstr ""
|
545
|
+
|
546
|
+
#: app/views/topics/show.rhtml:130
|
547
|
+
msgid "Reply to topic"
|
548
|
+
msgstr ""
|
549
|
+
|
550
|
+
#: app/views/topics/show.rhtml:160
|
551
|
+
msgid "Save Reply"
|
552
|
+
msgstr ""
|
553
|
+
|
554
|
+
#: app/views/user_mailer/signup.rhtml:1
|
555
|
+
msgid "Welcome to Beast,"
|
556
|
+
msgstr ""
|
557
|
+
|
558
|
+
#: app/views/user_mailer/signup.rhtml:3
|
559
|
+
msgid "Please visit the link below to activate your account."
|
560
|
+
msgstr ""
|
561
|
+
|
562
|
+
#: app/views/users/_contact_info.rhtml:1
|
563
|
+
msgid "User Profile"
|
564
|
+
msgstr ""
|
565
|
+
|
566
|
+
#: app/views/users/_contact_info.rhtml:4
|
567
|
+
msgid "Display Name"
|
568
|
+
msgstr ""
|
569
|
+
|
570
|
+
#: app/views/users/_contact_info.rhtml:9 app/views/users/index.rhtml:25
|
571
|
+
msgid "Website"
|
572
|
+
msgstr ""
|
573
|
+
|
574
|
+
#: app/views/users/_contact_info.rhtml:12
|
575
|
+
msgid "(without http://)"
|
576
|
+
msgstr ""
|
577
|
+
|
578
|
+
#: app/views/users/_contact_info.rhtml:17
|
579
|
+
msgid "Bio"
|
580
|
+
msgstr ""
|
581
|
+
|
582
|
+
#: app/views/users/_form.rhtml:1
|
583
|
+
msgid ""
|
584
|
+
"Logins should start with least 2 characters and may consist of letters, "
|
585
|
+
"numbers, or the underscore."
|
586
|
+
msgstr ""
|
587
|
+
|
588
|
+
#: app/views/users/_form.rhtml:9 app/views/users/_settings.rhtml:17
|
589
|
+
msgid "Email"
|
590
|
+
msgstr ""
|
591
|
+
|
592
|
+
#: app/views/users/_form.rhtml:14
|
593
|
+
msgid "Display Name (optional)"
|
594
|
+
msgstr ""
|
595
|
+
|
596
|
+
#: app/views/users/_form.rhtml:20
|
597
|
+
msgid "Enter your desired password twice. It must be at least 5 characters."
|
598
|
+
msgstr ""
|
599
|
+
|
600
|
+
#: app/views/users/_form.rhtml:23 app/views/users/_settings.rhtml:25
|
601
|
+
msgid "(once)"
|
602
|
+
msgstr ""
|
603
|
+
|
604
|
+
#: app/views/users/_form.rhtml:25
|
605
|
+
msgid "(and then again)"
|
606
|
+
msgstr ""
|
607
|
+
|
608
|
+
#: app/views/users/_settings.rhtml:2
|
609
|
+
msgid "Basics"
|
610
|
+
msgstr ""
|
611
|
+
|
612
|
+
#: app/views/users/_settings.rhtml:9
|
613
|
+
msgid ""
|
614
|
+
"Please change your login.</strong> Logins should start with least 2 "
|
615
|
+
"characters and may consist of letters, numbers, or the underscore."
|
616
|
+
msgstr ""
|
617
|
+
|
618
|
+
#: app/views/users/_settings.rhtml:23
|
619
|
+
msgid ""
|
620
|
+
"Enter a new password twice to change your password. (must be longer than 5 "
|
621
|
+
"characters)"
|
622
|
+
msgstr ""
|
623
|
+
|
624
|
+
#: app/views/users/_settings.rhtml:28
|
625
|
+
msgid "(and again)"
|
626
|
+
msgstr ""
|
627
|
+
|
628
|
+
#: app/views/users/edit.rhtml:3
|
629
|
+
msgid "Avatars"
|
630
|
+
msgstr ""
|
631
|
+
|
632
|
+
#: app/views/users/edit.rhtml:5
|
633
|
+
msgid ""
|
634
|
+
"To have your very own avatar displayed on this forum visit <a href=\"http://"
|
635
|
+
"www.gravatar.com/\">gravatar.com</a> and sign up for a free gravatar."
|
636
|
+
msgstr ""
|
637
|
+
|
638
|
+
#: app/views/users/edit.rhtml:11
|
639
|
+
msgid "for"
|
640
|
+
msgstr ""
|
641
|
+
|
642
|
+
#: app/views/users/edit.rhtml:22
|
643
|
+
msgid "Change e-mail or password"
|
644
|
+
msgstr ""
|
645
|
+
|
646
|
+
#: app/views/users/edit.rhtml:30
|
647
|
+
msgid "Update Profile"
|
648
|
+
msgstr ""
|
649
|
+
|
650
|
+
#: app/views/users/index.rhtml:2
|
651
|
+
msgid "Find a User"
|
652
|
+
msgstr ""
|
653
|
+
|
654
|
+
#: app/views/users/index.rhtml:6
|
655
|
+
msgid "Display name or login"
|
656
|
+
msgstr ""
|
657
|
+
|
658
|
+
#: app/views/users/index.rhtml:8
|
659
|
+
msgid "Search"
|
660
|
+
msgstr ""
|
661
|
+
|
662
|
+
#: app/views/users/index.rhtml:15
|
663
|
+
msgid "users"
|
664
|
+
msgstr ""
|
665
|
+
|
666
|
+
#: app/views/users/index.rhtml:15
|
667
|
+
msgid "active"
|
668
|
+
msgstr ""
|
669
|
+
|
670
|
+
#: app/views/users/index.rhtml:15
|
671
|
+
msgid "lurking"
|
672
|
+
msgstr ""
|
673
|
+
|
674
|
+
#: app/views/users/index.rhtml:24
|
675
|
+
msgid "Name / Login"
|
676
|
+
msgstr ""
|
677
|
+
|
678
|
+
#: app/views/users/index.rhtml:32
|
679
|
+
msgid "(admin)"
|
680
|
+
msgstr ""
|
681
|
+
|
682
|
+
#: app/views/users/new.rhtml:7
|
683
|
+
msgid "Sign up!"
|
684
|
+
msgstr ""
|
685
|
+
|
686
|
+
#: app/views/users/show.rhtml:6
|
687
|
+
msgid "Admin & Moderation"
|
688
|
+
msgstr ""
|
689
|
+
|
690
|
+
#: app/views/users/show.rhtml:10
|
691
|
+
msgid "This user can moderate the following forums. Click one to remove."
|
692
|
+
msgstr ""
|
693
|
+
|
694
|
+
#: app/views/users/show.rhtml:24
|
695
|
+
msgid "Add as moderator"
|
696
|
+
msgstr ""
|
697
|
+
|
698
|
+
#: app/views/users/show.rhtml:30
|
699
|
+
msgid "User is an administrator"
|
700
|
+
msgstr ""
|
701
|
+
|
702
|
+
#: app/views/users/show.rhtml:47
|
703
|
+
msgid "monitored"
|
704
|
+
msgstr ""
|
705
|
+
|
706
|
+
#: app/views/users/show.rhtml:54
|
707
|
+
msgid "Website:"
|
708
|
+
msgstr ""
|
709
|
+
|
710
|
+
#: app/views/users/show.rhtml:56
|
711
|
+
msgid "User since"
|
712
|
+
msgstr ""
|