nitro 0.29.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/CHANGELOG +410 -0
  2. data/ProjectInfo +36 -44
  3. data/README +5 -5
  4. data/doc/AUTHORS +6 -0
  5. data/doc/RELEASES +159 -2
  6. data/lib/glue/sweeper.rb +2 -2
  7. data/lib/glue/webfile.rb +14 -1
  8. data/lib/nitro.rb +6 -9
  9. data/lib/nitro/adapter/mongrel.rb +36 -43
  10. data/lib/nitro/adapter/scgi.rb +1 -1
  11. data/lib/nitro/adapter/webrick.rb +96 -24
  12. data/lib/nitro/caching/actions.rb +2 -1
  13. data/lib/nitro/caching/fragments.rb +1 -8
  14. data/lib/nitro/caching/output.rb +14 -4
  15. data/lib/nitro/cgi.rb +19 -21
  16. data/lib/nitro/cgi/cookie.rb +5 -1
  17. data/lib/nitro/cgi/request.rb +20 -4
  18. data/lib/nitro/compiler.rb +74 -28
  19. data/lib/nitro/compiler/cleanup.rb +1 -1
  20. data/lib/nitro/compiler/elements.rb +1 -2
  21. data/lib/nitro/compiler/localization.rb +1 -1
  22. data/lib/nitro/compiler/markup.rb +1 -1
  23. data/lib/nitro/compiler/script.rb +52 -44
  24. data/lib/nitro/compiler/squeeze.rb +4 -3
  25. data/lib/nitro/compiler/xslt.rb +7 -6
  26. data/lib/nitro/context.rb +39 -20
  27. data/lib/nitro/controller.rb +24 -5
  28. data/lib/nitro/dispatcher.rb +13 -5
  29. data/lib/nitro/global.rb +63 -0
  30. data/lib/nitro/helper/feed.rb +432 -0
  31. data/lib/nitro/helper/form.rb +11 -3
  32. data/lib/nitro/helper/form/builder.rb +140 -0
  33. data/lib/nitro/helper/form/controls.rb +2 -1
  34. data/lib/nitro/helper/javascript.rb +6 -0
  35. data/lib/nitro/helper/javascript/morphing.rb +13 -6
  36. data/lib/nitro/helper/xhtml.rb +42 -6
  37. data/lib/nitro/helper/xml.rb +3 -0
  38. data/lib/nitro/part.rb +2 -2
  39. data/lib/nitro/render.rb +7 -2
  40. data/lib/nitro/router.rb +57 -16
  41. data/lib/nitro/scaffolding.rb +29 -20
  42. data/lib/nitro/server.rb +4 -10
  43. data/lib/nitro/server/drb.rb +1 -1
  44. data/lib/nitro/server/runner.rb +10 -0
  45. data/lib/nitro/session.rb +31 -12
  46. data/lib/nitro/session/drb.rb +13 -1
  47. data/lib/nitro/session/file.rb +1 -1
  48. data/lib/nitro/session/memcached.rb +1 -1
  49. data/lib/nitro/session/memory.rb +1 -1
  50. data/lib/nitro/session/og.rb +1 -1
  51. data/lib/nitro/test/testcase.rb +3 -0
  52. data/proto/public/error.xhtml +5 -5
  53. data/proto/public/js/controls.js +2 -2
  54. data/proto/public/js/dragdrop.js +320 -79
  55. data/proto/public/js/effects.js +200 -152
  56. data/proto/public/js/prototype.js +284 -63
  57. data/proto/public/js/scriptaculous.js +7 -5
  58. data/proto/public/js/unittest.js +11 -0
  59. data/proto/public/scaffold/advanced_search.xhtml +30 -0
  60. data/proto/public/scaffold/list.xhtml +8 -1
  61. data/proto/public/scaffold/search.xhtml +2 -1
  62. data/proto/script/scgi_service +1 -1
  63. data/src/part/admin/controller.rb +1 -1
  64. data/src/part/admin/skin.rb +1 -1
  65. data/test/nitro/CONFIG.rb +3 -0
  66. data/test/nitro/adapter/tc_webrick.rb +1 -1
  67. data/test/nitro/cgi/tc_cookie.rb +1 -1
  68. data/test/nitro/cgi/tc_request.rb +5 -5
  69. data/test/nitro/compiler/tc_client_morpher.rb +47 -0
  70. data/test/nitro/compiler/tc_compiler.rb +2 -0
  71. data/test/nitro/helper/tc_feed.rb +138 -0
  72. data/test/nitro/helper/tc_pager.rb +1 -1
  73. data/test/nitro/helper/tc_rss.rb +1 -1
  74. data/test/nitro/helper/tc_table.rb +1 -1
  75. data/test/nitro/helper/tc_xhtml.rb +1 -1
  76. data/test/nitro/tc_caching.rb +1 -1
  77. data/test/nitro/tc_cgi.rb +1 -1
  78. data/test/nitro/tc_context.rb +1 -1
  79. data/test/nitro/tc_controller.rb +31 -3
  80. data/test/nitro/tc_controller_aspect.rb +1 -1
  81. data/test/nitro/tc_dispatcher.rb +1 -1
  82. data/test/nitro/tc_element.rb +1 -1
  83. data/test/nitro/tc_flash.rb +1 -1
  84. data/test/nitro/tc_helper.rb +1 -1
  85. data/test/nitro/tc_render.rb +6 -6
  86. data/test/nitro/tc_router.rb +8 -4
  87. data/test/nitro/tc_server.rb +1 -3
  88. data/test/nitro/tc_session.rb +1 -3
  89. metadata +107 -104
  90. data/Rakefile +0 -232
  91. data/lib/nitro/adapter/acgi.rb +0 -237
  92. data/proto/public/Makefile.acgi +0 -40
  93. data/proto/public/acgi.c +0 -138
@@ -1,40 +0,0 @@
1
- ruby=ruby
2
-
3
- all : acgi.cgi ipc
4
-
5
- acgi.cgi: acgi
6
- mv ./acgi ./acgi.cgi
7
- chmod 755 ./acgi.cgi
8
-
9
- ipc:
10
- mkdir /tmp/acgi_ipc/ > /dev/null 2>&1 || true
11
- chmod 777 /tmp/acgi_ipc/ > /dev/null 2>&1 || true
12
- mkfifo /tmp/acgi_ipc/server.commands > /dev/null 2>&1 || true
13
- mkfifo /tmp/acgi_ipc/server.environment > /dev/null 2>&1 || true
14
- mkfifo /tmp/acgi_ipc/server.stdin > /dev/null 2>&1 || true
15
- mkfifo /tmp/acgi_ipc/server.stdout > /dev/null 2>&1 || true
16
- mkfifo /tmp/acgi_ipc/server.stderr > /dev/null 2>&1 || true
17
- touch /tmp/acgi_ipc/client.lock > /dev/null 2>&1 || true
18
- touch /tmp/acgi_ipc/server.lock > /dev/null 2>&1 || true
19
- chmod 777 /tmp/acgi_ipc/* > /dev/null 2>&1 || true
20
- chmod 777 /tmp/acgi_ipc/ > /dev/null 2>&1 || true
21
- chmod 777 . > /dev/null 2>&1 || true
22
-
23
- clean:
24
- rm -f acgi.cgi
25
- rm -rf /tmp/acgi_ipc
26
-
27
- start:
28
- server.cgi start
29
-
30
- stop:
31
- server.cgi stop
32
-
33
- restart:
34
- server.cgi restart
35
-
36
- pid:
37
- server.cgi pid
38
-
39
- status:
40
- server.cgi status
@@ -1,138 +0,0 @@
1
- #include <stdlib.h>
2
- #include <stdio.h>
3
- #include <fcntl.h>
4
- #include <unistd.h>
5
-
6
-
7
- #define BUF_SIZE 8192
8
- //#define STRING(str) #str
9
- //#define BUF_FILL_FORMAT "%" STRING(BUF_SIZE) "c"
10
- #define BUF_FILL_FORMAT "%8192c"
11
-
12
- #define IPC_DIR "/tmp/acgi_ipc"
13
- #define PATH_SEPARATOR "/"
14
-
15
- #define CLIENT_LOCK_PATH IPC_DIR PATH_SEPARATOR "client.lock"
16
- #define SERVER_LOCK_PATH IPC_DIR PATH_SEPARATOR "server.lock"
17
- #define SERVER_ENVIRONMENT_PATH IPC_DIR PATH_SEPARATOR "server.environment"
18
- #define SERVER_STDIN_PATH IPC_DIR PATH_SEPARATOR "server.stdin"
19
- #define SERVER_STDOUT_PATH IPC_DIR PATH_SEPARATOR "server.stdout"
20
- #define SERVER_STDERR_PATH IPC_DIR PATH_SEPARATOR "server.stderr"
21
-
22
- //#define SERVER_RB "nohup ruby ../run.rb </dev/null >/dev/null 2>&1 &"
23
- #define SERVER_RB "ruby ../run.rb"
24
-
25
- static int argc;
26
- static char **argv;
27
- static char **env;
28
- static FILE *fs_client_lock;
29
- static FILE *fs_server_lock;
30
- static FILE *fs_environment;
31
- static FILE *fs_stdin;
32
- static FILE *fs_stderr;
33
- static FILE *fs_stdout;
34
- static struct flock lock;
35
- static char **e;
36
- static char buf[BUF_SIZE];
37
- static int n;
38
-
39
- static void
40
- ensure_server_running ()
41
- {
42
- int ret;
43
- char *cmd;
44
- fs_server_lock = fopen (SERVER_LOCK_PATH, "w");
45
- lock.l_type = F_WRLCK;
46
- if(fcntl (fileno (fs_server_lock), F_SETLK, &lock) == 0)
47
- {
48
- cmd = SERVER_RB;
49
- system (cmd);
50
- lock.l_type = F_UNLCK;
51
- fcntl (fileno (fs_server_lock), F_SETLKW, &lock);
52
- flock(fileno(fs_server_lock), (LOCK_UN|LOCK_NB));
53
- }
54
- }
55
- static void
56
- aquire_lock ()
57
- {
58
- fs_client_lock = fopen (CLIENT_LOCK_PATH, "w");
59
- lock.l_type = F_WRLCK;
60
- fcntl (fileno (fs_client_lock), F_SETLKW, &lock);
61
- }
62
- static void
63
- send_env ()
64
- {
65
- fs_environment = fopen (SERVER_ENVIRONMENT_PATH, "w");
66
- for (e = env; *e; e++)
67
- {
68
- fprintf (fs_environment, "%s%c", *e, '\0');
69
- }
70
- fclose (fs_environment);
71
- }
72
- static void
73
- send_stdin ()
74
- {
75
- buf[0] = n = 0;
76
- fs_stdin = fopen (SERVER_STDIN_PATH, "w");
77
- while ((n = fscanf (stdin, BUF_FILL_FORMAT, &buf[0])) > 0)
78
- {
79
- fprintf (fs_stdin, "%*s", n, buf);
80
- }
81
- fclose (fs_stdin);
82
- }
83
- static void
84
- open_stdout_and_stderr ()
85
- {
86
- fs_stdout = fopen (SERVER_STDOUT_PATH, "r");
87
- fs_stderr = fopen (SERVER_STDERR_PATH, "r");
88
- }
89
- static void
90
- receive_stdout ()
91
- {
92
- buf[0] = n = 0;
93
- while ((n = fscanf (fs_stdout, BUF_FILL_FORMAT, &buf[0])) > 0)
94
- {
95
- fprintf (stdout, "%*s", n, buf);
96
- }
97
- fclose (fs_stdout);
98
- }
99
- static void
100
- receive_stderr ()
101
- {
102
- buf[0] = n = 0;
103
- while ((n = fscanf (fs_stderr, BUF_FILL_FORMAT, &buf[0])) > 0)
104
- {
105
- fprintf (stderr, "%*s", n, buf);
106
- }
107
- fclose (fs_stderr);
108
- }
109
- static void
110
- release_lock ()
111
- {
112
- lock.l_type = F_UNLCK;
113
- fcntl (fileno (fs_client_lock), F_SETLK, &lock);
114
- }
115
-
116
- int
117
- main (__argc, __argv, __env)
118
- int __argc;
119
- char **__argv;
120
- char **__env;
121
- {
122
- argc = __argc;
123
- argv = __argv;
124
- env = __env;
125
-
126
- putenv ("ACGI_SERVER=1");
127
- putenv ("NITRO_INVOKE=acgi_proc");
128
-
129
- ensure_server_running ();
130
- aquire_lock ();
131
- send_env ();
132
- send_stdin ();
133
- open_stdout_and_stderr ();
134
- receive_stdout ();
135
- receive_stderr ();
136
- release_lock ();
137
- return 0;
138
- }