nitro 0.29.0 → 0.30.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +410 -0
- data/ProjectInfo +36 -44
- data/README +5 -5
- data/doc/AUTHORS +6 -0
- data/doc/RELEASES +159 -2
- data/lib/glue/sweeper.rb +2 -2
- data/lib/glue/webfile.rb +14 -1
- data/lib/nitro.rb +6 -9
- data/lib/nitro/adapter/mongrel.rb +36 -43
- data/lib/nitro/adapter/scgi.rb +1 -1
- data/lib/nitro/adapter/webrick.rb +96 -24
- data/lib/nitro/caching/actions.rb +2 -1
- data/lib/nitro/caching/fragments.rb +1 -8
- data/lib/nitro/caching/output.rb +14 -4
- data/lib/nitro/cgi.rb +19 -21
- data/lib/nitro/cgi/cookie.rb +5 -1
- data/lib/nitro/cgi/request.rb +20 -4
- data/lib/nitro/compiler.rb +74 -28
- data/lib/nitro/compiler/cleanup.rb +1 -1
- data/lib/nitro/compiler/elements.rb +1 -2
- data/lib/nitro/compiler/localization.rb +1 -1
- data/lib/nitro/compiler/markup.rb +1 -1
- data/lib/nitro/compiler/script.rb +52 -44
- data/lib/nitro/compiler/squeeze.rb +4 -3
- data/lib/nitro/compiler/xslt.rb +7 -6
- data/lib/nitro/context.rb +39 -20
- data/lib/nitro/controller.rb +24 -5
- data/lib/nitro/dispatcher.rb +13 -5
- data/lib/nitro/global.rb +63 -0
- data/lib/nitro/helper/feed.rb +432 -0
- data/lib/nitro/helper/form.rb +11 -3
- data/lib/nitro/helper/form/builder.rb +140 -0
- data/lib/nitro/helper/form/controls.rb +2 -1
- data/lib/nitro/helper/javascript.rb +6 -0
- data/lib/nitro/helper/javascript/morphing.rb +13 -6
- data/lib/nitro/helper/xhtml.rb +42 -6
- data/lib/nitro/helper/xml.rb +3 -0
- data/lib/nitro/part.rb +2 -2
- data/lib/nitro/render.rb +7 -2
- data/lib/nitro/router.rb +57 -16
- data/lib/nitro/scaffolding.rb +29 -20
- data/lib/nitro/server.rb +4 -10
- data/lib/nitro/server/drb.rb +1 -1
- data/lib/nitro/server/runner.rb +10 -0
- data/lib/nitro/session.rb +31 -12
- data/lib/nitro/session/drb.rb +13 -1
- data/lib/nitro/session/file.rb +1 -1
- data/lib/nitro/session/memcached.rb +1 -1
- data/lib/nitro/session/memory.rb +1 -1
- data/lib/nitro/session/og.rb +1 -1
- data/lib/nitro/test/testcase.rb +3 -0
- data/proto/public/error.xhtml +5 -5
- data/proto/public/js/controls.js +2 -2
- data/proto/public/js/dragdrop.js +320 -79
- data/proto/public/js/effects.js +200 -152
- data/proto/public/js/prototype.js +284 -63
- data/proto/public/js/scriptaculous.js +7 -5
- data/proto/public/js/unittest.js +11 -0
- data/proto/public/scaffold/advanced_search.xhtml +30 -0
- data/proto/public/scaffold/list.xhtml +8 -1
- data/proto/public/scaffold/search.xhtml +2 -1
- data/proto/script/scgi_service +1 -1
- data/src/part/admin/controller.rb +1 -1
- data/src/part/admin/skin.rb +1 -1
- data/test/nitro/CONFIG.rb +3 -0
- data/test/nitro/adapter/tc_webrick.rb +1 -1
- data/test/nitro/cgi/tc_cookie.rb +1 -1
- data/test/nitro/cgi/tc_request.rb +5 -5
- data/test/nitro/compiler/tc_client_morpher.rb +47 -0
- data/test/nitro/compiler/tc_compiler.rb +2 -0
- data/test/nitro/helper/tc_feed.rb +138 -0
- data/test/nitro/helper/tc_pager.rb +1 -1
- data/test/nitro/helper/tc_rss.rb +1 -1
- data/test/nitro/helper/tc_table.rb +1 -1
- data/test/nitro/helper/tc_xhtml.rb +1 -1
- data/test/nitro/tc_caching.rb +1 -1
- data/test/nitro/tc_cgi.rb +1 -1
- data/test/nitro/tc_context.rb +1 -1
- data/test/nitro/tc_controller.rb +31 -3
- data/test/nitro/tc_controller_aspect.rb +1 -1
- data/test/nitro/tc_dispatcher.rb +1 -1
- data/test/nitro/tc_element.rb +1 -1
- data/test/nitro/tc_flash.rb +1 -1
- data/test/nitro/tc_helper.rb +1 -1
- data/test/nitro/tc_render.rb +6 -6
- data/test/nitro/tc_router.rb +8 -4
- data/test/nitro/tc_server.rb +1 -3
- data/test/nitro/tc_session.rb +1 -3
- metadata +107 -104
- data/Rakefile +0 -232
- data/lib/nitro/adapter/acgi.rb +0 -237
- data/proto/public/Makefile.acgi +0 -40
- data/proto/public/acgi.c +0 -138
data/proto/public/Makefile.acgi
DELETED
@@ -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
|
data/proto/public/acgi.c
DELETED
@@ -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
|
-
}
|