motiro 0.6.10 → 0.6.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. data/AUTHORS +7 -11
  2. data/LICENSE +602 -262
  3. data/README +6 -7
  4. data/README.en +5 -6
  5. data/README.pt-br +6 -6
  6. data/app/controllers/account_controller.rb +5 -6
  7. data/app/controllers/application.rb +5 -6
  8. data/app/controllers/javascript_controller.rb +6 -7
  9. data/app/controllers/report_controller.rb +5 -6
  10. data/app/controllers/root_controller.rb +5 -1
  11. data/app/controllers/wiki_controller.rb +10 -8
  12. data/app/core/cache_reporter.rb +6 -7
  13. data/app/core/cache_reporter_fetcher.rb +6 -6
  14. data/app/core/chief_editor.rb +5 -6
  15. data/app/core/license.rb +598 -0
  16. data/app/core/reporter.rb +6 -7
  17. data/app/core/reporter_driver.rb +5 -5
  18. data/app/core/reporter_fetcher.rb +6 -7
  19. data/app/core/settings.rb +5 -6
  20. data/app/core/version.rb +1 -1
  21. data/app/core/wiki_reporter.rb +5 -6
  22. data/app/helpers/application_helper.rb +33 -16
  23. data/app/helpers/default_page_provider.rb +6 -7
  24. data/app/helpers/report_helper.rb +5 -6
  25. data/app/helpers/wiki_helper.rb +48 -0
  26. data/app/models/change.rb +5 -6
  27. data/app/models/chunk.rb +5 -6
  28. data/app/models/feed_observer.rb +6 -7
  29. data/app/models/headline.rb +5 -6
  30. data/app/models/page.rb +16 -7
  31. data/app/models/revision.rb +9 -9
  32. data/app/models/user.rb +6 -9
  33. data/app/models/wiki_reference.rb +5 -6
  34. data/app/models/wiki_sweeper.rb +6 -7
  35. data/app/ports/chdir_runner.rb +6 -7
  36. data/app/ports/runner.rb +5 -5
  37. data/app/reporters/darcs_connection.rb +6 -7
  38. data/app/reporters/darcs_reporter.rb +9 -10
  39. data/app/reporters/darcs_temp_repo.rb +5 -6
  40. data/app/reporters/events_reporter.rb +5 -6
  41. data/app/reporters/features_reporter.rb +5 -6
  42. data/app/reporters/subversion_reporter.rb +5 -6
  43. data/app/reporters/svn_connection.rb +6 -6
  44. data/app/reporters/svn_settings.rb +5 -5
  45. data/app/views/account/_authorization.rhtml +31 -23
  46. data/app/views/account/_availability.rhtml +1 -3
  47. data/app/views/javascript/motiro.rjs +6 -8
  48. data/app/views/layouts/_bottom.rhtml +7 -0
  49. data/app/views/report/list.rhtml +1 -1
  50. data/app/views/root/license.rhtml +5 -0
  51. data/app/views/wiki/_editbar.rhtml +2 -18
  52. data/app/views/wiki/_properties_show.rhtml +2 -1
  53. data/app/views/wiki/_show_event.rhtml +3 -1
  54. data/app/views/wiki/_show_feature.rhtml +2 -2
  55. data/app/views/wiki/diff.rhtml +2 -2
  56. data/app/views/wiki/page_feed.rxml +1 -13
  57. data/app/views/wiki/raw.rhtml +7 -0
  58. data/app/views/wiki/show.rhtml +1 -1
  59. data/app/views/wiki/sourcediff.rhtml +2 -2
  60. data/bin/motiro +5 -6
  61. data/config/initializers/motiro_core.rb +1 -0
  62. data/config/routes.rb +9 -6
  63. data/db/translation/pt-BR.rb +20 -6
  64. data/lib/array_extensions.rb +6 -7
  65. data/lib/diff_chunk_builder.rb +5 -6
  66. data/lib/differ.rb +5 -6
  67. data/lib/string_extensions.rb +5 -6
  68. data/lib/stub_hash.rb +5 -6
  69. data/lib/tasks/packaging.rake +7 -7
  70. data/lib/tasks/testing.rake +5 -6
  71. data/lib/tick_daemon.rb +5 -6
  72. data/lib/wiki_link_handler.rb +5 -6
  73. data/lib/wiki_renderer.rb +5 -6
  74. data/public/images/calendar.gif +0 -0
  75. data/public/images/done.gif +0 -0
  76. data/public/images/error.gif +0 -0
  77. data/public/images/not-done.gif +0 -0
  78. data/public/images/rss.gif +0 -0
  79. data/public/stylesheets/motiro.css +163 -170
  80. data/script/ticker +5 -6
  81. data/test/acceptance/account_test.rb +6 -7
  82. data/test/acceptance/darcs_test.rb +6 -7
  83. data/test/acceptance/events_test.rb +5 -6
  84. data/test/acceptance/main_page_test.rb +6 -7
  85. data/test/acceptance/subversion_test.rb +5 -6
  86. data/test/acceptance/ts_all_suites.rb +5 -6
  87. data/test/acceptance/wiki_test.rb +5 -6
  88. data/test/contract/darcs_test.rb +5 -6
  89. data/test/contract/svn_test.rb +5 -6
  90. data/test/fixtures/pages.yml +12 -0
  91. data/test/fixtures/revisions.yml +61 -0
  92. data/test/functional/report_controller_test.rb +5 -6
  93. data/test/functional/report_features_test.rb +5 -6
  94. data/test/functional/report_subversion_test.rb +5 -6
  95. data/test/functional/root_controller_test.rb +19 -4
  96. data/test/functional/wiki_controller_test.rb +66 -8
  97. data/test/lib/acceptance_test_case.rb +6 -7
  98. data/test/lib/darcs_excerpts.rb +5 -6
  99. data/test/lib/darcs_repo.rb +5 -6
  100. data/test/lib/hash_extensions.rb +5 -6
  101. data/test/lib/live_mode_test.rb +6 -7
  102. data/test/lib/netutils.rb +6 -7
  103. data/test/lib/platform_thread.rb +5 -5
  104. data/test/lib/selenium_extensions.rb +6 -7
  105. data/test/lib/stubio.rb +6 -7
  106. data/test/lib/webserver.rb +5 -6
  107. data/test/meta/darcs_repo_test.rb +6 -6
  108. data/test/meta/local_svn_test.rb +6 -7
  109. data/test/meta/platform_thread_test.rb +5 -5
  110. data/test/meta/stubio_test.rb +6 -7
  111. data/test/stubs/wiki_link_handler.rb +5 -6
  112. data/test/test_helper.rb +5 -6
  113. data/test/unit/array_extensions_test.rb +5 -6
  114. data/test/unit/cache_reporter_fetcher_test.rb +5 -6
  115. data/test/unit/cache_reporter_test.rb +5 -6
  116. data/test/unit/change_test.rb +5 -6
  117. data/test/unit/chdir_runner_test.rb +5 -6
  118. data/test/unit/chief_editor_test.rb +5 -6
  119. data/test/unit/darcs_connection_test.rb +5 -6
  120. data/test/unit/darcs_reporter_test.rb +14 -6
  121. data/test/unit/darcs_temp_repo_test.rb +5 -6
  122. data/test/unit/default_page_provider_test.rb +5 -6
  123. data/test/unit/diff_chunk_builder_test.rb +6 -7
  124. data/test/unit/headline_test.rb +5 -6
  125. data/test/unit/page_test.rb +45 -6
  126. data/test/unit/reporter_driver_test.rb +6 -7
  127. data/test/unit/reporter_test.rb +6 -7
  128. data/test/unit/revision_test.rb +17 -13
  129. data/test/unit/runner_test.rb +5 -6
  130. data/test/unit/string_extensions_test.rb +6 -7
  131. data/test/unit/svn_connection_test.rb +5 -5
  132. data/test/unit/svn_reporter_interaction_test.rb +6 -7
  133. data/test/unit/svn_reporter_test.rb +5 -6
  134. data/test/unit/svn_settings_test.rb +6 -7
  135. data/test/unit/user_test.rb +6 -11
  136. data/test/unit/wiki_link_handler_test.rb +5 -6
  137. data/test/unit/wiki_renderer_test.rb +7 -7
  138. data/test/unit/wiki_reporter_test.rb +5 -6
  139. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiast.rb +15 -0
  140. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikihtmlgenerator.rb +18 -3
  141. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikilexer.rb +48 -9
  142. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikilinkhandler.rb +7 -0
  143. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiparser.rb +534 -485
  144. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiparser.y +25 -1
  145. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiwalker.rb +13 -0
  146. data/vendor/mediacloth-trunk/test/data/html1 +3 -3
  147. data/vendor/mediacloth-trunk/test/data/html10 +16 -16
  148. data/vendor/mediacloth-trunk/test/data/html11 +1 -1
  149. data/vendor/mediacloth-trunk/test/data/html13 +1 -1
  150. data/vendor/mediacloth-trunk/test/data/html4 +1 -1
  151. data/vendor/mediacloth-trunk/test/data/html5 +4 -4
  152. data/vendor/mediacloth-trunk/test/data/html7 +13 -1
  153. data/vendor/mediacloth-trunk/test/data/html9 +1 -1
  154. data/vendor/mediacloth-trunk/test/data/input1 +2 -0
  155. data/vendor/mediacloth-trunk/test/data/input7 +13 -1
  156. data/vendor/mediacloth-trunk/test/data/lex1 +1 -1
  157. data/vendor/mediacloth-trunk/test/data/lex7 +13 -1
  158. data/vendor/mediacloth-trunk/test/htmlgenerator.rb +26 -1
  159. data/vendor/mediacloth-trunk/test/lexer.rb +10 -0
  160. metadata +95 -103
  161. data/build/build.rb +0 -29
  162. data/config/report/subversion.yml +0 -26
  163. data/public/images/calendar.png +0 -0
  164. data/public/images/done.png +0 -0
  165. data/public/images/not-done.png +0 -0
  166. data/public/images/rss.png +0 -0
data/app/models/page.rb CHANGED
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'rubygems'
19
18
  require 'mediacloth'
@@ -56,6 +55,10 @@ class Page < ActiveRecord::Base
56
55
  most_recent(:text) ||
57
56
  ('MainPage' == self.name ? CONGRATS_TEXT : WIKI_NOT_FOUND_TEXT)
58
57
  end
58
+
59
+ def position
60
+ nil
61
+ end
59
62
 
60
63
  def reported_by
61
64
  self.kind.pluralize
@@ -131,11 +134,17 @@ class Page < ActiveRecord::Base
131
134
  :description => inject_title_into_text)
132
135
  end
133
136
 
137
+ def editable_by?(user)
138
+ user == original_author ||
139
+ is_open_to_all? ||
140
+ editors.split.include?(user.login)
141
+ end
142
+
134
143
  private
135
144
 
136
145
  def update_references(input)
137
146
  self.references.clear
138
- MediaCloth::wiki_to_html(input, :link_handler => reference_collector)
147
+ MediaCloth::wiki_to_html(input, :link_handler => reference_collector) rescue RuntimeError
139
148
  self.refered_pages.reset
140
149
  end
141
150
 
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  class Revision < ActiveRecord::Base
19
18
  belongs_to :page
@@ -23,11 +22,12 @@ class Revision < ActiveRecord::Base
23
22
  %w{name original_author revisions}.each do |method|
24
23
  define_method(method) { page.send(method) }
25
24
  end
25
+
26
+ def editable_by?(user) page.editable_by?(user) end
26
27
 
27
- def diff(rev_num)
28
+ def diff(other)
28
29
  ChunkDiffer.new.diff(text.split($/),
29
- #position numbers are 1-based, but we want 0-based when indexing revisions
30
- page.revisions[rev_num - 1].text.split($/))
30
+ other.text.split($/))
31
31
  end
32
32
 
33
33
  end
data/app/models/user.rb CHANGED
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'digest/sha1'
19
18
 
@@ -35,9 +34,7 @@ class User < ActiveRecord::Base
35
34
  end
36
35
 
37
36
  def can_edit?(page)
38
- self == page.original_author ||
39
- page.is_open_to_all? ||
40
- page.editors.split.include?(login)
37
+ page.editable_by?(self)
41
38
  end
42
39
 
43
40
  def can_change_editors?(page)
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  class WikiReference < ActiveRecord::Base
19
18
  belongs_to :referer, :class_name => 'Page', :foreign_key => 'referer_id'
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  class WikiSweeper < ActionController::Caching::Sweeper
19
18
 
@@ -37,7 +36,7 @@ private
37
36
  end
38
37
 
39
38
  def fragments_for(page)
40
- /wiki\/show.*?#{page.name}/
39
+ /wiki\/.*?#{page.name}/
41
40
  end
42
41
  end
43
42
 
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'ports/runner'
19
18
 
@@ -33,4 +32,4 @@ class ChdirRunner
33
32
  end
34
33
  end
35
34
 
36
- end
35
+ end
data/app/ports/runner.rb CHANGED
@@ -2,17 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
17
 
18
18
  class Runner
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'stringio'
19
18
 
@@ -51,4 +50,4 @@ class DarcsConnection
51
50
  @runner.run("darcs diff -u --match \"hash #{patch_hash}\"")
52
51
  end
53
52
 
54
- end
53
+ end
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'rexml/rexml'
19
18
 
@@ -44,14 +43,14 @@ class DarcsReporter < MotiroReporter
44
43
  id.sub(/@.*$/, '')
45
44
  end
46
45
 
46
+ private
47
+
47
48
  def time_from_darcs_date(date)
48
49
  md = date.match(/(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/)
49
- nums = md[1..6].collect do |s| s.to_i end
50
- Time.utc(nums[0], nums[1], nums[2], nums[3], nums[4], nums[5], nums[6])
50
+ ns = md[1..6].map {|s| s.to_i}
51
+ Time.utc(ns[0], ns[1], ns[2], ns[3], ns[4], ns[5], ns[6]).localtime
51
52
  end
52
53
 
53
- private
54
-
55
54
  def parse_headlines(xml_input)
56
55
  patches = REXML::Document.new(xml_input).root.elements || []
57
56
  patches.collect do |patch_info|
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'fileutils'
19
18
  require 'ports/chdir_runner'
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'core/wiki_reporter'
19
18
 
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'core/wiki_reporter'
19
18
 
@@ -2,18 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
16
 
18
17
  require 'rexml/rexml'
19
18
 
@@ -2,18 +2,18 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+
17
17
 
18
18
  require 'ports/runner'
19
19
  require 'reporters/svn_settings'
@@ -2,17 +2,17 @@
2
2
  # Copyright (C) 2006-2008 Thiago Arrais
3
3
  #
4
4
  # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2 of the License, or
5
+ # it under the terms of the GNU Affero General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
7
  # any later version.
8
8
  #
9
9
  # This program is distributed in the hope that it will be useful,
10
10
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
11
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
12
+ # GNU Affero General Public License for more details.
13
13
  #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
14
+ # You should have received a copy of the GNU Affero General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
17
 
18
18
  require 'core/settings'