nitro 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. data/CHANGELOG +218 -0
  2. data/INSTALL +3 -0
  3. data/README +4 -2
  4. data/Rakefile +150 -8
  5. data/benchmark/bench.rb +1 -1
  6. data/doc/AUTHORS +2 -8
  7. data/doc/RELEASES +63 -1
  8. data/examples/ajax/controller.rb +2 -2
  9. data/examples/ajax/public/index.xhtml +3 -1
  10. data/examples/ajax/run.rb +3 -3
  11. data/examples/blog/README +8 -0
  12. data/examples/blog/cache/entriesadmintrue +3 -0
  13. data/examples/blog/run.rb +38 -40
  14. data/examples/blog/src/blog.rb +2 -1
  15. data/examples/blog/src/controller.rb +40 -20
  16. data/examples/blog/src/mailer.rb +2 -2
  17. data/examples/blog/src/models/blog.rb +2 -1
  18. data/examples/blog/src/models/content.rb +4 -33
  19. data/examples/blog/src/views/error.xhtml +1 -1
  20. data/examples/blog/src/xsl/style.xsl +1 -1
  21. data/examples/blog/test/tc_blog.rb +43 -0
  22. data/examples/flash/run.rb +2 -2
  23. data/examples/no_xsl_blog/lib/blog.rb +1 -1
  24. data/examples/no_xsl_blog/lib/blog/controller.rb +26 -17
  25. data/examples/no_xsl_blog/lib/blog/model.rb +3 -3
  26. data/examples/no_xsl_blog/lib/blog/template.rb +1 -1
  27. data/examples/no_xsl_blog/lib/content.rb +3 -7
  28. data/examples/no_xsl_blog/run.rb +34 -34
  29. data/examples/tiny/public/deep/dir/hello.xhtml +2 -0
  30. data/examples/tiny/run.rb +2 -2
  31. data/examples/wee_style/run.rb +5 -3
  32. data/examples/why_wiki/run.rb +5 -3
  33. data/install.rb +1 -1
  34. data/lib/nitro.rb +10 -9
  35. data/lib/nitro/adapters/cgi.rb +27 -2
  36. data/lib/nitro/adapters/fastcgi.rb +6 -2
  37. data/lib/nitro/adapters/webrick.rb +11 -9
  38. data/lib/nitro/buffering.rb +2 -2
  39. data/lib/nitro/builders/atom.rb +78 -0
  40. data/lib/nitro/builders/form.rb +2 -2
  41. data/lib/nitro/builders/rss.rb +4 -4
  42. data/lib/nitro/builders/table.rb +2 -2
  43. data/lib/nitro/builders/xhtml.rb +5 -8
  44. data/lib/nitro/builders/xml.rb +38 -14
  45. data/lib/nitro/caching.rb +2 -2
  46. data/lib/nitro/caching/actions.rb +2 -2
  47. data/lib/nitro/caching/fragments.rb +2 -2
  48. data/lib/nitro/caching/invalidation.rb +2 -28
  49. data/lib/nitro/caching/output.rb +3 -3
  50. data/lib/nitro/caching/stores.rb +4 -4
  51. data/lib/nitro/conf.rb +11 -6
  52. data/lib/nitro/context.rb +2 -2
  53. data/lib/nitro/controller.rb +12 -7
  54. data/lib/nitro/cookie.rb +2 -2
  55. data/lib/nitro/dispatcher.rb +33 -40
  56. data/lib/nitro/environment.rb +1 -1
  57. data/lib/nitro/localization.rb +5 -7
  58. data/lib/nitro/mail.rb +2 -2
  59. data/lib/nitro/markup.rb +5 -5
  60. data/lib/nitro/output.rb +2 -2
  61. data/lib/nitro/part.rb +8 -5
  62. data/lib/nitro/render.rb +46 -45
  63. data/lib/nitro/request.rb +7 -6
  64. data/lib/nitro/response.rb +14 -5
  65. data/lib/nitro/routing.rb +2 -2
  66. data/lib/nitro/runner.rb +57 -17
  67. data/lib/nitro/scaffold.rb +14 -8
  68. data/lib/nitro/session.rb +7 -4
  69. data/lib/nitro/session/drb.rb +2 -2
  70. data/lib/nitro/session/drbserver.rb +2 -2
  71. data/lib/nitro/session/memory.rb +2 -2
  72. data/lib/nitro/shaders.rb +8 -7
  73. data/lib/nitro/simple.rb +4 -1
  74. data/lib/nitro/template.rb +8 -8
  75. data/lib/nitro/testing.rb +6 -0
  76. data/lib/nitro/testing/assertions.rb +102 -0
  77. data/lib/nitro/testing/context.rb +52 -0
  78. data/lib/nitro/testing/testcase.rb +55 -0
  79. data/lib/nitro/ui/pager.rb +3 -3
  80. data/lib/nitro/ui/popup.rb +8 -13
  81. data/lib/nitro/ui/tabs.rb +4 -10
  82. data/lib/nitro/uri.rb +7 -7
  83. data/proto/doc/README +1 -0
  84. data/proto/public/cgi.rb +5 -0
  85. data/proto/run.rb +2 -4
  86. data/test/nitro/adapters/tc_cgi.rb +1 -1
  87. data/test/nitro/adapters/tc_webrick.rb +1 -2
  88. data/test/nitro/builders/tc_atom.rb +26 -0
  89. data/test/nitro/builders/tc_rss.rb +3 -2
  90. data/test/nitro/builders/tc_table.rb +1 -1
  91. data/test/nitro/builders/tc_xhtml.rb +4 -3
  92. data/test/nitro/builders/tc_xml.rb +7 -7
  93. data/test/nitro/tc_context.rb +1 -1
  94. data/test/nitro/tc_controller.rb +5 -3
  95. data/test/nitro/tc_dispatcher.rb +19 -18
  96. data/test/nitro/tc_localization.rb +1 -1
  97. data/test/nitro/tc_mail.rb +1 -1
  98. data/test/nitro/tc_session.rb +1 -1
  99. data/test/nitro/tc_template.rb +1 -1
  100. data/test/nitro/tc_uri.rb +3 -4
  101. data/test/nitro/ui/tc_pager.rb +7 -7
  102. data/test/public/blog/inc1.xhtml +2 -0
  103. data/test/public/blog/inc2.xhtml +1 -0
  104. data/test/public/blog/list.xhtml +3 -0
  105. metadata +180 -203
  106. data/examples/blog/cache/entriesadmin +0 -12
  107. data/lib/nitro/cluster.rb +0 -218
  108. data/lib/nitro/component.rb +0 -15
  109. data/lib/nitro/filters.rb +0 -215
  110. data/lib/nitro/ui/date-select.rb +0 -69
  111. data/test/nitro/tc_filters.rb +0 -111
@@ -1,69 +0,0 @@
1
- # * George Moschovitis <gm@navel.gr>
2
- # (c) 2004-2005 Navel, all rights reserved.
3
- # $Id: select.rb 39 2004-09-29 12:40:53Z elathan $
4
-
5
- module N; module UI
6
-
7
- MONTHS_EN = %w{ - January February March April May June July August September October November December }
8
- MONTHS_EL = %w{ - ���������� ����������� ������� �������� ����� ������� ������� ��������� ����������� ��������� ��������� ���������� }
9
-
10
- # Generate a component that allows the user to select a day.
11
- #
12
- def self.date_select(prefix, day, month, year, yorder = 0, locale = "en")
13
- str = ""
14
- months = ("en" == locale ? MONTHS_EN : MONTHS_EL)
15
-
16
- str << %{
17
- <select name="#{prefix}day">
18
- <option value="0">--</option>
19
- }
20
-
21
- for i in (1..31)
22
- if i == day
23
- str << %{<option value="#{i}" selected="1">#{i}</option>}
24
- else
25
- str << %{<option value="#{i}">#{i}</option>}
26
- end
27
- end
28
-
29
- str << %{
30
- </select>
31
-
32
- <select name="#{prefix}month">
33
- <option value="0">-------</option>
34
- }
35
-
36
- for i in (1..12)
37
- if i == month
38
- str << %{<option value="#{i}" selected="1">#{months[i]}</option>}
39
- else
40
- str << %{<option value="#{i}">#{months[i]}</option>}
41
- end
42
- end
43
-
44
- str << %{
45
- </select>
46
-
47
- <select name="#{prefix}year">
48
- <option value="0">--</option>
49
- }
50
-
51
- nowyear = Time.now.year
52
-
53
- for i in (0..60)
54
- y = yorder < 0 ? nowyear - i : nowyear + i
55
- if y == year
56
- str << %{<option value="#{y}" selected="1">#{y}</option>}
57
- else
58
- str << %{<option value="#{y}">#{y}</option>}
59
- end
60
- end
61
-
62
- str << %{
63
- </select>
64
- }
65
-
66
- return str
67
- end
68
-
69
- end; end
@@ -1,111 +0,0 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
2
-
3
- require 'test/unit'
4
- require 'ostruct'
5
-
6
- require 'nitro/dispatcher'
7
- require 'nitro/context'
8
- require 'nitro/controller'
9
- require 'nitro/filters'
10
-
11
- class TestCaseFilters < Test::Unit::TestCase # :nodoc: all
12
- include N
13
-
14
- class MyController < Controller
15
-
16
- attr_accessor :login_f, :pre_f, :post_f
17
-
18
- before_filter :pre, :only => :login
19
- after_filter :post, :except => :login
20
-
21
- def initialize(*args)
22
- super
23
- @login_f = @pre_f = @post_f = 0
24
- end
25
-
26
- def login
27
- @login_f = @pre_f + @post_f + 1
28
- render_nothing
29
- end
30
-
31
- def logout
32
- @login_f = @pre_f + @post_f + 1
33
- render_nothing
34
- end
35
-
36
- private
37
-
38
- def pre
39
- @pre_f += 1
40
- end
41
-
42
- def post
43
- @post_f += 1
44
- end
45
- end
46
-
47
- class AnotherController < MyController
48
- before_filter :more
49
-
50
- def register
51
- @login_f = @pre_f + @post_f + 1
52
- render_nothing
53
- end
54
-
55
- private
56
-
57
- def more
58
- @a = 2
59
- end
60
- end
61
-
62
- def setup
63
- @disp = Dispatcher.new(
64
- 'my' => MyController,
65
- 'another' => AnotherController
66
- )
67
- @conf = OpenStruct.new
68
- @conf.dispatcher = @disp
69
- @ctx = Context.new(@conf)
70
- @ctx.headers = {}
71
- @ctx.params = {}
72
- end
73
-
74
- def teardown
75
- @conf = @ctx = nil
76
- end
77
-
78
- def test_options
79
- c = MyController.new(@ctx)
80
-
81
- c.__xhtml__login
82
- assert_equal 2, c.login_f
83
- assert_equal 1, c.pre_f
84
- assert_equal 0, c.post_f
85
-
86
- c.__xhtml__logout
87
- assert_equal 2, c.login_f
88
- assert_equal 1, c.pre_f
89
- assert_equal 1, c.post_f
90
- end
91
-
92
- def test_inheritable
93
- c = AnotherController.new(@ctx)
94
-
95
- c.__xhtml__register
96
- assert_equal 1, c.login_f
97
- assert_equal 0, c.pre_f
98
- assert_equal 1, c.post_f
99
-
100
- # bug: test filters not propageted.
101
-
102
- assert_equal 0, Controller.before_filters.size
103
- assert_equal 1, MyController.before_filters.size
104
- assert_equal 2, AnotherController.before_filters.size
105
-
106
- assert_equal 0, Controller.after_filters.size
107
- assert_equal 1, MyController.after_filters.size
108
- assert_equal 1, AnotherController.after_filters.size
109
- end
110
-
111
- end