motiro 0.6.9 → 0.6.10

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 (77) hide show
  1. data/README +1 -1
  2. data/Rakefile +2 -2
  3. data/app/core/version.rb +1 -1
  4. data/app/helpers/feed_helper.rb +2 -0
  5. data/app/reporters/darcs_reporter.rb +2 -3
  6. data/app/views/events/new.rhtml +14 -0
  7. data/app/views/feed/subversion.rhtml +26 -0
  8. data/app/views/report/events_detail.rhtml +12 -0
  9. data/build/build.rb +29 -0
  10. data/config/boot.rb +104 -14
  11. data/config/environment.rb +35 -38
  12. data/config/environments/development.rb +5 -7
  13. data/config/environments/production.rb +3 -3
  14. data/config/environments/test.rb +5 -2
  15. data/config/initializers/globalize.rb +5 -0
  16. data/config/initializers/inflections.rb +10 -0
  17. data/config/initializers/mime_types.rb +5 -0
  18. data/config/initializers/motiro_core.rb +5 -0
  19. data/config/motiro.yml +4 -4
  20. data/config/report/subversion.yml +26 -0
  21. data/doc/README_FOR_APP +1 -1
  22. data/lib/login_system.rb +2 -2
  23. data/lib/tasks/packaging.rake +4 -4
  24. data/public/404.html +27 -5
  25. data/public/422.html +30 -0
  26. data/public/500.html +27 -5
  27. data/public/dispatch.rb +2 -2
  28. data/public/javascripts/application.js +2 -0
  29. data/public/javascripts/controls.js +532 -319
  30. data/public/javascripts/dragdrop.js +521 -133
  31. data/public/javascripts/effects.js +708 -442
  32. data/public/javascripts/prototype.js +3393 -953
  33. data/public/robots.txt +5 -1
  34. data/public/selenium/tests/TestMainPage.html +42 -0
  35. data/public/selenium/tests/TestReportHTML.html +42 -0
  36. data/public/selenium/tests/TestReportRSS.html +37 -0
  37. data/public/selenium/tests/TestSubversionOnMain.html +32 -0
  38. data/public/selenium/tests/TestSuite.html +26 -0
  39. data/script/about +1 -1
  40. data/script/console +1 -1
  41. data/script/destroy +1 -1
  42. data/script/generate +1 -1
  43. data/script/performance/request +3 -0
  44. data/script/plugin +1 -1
  45. data/script/process/inspector +3 -0
  46. data/script/runner +1 -1
  47. data/script/server +1 -1
  48. data/test/fixtures/headlines.yml +6 -6
  49. data/test/functional/report_controller_test.rb +18 -18
  50. data/test/functional/root_controller_test.rb +1 -1
  51. data/test/test_helper.rb +11 -1
  52. data/test/unit/chief_editor_test.rb +20 -26
  53. data/test/unit/darcs_reporter_test.rb +6 -0
  54. data/test/unit/headline_test.rb +25 -8
  55. data/vendor/plugins/cache_test-0.2/doc/classes/Cosinux/FragmentCacheTest/Assertions.html +364 -0
  56. data/vendor/plugins/cache_test-0.2/doc/classes/Cosinux/PageCacheTest/IntegrationTestMethods.html +261 -0
  57. data/vendor/plugins/cache_test-0.2/doc/created.rid +1 -0
  58. data/vendor/plugins/cache_test-0.2/doc/files/CHANGELOG.html +128 -0
  59. data/vendor/plugins/cache_test-0.2/doc/files/MIT-LICENSE.html +129 -0
  60. data/vendor/plugins/cache_test-0.2/doc/files/README.html +272 -0
  61. data/vendor/plugins/cache_test-0.2/doc/files/init_rb.html +109 -0
  62. data/vendor/plugins/cache_test-0.2/doc/files/lib/fragment_cache_test_rb.html +101 -0
  63. data/vendor/plugins/cache_test-0.2/doc/files/lib/page_cache_test_rb.html +101 -0
  64. data/vendor/plugins/cache_test-0.2/doc/fr_class_index.html +28 -0
  65. data/vendor/plugins/cache_test-0.2/doc/fr_file_index.html +32 -0
  66. data/vendor/plugins/cache_test-0.2/doc/fr_method_index.html +32 -0
  67. data/vendor/plugins/cache_test-0.2/doc/index.html +24 -0
  68. data/vendor/plugins/cache_test-0.2/doc/rdoc-style.css +208 -0
  69. data/vendor/plugins/caching_monkey_patch/init.rb +13 -0
  70. data/vendor/plugins/rails_cron/CHANGELOG +8 -0
  71. data/vendor/plugins/rails_cron/LICENSE +7 -0
  72. data/vendor/plugins/rails_cron/README +77 -0
  73. data/vendor/plugins/rails_cron/init.rb +16 -0
  74. data/vendor/plugins/rails_cron/lib/acts_as_background.rb +14 -0
  75. data/vendor/plugins/rails_cron/lib/rails_cron.rb +128 -0
  76. data/vendor/plugins/rails_cron/tasks/startup.rake +50 -0
  77. metadata +466 -406
data/README CHANGED
@@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License
15
15
  along with this program; if not, write to the Free Software
16
16
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
17
  --------------------------------------------------------------------------------
18
- Motiro version 0.6.9 - February 2008
18
+ Motiro version 0.6.10 - March 2008
19
19
 
20
20
  Please refer to your preferred language README. Every text file below this
21
21
  directory is UTF-8 encoded. Please make sure to set up your reader accordingly.
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/switchtower.rake, and they will automatically be available to Rake.
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
3
 
4
4
  require(File.join(File.dirname(__FILE__), 'config', 'boot'))
5
5
 
@@ -7,4 +7,4 @@ require 'rake'
7
7
  require 'rake/testtask'
8
8
  require 'rake/rdoctask'
9
9
 
10
- require 'tasks/rails'
10
+ require 'tasks/rails'
data/app/core/version.rb CHANGED
@@ -1 +1 @@
1
- MOTIRO_VERSION = '0.6.9'
1
+ MOTIRO_VERSION = '0.6.10'
@@ -0,0 +1,2 @@
1
+ module FeedHelper
2
+ end
@@ -41,8 +41,7 @@ class DarcsReporter < MotiroReporter
41
41
  end
42
42
 
43
43
  def author_from_darcs_id(id)
44
- md = id.match(/@/)
45
- return md.pre_match if md
44
+ id.sub(/@.*$/, '')
46
45
  end
47
46
 
48
47
  def time_from_darcs_date(date)
@@ -101,4 +100,4 @@ private
101
100
  return remain, diff
102
101
  end
103
102
 
104
- end
103
+ end
@@ -0,0 +1,14 @@
1
+ <% @title = 'Motiro - ' + 'Events'.t
2
+ @destination = { :name => 'headline', :attr => 'description' } %>
3
+ <p style="float: left; padding-right: 2em;">
4
+ <label for="headline_happened_at"><%= 'Date'.t -%>:</label>
5
+ <%= date_select 'headline', 'happened_at' %>
6
+ </p>
7
+ <div>
8
+ <p>
9
+ <b><%= 'Note'.t -%>:</b>
10
+ <%= ('The first line on the event text will turn into a summary ' +
11
+ 'displayed on the main page').t -%>
12
+ </p>
13
+ </div>
14
+ <div style="height: 0; clear: left;">&nbsp;</div>
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <rss version="2.0">
4
+ <channel>
5
+ <title>Motiro | Subversion</title>
6
+ <link>http://www.motiro.org.br</link>
7
+ <description>null</description>
8
+ <language>en</language>
9
+ <generator>Motiro</generator>
10
+ <pubDate><%= Time.now %></pubDate>
11
+ <copyright></copyright>
12
+ <ttl>60</ttl>
13
+ <webmaster>webmaster@motiro.org.br</webmaster>
14
+ <% @headlines.each do |headline| %>
15
+ <item>
16
+ <title><%= h(headline.title) %></title>
17
+ <link>http://localhost:3000</link>
18
+ <description>null</description>
19
+ <pubDate><%= h(headline.event_date) %></pubDate>
20
+ <author><%= h(headline.author) %></author>
21
+ <guid></guid>
22
+ </item>
23
+ <% end%>
24
+ </channel>
25
+ </rss>
26
+
@@ -0,0 +1,12 @@
1
+ <% @title = "Motiro - #{'Event'.t}" %>
2
+ <% if ! @partial then %>
3
+ <div class="pagetext">
4
+ <h1><%= h(@headline.title(Translator.for(@locale))) -%></h1>
5
+ <% end %>
6
+ <%= Page.new(:text => @headline.description(Translator.for(@locale))).
7
+ render_html %>
8
+ <% if ! @partial then %>
9
+ </div>
10
+ <% end %>
11
+
12
+
data/build/build.rb ADDED
@@ -0,0 +1,29 @@
1
+ # build.rb - Build script for the motiro project
2
+ #
3
+ # Copyright (c) 2006-2007 Thiago Arrais
4
+ #
5
+ # This program is free software.
6
+ # You can distribute/modify this program under the terms of
7
+ # the GNU LGPL, Lesser General Public License version 2.1.
8
+ #
9
+
10
+ def do_real_build
11
+ `rails -s src`
12
+ end
13
+
14
+ def build(home)
15
+ old_wd = Dir.getwd
16
+ Dir.chdir home
17
+
18
+ do_real_build
19
+
20
+ Dir.chdir old_wd
21
+ end
22
+
23
+ motiro_home = File.dirname($0) + '/..'
24
+
25
+ build(motiro_home)
26
+
27
+
28
+
29
+
data/config/boot.rb CHANGED
@@ -1,19 +1,109 @@
1
- # Don't change this file. Configuration is done in config/environment.rb and config/environments/*.rb
1
+ # Don't change this file!
2
+ # Configure your app in config/environment.rb and config/environments/*.rb
2
3
 
3
- unless defined?(RAILS_ROOT)
4
- root_path = File.join(File.dirname(__FILE__), '..')
5
- unless RUBY_PLATFORM =~ /mswin32/
6
- require 'pathname'
7
- root_path = Pathname.new(root_path).cleanpath(true).to_s
4
+ RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
5
+
6
+ module Rails
7
+ class << self
8
+ def boot!
9
+ unless booted?
10
+ preinitialize
11
+ pick_boot.run
12
+ end
13
+ end
14
+
15
+ def booted?
16
+ defined? Rails::Initializer
17
+ end
18
+
19
+ def pick_boot
20
+ (vendor_rails? ? VendorBoot : GemBoot).new
21
+ end
22
+
23
+ def vendor_rails?
24
+ File.exist?("#{RAILS_ROOT}/vendor/rails")
25
+ end
26
+
27
+ # FIXME : Ruby 1.9
28
+ def preinitialize
29
+ load(preinitializer_path) if File.exists?(preinitializer_path)
30
+ end
31
+
32
+ def preinitializer_path
33
+ "#{RAILS_ROOT}/config/preinitializer.rb"
34
+ end
8
35
  end
9
- RAILS_ROOT = root_path
10
- end
11
36
 
12
- if File.directory?("#{RAILS_ROOT}/vendor/rails")
13
- require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
14
- else
15
- require 'rubygems'
16
- require 'initializer'
37
+ class Boot
38
+ def run
39
+ load_initializer
40
+ Rails::Initializer.run(:set_load_path)
41
+ end
42
+ end
43
+
44
+ class VendorBoot < Boot
45
+ def load_initializer
46
+ require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
47
+ end
48
+ end
49
+
50
+ class GemBoot < Boot
51
+ def load_initializer
52
+ self.class.load_rubygems
53
+ load_rails_gem
54
+ require 'initializer'
55
+ end
56
+
57
+ def load_rails_gem
58
+ if version = self.class.gem_version
59
+ gem 'rails', version
60
+ else
61
+ gem 'rails'
62
+ end
63
+ rescue Gem::LoadError => load_error
64
+ $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
65
+ exit 1
66
+ end
67
+
68
+ class << self
69
+ def rubygems_version
70
+ Gem::RubyGemsVersion if defined? Gem::RubyGemsVersion
71
+ end
72
+
73
+ def gem_version
74
+ if defined? RAILS_GEM_VERSION
75
+ RAILS_GEM_VERSION
76
+ elsif ENV.include?('RAILS_GEM_VERSION')
77
+ ENV['RAILS_GEM_VERSION']
78
+ else
79
+ parse_gem_version(read_environment_rb)
80
+ end
81
+ end
82
+
83
+ def load_rubygems
84
+ require 'rubygems'
85
+
86
+ unless rubygems_version >= '0.9.4'
87
+ $stderr.puts %(Rails requires RubyGems >= 0.9.4 (you have #{rubygems_version}). Please `gem update --system` and try again.)
88
+ exit 1
89
+ end
90
+
91
+ rescue LoadError
92
+ $stderr.puts %(Rails requires RubyGems >= 0.9.4. Please install RubyGems and try again: http://rubygems.rubyforge.org)
93
+ exit 1
94
+ end
95
+
96
+ def parse_gem_version(text)
97
+ $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
98
+ end
99
+
100
+ private
101
+ def read_environment_rb
102
+ File.read("#{RAILS_ROOT}/config/environment.rb")
103
+ end
104
+ end
105
+ end
17
106
  end
18
107
 
19
- Rails::Initializer.run(:set_load_path)
108
+ # All that for this:
109
+ Rails.boot!
@@ -1,64 +1,61 @@
1
- # Be sure to restart your web server when you modify this file.
1
+ # Be sure to restart your server when you modify this file
2
2
 
3
- # Uncomment below to force Rails into production mode when
3
+ # Uncomment below to force Rails into production mode when
4
4
  # you don't control web/app server and can't set it the proper way
5
5
  # ENV['RAILS_ENV'] ||= 'production'
6
6
 
7
+ # Specifies gem version of Rails to use when vendor/rails is not present
8
+ RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
9
+
7
10
  # Bootstrap the Rails environment, frameworks, and default configuration
8
11
  require File.join(File.dirname(__FILE__), 'boot')
9
12
 
10
13
  TEMP_DIR = File.expand_path(RAILS_ROOT + '/tmp')
11
14
 
12
15
  Rails::Initializer.run do |config|
13
- # Settings in config/environments/* take precedence those specified here
14
-
15
- # Skip frameworks you're not going to use
16
- # config.frameworks -= [ :action_web_service, :action_mailer ]
16
+ # Settings in config/environments/* take precedence over those specified here.
17
+ # Application configuration should go into files in config/initializers
18
+ # -- all .rb files in that directory are automatically loaded.
19
+ # See Rails::Configuration for more options.
20
+
21
+ # Skip frameworks you're not going to use (only works if using vendor/rails).
22
+ # To use Rails without a database, you must remove the Active Record framework
23
+ # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
24
+
25
+ # Only load the plugins named here, in the order given. By default, all plugins
26
+ # in vendor/plugins are loaded in alphabetical order.
27
+ # :all can be used as a placeholder for all plugins not explicitly named
28
+ # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
17
29
 
18
30
  # Add additional load paths for your own custom dirs
19
31
  # config.load_paths += %W( #{RAILS_ROOT}/extras )
20
32
 
21
- # Force all environments to use the same logger level
33
+ # Force all environments to use the same logger level
22
34
  # (by default production uses :info, the others :debug)
23
35
  # config.log_level = :debug
24
36
 
25
- # Use the database for sessions instead of the file system
26
- # (create the session table with 'rake create_sessions_table')
37
+ # Your secret key for verifying cookie session data integrity.
38
+ # If you change this key, all old sessions will become invalid!
39
+ # Make sure the secret is at least 30 characters and all random,
40
+ # no regular words or you'll be exposed to dictionary attacks.
41
+ config.action_controller.session = {
42
+ :session_key => '_motiro_session',
43
+ :secret => 'fad926e717afc0fb597d2d81b0ab461e4daa740ab5ec61196f3cf3572fb6ed452091478f14ca19f642e6a113bfe812d1bf4ae265317a8afe7a90a2e33de69986'
44
+ }
45
+
46
+ # Use the database for sessions instead of the cookie-based default,
47
+ # which shouldn't be used to store highly confidential information
48
+ # (create the session table with 'rake db:sessions:create')
27
49
  # config.action_controller.session_store = :active_record_store
28
50
 
29
- # Enable page/fragment caching by setting a file-based store
30
- # (remember to create the caching directory and make it readable to the application)
31
- config.action_controller.fragment_cache_store = :file_store, "#{RAILS_ROOT}/tmp/cache"
51
+ # Use SQL instead of Active Record's schema dumper when creating the test database.
52
+ # This is necessary if your schema can't be completely dumped by the schema dumper,
53
+ # like if you have constraints or database-specific column types
54
+ # config.active_record.schema_format = :sql
32
55
 
33
56
  # Activate observers that should always be running
34
57
  config.active_record.observers = :feed_observer
35
58
 
36
59
  # Make Active Record use UTC-base instead of local time
37
60
  # config.active_record.default_timezone = :utc
38
-
39
- # Use Active Record's schema dumper instead of SQL when creating the test database
40
- # (enables use of different database adapters for development and test environments)
41
- config.active_record.schema_format = :ruby
42
-
43
- # See Rails::Configuration for more options
44
61
  end
45
-
46
- # Add new inflection rules using the following format
47
- # (all these examples are active by default):
48
- # Inflector.inflections do |inflect|
49
- # inflect.plural /^(ox)$/i, '\1en'
50
- # inflect.singular /^(ox)en/i, '\1'
51
- # inflect.irregular 'person', 'people'
52
- # inflect.uncountable %w( fish sheep )
53
- # end
54
-
55
- # Include your application configuration below
56
- include Globalize
57
-
58
- require_dependency 'import_translations'
59
- require_dependency 'relative_time'
60
-
61
- require 'core/version'
62
- require 'core/wiki_page_not_found'
63
-
64
- ActiveRecord::Base.schema_format = :sql
@@ -3,18 +3,16 @@
3
3
  # In the development environment your application's code is reloaded on
4
4
  # every request. This slows down response time but is perfect for development
5
5
  # since you don't have to restart the webserver when you make code changes.
6
- config.cache_classes = false
6
+ config.cache_classes = false
7
7
 
8
8
  # Log error messages when you accidentally call methods on nil.
9
- config.whiny_nils = true
10
-
11
- # Enable the breakpoint server that script/breakpointer connects to
12
- config.breakpoint_server = true
9
+ config.whiny_nils = true
13
10
 
14
11
  # Show full error reports and disable caching
15
12
  config.action_controller.consider_all_requests_local = true
13
+ config.action_view.debug_rjs = true
16
14
  config.action_controller.perform_caching = false
15
+ config.action_view.cache_template_extensions = false
17
16
 
18
17
  # Don't care if the mailer can't send
19
- config.action_mailer.raise_delivery_errors = false
20
-
18
+ config.action_mailer.raise_delivery_errors = false
@@ -5,15 +5,15 @@
5
5
  config.cache_classes = true
6
6
 
7
7
  # Use a different logger for distributed setups
8
- # config.logger = SyslogLogger.new
9
-
8
+ # config.logger = SyslogLogger.new
10
9
 
11
10
  # Full error reports are disabled and caching is turned on
12
11
  config.action_controller.consider_all_requests_local = false
13
12
  config.action_controller.perform_caching = true
13
+ config.action_view.cache_template_loading = true
14
14
 
15
15
  # Enable serving of images, stylesheets, and javascripts from an asset server
16
16
  # config.action_controller.asset_host = "http://assets.example.com"
17
17
 
18
- # Disable delivery errors if you bad email addresses should just be ignored
18
+ # Disable delivery errors, bad email addresses will be ignored
19
19
  # config.action_mailer.raise_delivery_errors = false
@@ -7,13 +7,16 @@
7
7
  config.cache_classes = true
8
8
 
9
9
  # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
10
+ config.whiny_nils = true
11
11
 
12
12
  # Show full error reports and disable caching
13
13
  config.action_controller.consider_all_requests_local = true
14
14
  config.action_controller.perform_caching = false
15
15
 
16
+ # Disable request forgery protection in test environment
17
+ config.action_controller.allow_forgery_protection = false
18
+
16
19
  # Tell ActionMailer not to deliver emails to the real world.
17
20
  # The :test delivery method accumulates sent emails in the
18
21
  # ActionMailer::Base.deliveries array.
19
- config.action_mailer.delivery_method = :test
22
+ config.action_mailer.delivery_method = :test
@@ -0,0 +1,5 @@
1
+ include Globalize
2
+
3
+ require_dependency 'import_translations'
4
+ require_dependency 'relative_time'
5
+
@@ -0,0 +1,10 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format
4
+ # (all these examples are active by default):
5
+ # Inflector.inflections do |inflect|
6
+ # inflect.plural /^(ox)$/i, '\1en'
7
+ # inflect.singular /^(ox)en/i, '\1'
8
+ # inflect.irregular 'person', 'people'
9
+ # inflect.uncountable %w( fish sheep )
10
+ # end
@@ -0,0 +1,5 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
5
+ # Mime::Type.register_alias "text/html", :iphone