rp 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/rp +7 -3
- data/lib/rp.rb +36 -20
- data/lib/rp/version.rb +1 -1
- metadata +1 -1
data/bin/rp
CHANGED
@@ -2,9 +2,13 @@
|
|
2
2
|
require 'Rp'
|
3
3
|
|
4
4
|
if ARGV.any?
|
5
|
+
method = :to_html
|
6
|
+
if ARGV.include? '--rhtml'
|
7
|
+
method = :to_rhtml
|
8
|
+
end
|
5
9
|
ARGV.each do |f|
|
6
|
-
|
10
|
+
puts Rp.send(method, File.open(f, "r").each_line) unless f == '--rhtml'
|
7
11
|
end
|
8
12
|
else
|
9
|
-
puts "Rp [file1] [file2] ..."
|
10
|
-
end
|
13
|
+
puts "Rp [--rhtml] [file1] [file2] ..."
|
14
|
+
end
|
data/lib/rp.rb
CHANGED
@@ -17,11 +17,32 @@ module Rp
|
|
17
17
|
n.times {|i| @doc << "\n" << INDENT*(s-i) << "end"} if s >= 0
|
18
18
|
end
|
19
19
|
|
20
|
+
def indent_and_ends l,i
|
21
|
+
ends @indent-1, @indent-i
|
22
|
+
@indent = i
|
23
|
+
@doc << "\n#{l}"
|
24
|
+
end
|
25
|
+
|
26
|
+
def indent_and_do l,i
|
27
|
+
@doc << " do\n#{l}"
|
28
|
+
@indent = i
|
29
|
+
end
|
30
|
+
|
31
|
+
def indent_line l,i
|
32
|
+
if i > @indent
|
33
|
+
indent_and_do l,i
|
34
|
+
elsif i < @indent
|
35
|
+
indent_and_ends l,i
|
36
|
+
else
|
37
|
+
@doc << "\n#{l}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
20
41
|
def class_and_id l, i
|
21
42
|
cls = ""
|
22
43
|
id = ""
|
23
44
|
|
24
|
-
parts = l.split(" ",
|
45
|
+
parts = l.split(" ", 2)
|
25
46
|
t1, t2 = parts[0].split("#")
|
26
47
|
tmp = t1.split(".")
|
27
48
|
tag_name = tmp.shift
|
@@ -54,28 +75,23 @@ module Rp
|
|
54
75
|
|
55
76
|
if l[0..1] == CODE_MARK
|
56
77
|
l.gsub!(/#{CODE_MARK} */, INDENT * i)
|
57
|
-
@doc << "\n#{l}"
|
58
|
-
next
|
59
|
-
end
|
60
|
-
|
61
|
-
l = class_and_id l, i
|
62
|
-
|
63
|
-
if i > @indent
|
64
|
-
# do
|
65
|
-
@doc << " do\n" << l
|
66
|
-
@indent = i
|
67
|
-
elsif i < @indent
|
68
|
-
# end
|
69
|
-
ends @indent-1, @indent-i
|
70
|
-
@indent = i
|
71
|
-
@doc << "\n" << l
|
72
78
|
else
|
73
|
-
|
79
|
+
l = class_and_id l, i
|
74
80
|
end
|
75
|
-
end
|
76
81
|
|
82
|
+
indent_line l,i
|
83
|
+
end
|
77
84
|
ends(@indent-1, @indent)
|
78
|
-
|
85
|
+
@doc
|
86
|
+
end
|
87
|
+
|
88
|
+
def to_html lines
|
89
|
+
eval(parse(lines))
|
90
|
+
end
|
91
|
+
|
92
|
+
def to_rhtml lines
|
93
|
+
parse(lines)
|
79
94
|
end
|
80
95
|
end
|
81
|
-
#
|
96
|
+
# puts Rp.to_rhtml(File.open(File.expand_path("../tmp/test1.r")).readlines)
|
97
|
+
# puts Rp.to_html(File.open(File.expand_path("../tmp/test1.r")).readlines)
|
data/lib/rp/version.rb
CHANGED