rresume 0.1.3 → 0.2.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.
- data/lib/RRESUME_VERSION.rb +1 -1
- data/lib/doc/classes/Duration.html +146 -0
- data/lib/doc/classes/Duration.src/M000032.html +26 -0
- data/lib/doc/classes/Duration.src/M000033.html +18 -0
- data/lib/doc/classes/Duration.src/M000043.html +26 -0
- data/lib/doc/classes/Duration.src/M000044.html +18 -0
- data/lib/doc/classes/Duration.src/M000045.html +18 -0
- data/lib/doc/classes/Duration.src/M000053.html +26 -0
- data/lib/doc/classes/Duration.src/M000054.html +18 -0
- data/lib/doc/classes/OutputPersonal.html +131 -0
- data/lib/doc/classes/OutputPersonal.src/M000031.html +18 -0
- data/lib/doc/classes/OutputPersonal.src/M000042.html +18 -0
- data/lib/doc/classes/OutputPersonal.src/M000043.html +18 -0
- data/lib/doc/classes/OutputPersonal.src/M000052.html +18 -0
- data/lib/doc/classes/Person.html +266 -0
- data/lib/doc/classes/Person.src/M000007.html +29 -0
- data/lib/doc/classes/Person.src/M000008.html +22 -0
- data/lib/doc/classes/Person.src/M000009.html +51 -0
- data/lib/doc/classes/Person.src/M000010.html +25 -0
- data/lib/doc/classes/Person.src/M000011.html +18 -0
- data/lib/doc/classes/Person.src/M000012.html +25 -0
- data/lib/doc/classes/Person.src/M000013.html +41 -0
- data/lib/doc/classes/Person.src/M000014.html +64 -0
- data/lib/doc/classes/Person.src/M000015.html +44 -0
- data/lib/doc/classes/Person.src/M000016.html +37 -0
- data/lib/doc/classes/Person.src/M000017.html +39 -0
- data/lib/doc/classes/Person.src/M000018.html +57 -0
- data/lib/doc/classes/Person.src/M000019.html +49 -0
- data/lib/doc/classes/Project.html +327 -0
- data/lib/doc/classes/Project.src/M000020.html +21 -0
- data/lib/doc/classes/Project.src/M000021.html +22 -0
- data/lib/doc/classes/Project.src/M000022.html +48 -0
- data/lib/doc/classes/Project.src/M000023.html +18 -0
- data/lib/doc/classes/Project.src/M000024.html +19 -0
- data/lib/doc/classes/Project.src/M000025.html +19 -0
- data/lib/doc/classes/Project.src/M000026.html +21 -0
- data/lib/doc/classes/Project.src/M000027.html +18 -0
- data/lib/doc/classes/Project.src/M000028.html +22 -0
- data/lib/doc/classes/Project.src/M000029.html +18 -0
- data/lib/doc/classes/Project.src/M000030.html +30 -0
- data/lib/doc/classes/Project.src/M000031.html +22 -0
- data/lib/doc/classes/Project.src/M000032.html +48 -0
- data/lib/doc/classes/Project.src/M000033.html +18 -0
- data/lib/doc/classes/Project.src/M000034.html +19 -0
- data/lib/doc/classes/Project.src/M000035.html +19 -0
- data/lib/doc/classes/Project.src/M000036.html +21 -0
- data/lib/doc/classes/Project.src/M000037.html +18 -0
- data/lib/doc/classes/Project.src/M000038.html +22 -0
- data/lib/doc/classes/Project.src/M000039.html +18 -0
- data/lib/doc/classes/Project.src/M000040.html +18 -0
- data/lib/doc/classes/Project.src/M000041.html +22 -0
- data/lib/doc/classes/Project.src/M000042.html +48 -0
- data/lib/doc/classes/Project.src/M000043.html +18 -0
- data/lib/doc/classes/Project.src/M000044.html +19 -0
- data/lib/doc/classes/Project.src/M000045.html +19 -0
- data/lib/doc/classes/Project.src/M000046.html +21 -0
- data/lib/doc/classes/Project.src/M000047.html +18 -0
- data/lib/doc/classes/Project.src/M000048.html +22 -0
- data/lib/doc/classes/Project.src/M000049.html +18 -0
- data/lib/doc/classes/ProjectList.html +280 -0
- data/lib/doc/classes/ProjectList.src/M000010.html +18 -0
- data/lib/doc/classes/ProjectList.src/M000011.html +18 -0
- data/lib/doc/classes/ProjectList.src/M000012.html +41 -0
- data/lib/doc/classes/ProjectList.src/M000013.html +18 -0
- data/lib/doc/classes/ProjectList.src/M000014.html +20 -0
- data/lib/doc/classes/ProjectList.src/M000015.html +42 -0
- data/lib/doc/classes/ProjectList.src/M000016.html +38 -0
- data/lib/doc/classes/ProjectList.src/M000017.html +18 -0
- data/lib/doc/classes/ProjectList.src/M000018.html +33 -0
- data/lib/doc/classes/ProjectList.src/M000019.html +30 -0
- data/lib/doc/classes/ProjectList.src/M000020.html +19 -0
- data/lib/doc/classes/ProjectList.src/M000021.html +18 -0
- data/lib/doc/classes/ProjectList.src/M000022.html +20 -0
- data/lib/doc/classes/ProjectList.src/M000023.html +41 -0
- data/lib/doc/classes/ProjectList.src/M000024.html +41 -0
- data/lib/doc/classes/ProjectList.src/M000025.html +37 -0
- data/lib/doc/classes/ProjectList.src/M000026.html +18 -0
- data/lib/doc/classes/ProjectList.src/M000027.html +33 -0
- data/lib/doc/classes/ProjectList.src/M000028.html +30 -0
- data/lib/doc/classes/ProjectList.src/M000029.html +30 -0
- data/lib/doc/classes/ProjectList.src/M000030.html +19 -0
- data/lib/doc/classes/ProjectList.src/M000031.html +18 -0
- data/lib/doc/classes/ProjectList.src/M000032.html +20 -0
- data/lib/doc/classes/ProjectList.src/M000033.html +41 -0
- data/lib/doc/classes/ProjectList.src/M000034.html +41 -0
- data/lib/doc/classes/ProjectList.src/M000035.html +37 -0
- data/lib/doc/classes/ProjectList.src/M000036.html +18 -0
- data/lib/doc/classes/ProjectList.src/M000037.html +33 -0
- data/lib/doc/classes/ProjectList.src/M000038.html +30 -0
- data/lib/doc/classes/String.html +144 -0
- data/lib/doc/classes/String.src/M000030.html +27 -0
- data/lib/doc/classes/String.src/M000040.html +27 -0
- data/lib/doc/classes/String.src/M000041.html +27 -0
- data/lib/doc/classes/String.src/M000042.html +27 -0
- data/lib/doc/classes/String.src/M000050.html +27 -0
- data/lib/doc/classes/String.src/M000051.html +27 -0
- data/lib/doc/classes/Tool.html +222 -0
- data/lib/doc/classes/Tool.src/M000002.html +20 -0
- data/lib/doc/classes/Tool.src/M000003.html +18 -0
- data/lib/doc/classes/Tool.src/M000004.html +18 -0
- data/lib/doc/classes/Tool.src/M000005.html +19 -0
- data/lib/doc/classes/Tool.src/M000006.html +21 -0
- data/lib/doc/created.rid +1 -0
- data/lib/doc/files/RRESUME_VERSION_rb.html +114 -0
- data/lib/doc/files/pdf-test2_rb.html +110 -0
- data/lib/doc/files/pdf-test_rb.html +114 -0
- data/lib/doc/files/rresume/duration_rb.html +101 -0
- data/lib/doc/files/rresume/output_rb.html +101 -0
- data/lib/doc/files/rresume/person_rb.html +110 -0
- data/lib/doc/files/rresume/project_rb.html +110 -0
- data/lib/doc/files/rresume/projectlist_rb.html +108 -0
- data/lib/doc/files/rresume/sav_output_rb.html +136 -0
- data/lib/doc/files/rresume/sav_output_rb.src/M000001.html +41 -0
- data/lib/doc/files/rresume/sav_projectlist_rb.html +107 -0
- data/lib/doc/files/rresume/tool_rb.html +101 -0
- data/lib/doc/files/rresume_rb.html +113 -0
- data/lib/doc/files/tables_rb.html +101 -0
- data/lib/doc/files/ttt_rb.html +115 -0
- data/lib/doc/fr_class_index.html +33 -0
- data/lib/doc/fr_file_index.html +39 -0
- data/lib/doc/fr_method_index.html +59 -0
- data/lib/doc/index.html +24 -0
- data/lib/rresume.rb +1 -0
- data/lib/rresume/company.rb +12 -0
- data/lib/rresume/person.rb +281 -428
- data/lib/rresume/project.rb +17 -16
- data/lib/svn-commit.tmp +4 -0
- data/test/example_thomas.rb +39 -7
- data/test/profil.html +35 -28
- data/test/profil_2006-08-25.pdf +923 -0
- data/test/tc_thomas_neue_methode.rb +4 -0
- data/test/thomas.css +4 -0
- data/test/vorlage_profil.html +44 -18
- metadata +139 -6
- data/lib/rresume/sav_projectlist.rb +0 -365
- data/test/beispeil1.rb +0 -13
- data/test/example_sigrid.rb +0 -599
- data/test/profil.pdf +0 -737
@@ -0,0 +1,115 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>File: ttt.rb</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="fileHeader">
|
50
|
+
<h1>ttt.rb</h1>
|
51
|
+
<table class="header-table">
|
52
|
+
<tr class="top-aligned-row">
|
53
|
+
<td><strong>Path:</strong></td>
|
54
|
+
<td>ttt.rb
|
55
|
+
</td>
|
56
|
+
</tr>
|
57
|
+
<tr class="top-aligned-row">
|
58
|
+
<td><strong>Last Update:</strong></td>
|
59
|
+
<td>Wed Aug 09 08:22:46 CEST 2006</td>
|
60
|
+
</tr>
|
61
|
+
</table>
|
62
|
+
</div>
|
63
|
+
<!-- banner header -->
|
64
|
+
|
65
|
+
<div id="bodyContent">
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
<div id="contextContent">
|
70
|
+
|
71
|
+
|
72
|
+
<div id="requires-list">
|
73
|
+
<h3 class="section-bar">Required files</h3>
|
74
|
+
|
75
|
+
<div class="name-list">
|
76
|
+
amrita/template
|
77
|
+
</div>
|
78
|
+
</div>
|
79
|
+
|
80
|
+
</div>
|
81
|
+
|
82
|
+
|
83
|
+
</div>
|
84
|
+
|
85
|
+
|
86
|
+
<!-- if includes -->
|
87
|
+
<div id="includes">
|
88
|
+
<h3 class="section-bar">Included Modules</h3>
|
89
|
+
|
90
|
+
<div id="includes-list">
|
91
|
+
<span class="include-name">Amrita</span>
|
92
|
+
</div>
|
93
|
+
</div>
|
94
|
+
|
95
|
+
<div id="section">
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
<!-- if method_list -->
|
105
|
+
|
106
|
+
|
107
|
+
</div>
|
108
|
+
|
109
|
+
|
110
|
+
<div id="validator-badges">
|
111
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
112
|
+
</div>
|
113
|
+
|
114
|
+
</body>
|
115
|
+
</html>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
3
|
+
<!DOCTYPE html
|
4
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
6
|
+
|
7
|
+
<!--
|
8
|
+
|
9
|
+
Classes
|
10
|
+
|
11
|
+
-->
|
12
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
|
+
<head>
|
14
|
+
<title>Classes</title>
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
16
|
+
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
|
+
<base target="docwin" />
|
18
|
+
</head>
|
19
|
+
<body>
|
20
|
+
<div id="index">
|
21
|
+
<h1 class="section-bar">Classes</h1>
|
22
|
+
<div id="index-entries">
|
23
|
+
<a href="classes/Duration.html">Duration</a><br />
|
24
|
+
<a href="classes/OutputPersonal.html">OutputPersonal</a><br />
|
25
|
+
<a href="classes/Person.html">Person</a><br />
|
26
|
+
<a href="classes/Project.html">Project</a><br />
|
27
|
+
<a href="classes/ProjectList.html">ProjectList</a><br />
|
28
|
+
<a href="classes/String.html">String</a><br />
|
29
|
+
<a href="classes/Tool.html">Tool</a><br />
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</body>
|
33
|
+
</html>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
3
|
+
<!DOCTYPE html
|
4
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
6
|
+
|
7
|
+
<!--
|
8
|
+
|
9
|
+
Files
|
10
|
+
|
11
|
+
-->
|
12
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
|
+
<head>
|
14
|
+
<title>Files</title>
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
16
|
+
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
|
+
<base target="docwin" />
|
18
|
+
</head>
|
19
|
+
<body>
|
20
|
+
<div id="index">
|
21
|
+
<h1 class="section-bar">Files</h1>
|
22
|
+
<div id="index-entries">
|
23
|
+
<a href="files/RRESUME_VERSION_rb.html">RRESUME_VERSION.rb</a><br />
|
24
|
+
<a href="files/pdf-test_rb.html">pdf-test.rb</a><br />
|
25
|
+
<a href="files/pdf-test2_rb.html">pdf-test2.rb</a><br />
|
26
|
+
<a href="files/rresume_rb.html">rresume.rb</a><br />
|
27
|
+
<a href="files/rresume/duration_rb.html">rresume/duration.rb</a><br />
|
28
|
+
<a href="files/rresume/output_rb.html">rresume/output.rb</a><br />
|
29
|
+
<a href="files/rresume/person_rb.html">rresume/person.rb</a><br />
|
30
|
+
<a href="files/rresume/project_rb.html">rresume/project.rb</a><br />
|
31
|
+
<a href="files/rresume/projectlist_rb.html">rresume/projectlist.rb</a><br />
|
32
|
+
<a href="files/rresume/sav_output_rb.html">rresume/sav_output.rb</a><br />
|
33
|
+
<a href="files/rresume/tool_rb.html">rresume/tool.rb</a><br />
|
34
|
+
<a href="files/tables_rb.html">tables.rb</a><br />
|
35
|
+
<a href="files/ttt_rb.html">ttt.rb</a><br />
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</body>
|
39
|
+
</html>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
|
2
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
3
|
+
<!DOCTYPE html
|
4
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
6
|
+
|
7
|
+
<!--
|
8
|
+
|
9
|
+
Methods
|
10
|
+
|
11
|
+
-->
|
12
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
|
+
<head>
|
14
|
+
<title>Methods</title>
|
15
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
16
|
+
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
|
+
<base target="docwin" />
|
18
|
+
</head>
|
19
|
+
<body>
|
20
|
+
<div id="index">
|
21
|
+
<h1 class="section-bar">Methods</h1>
|
22
|
+
<div id="index-entries">
|
23
|
+
<a href="classes/ProjectList.html#M000013"><< (ProjectList)</a><br />
|
24
|
+
<a href="classes/Person.html#M000008"><< (Person)</a><br />
|
25
|
+
<a href="classes/Tool.html#M000003"><=> (Tool)</a><br />
|
26
|
+
<a href="classes/Project.html#M000025">bis (Project)</a><br />
|
27
|
+
<a href="classes/Project.html#M000027">dauer (Project)</a><br />
|
28
|
+
<a href="classes/Duration.html#M000032">human_months (Duration)</a><br />
|
29
|
+
<a href="classes/Duration.html#M000033">jahre (Duration)</a><br />
|
30
|
+
<a href="classes/ProjectList.html#M000019">last_used (ProjectList)</a><br />
|
31
|
+
<a href="classes/Tool.html#M000005">last_used (Tool)</a><br />
|
32
|
+
<a href="classes/ProjectList.html#M000014">list (ProjectList)</a><br />
|
33
|
+
<a href="classes/Project.html#M000026">monate (Project)</a><br />
|
34
|
+
<a href="classes/Project.html#M000020">new (Project)</a><br />
|
35
|
+
<a href="classes/ProjectList.html#M000010">new (ProjectList)</a><br />
|
36
|
+
<a href="classes/Person.html#M000007">new (Person)</a><br />
|
37
|
+
<a href="classes/Tool.html#M000002">new (Tool)</a><br />
|
38
|
+
<a href="classes/ProjectList.html#M000015">output (ProjectList)</a><br />
|
39
|
+
<a href="classes/Project.html#M000022">output (Project)</a><br />
|
40
|
+
<a href="classes/ProjectList.html#M000016">output_category (ProjectList)</a><br />
|
41
|
+
<a href="classes/Project.html#M000023">output_pdf (Project)</a><br />
|
42
|
+
<a href="classes/OutputPersonal.html#M000031">output_personal (OutputPersonal)</a><br />
|
43
|
+
<a href="classes/ProjectList.html#M000012">output_personal (ProjectList)</a><br />
|
44
|
+
<a href="files/rresume/sav_output_rb.html#M000001">output_personal (rresume/sav_output.rb)</a><br />
|
45
|
+
<a href="classes/ProjectList.html#M000017">output_werbung (ProjectList)</a><br />
|
46
|
+
<a href="classes/ProjectList.html#M000011">sort (ProjectList)</a><br />
|
47
|
+
<a href="classes/String.html#M000030">to_html (String)</a><br />
|
48
|
+
<a href="classes/Project.html#M000021">to_s (Project)</a><br />
|
49
|
+
<a href="classes/Project.html#M000029">tools (Project)</a><br />
|
50
|
+
<a href="classes/ProjectList.html#M000018">total_for (ProjectList)</a><br />
|
51
|
+
<a href="classes/Tool.html#M000004">total_for (Tool)</a><br />
|
52
|
+
<a href="classes/Tool.html#M000006">update (Tool)</a><br />
|
53
|
+
<a href="classes/Project.html#M000028">used_tool (Project)</a><br />
|
54
|
+
<a href="classes/Project.html#M000024">von (Project)</a><br />
|
55
|
+
<a href="classes/Person.html#M000009">write (Person)</a><br />
|
56
|
+
</div>
|
57
|
+
</div>
|
58
|
+
</body>
|
59
|
+
</html>
|
data/lib/doc/index.html
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
5
|
+
|
6
|
+
<!--
|
7
|
+
|
8
|
+
RDoc Documentation
|
9
|
+
|
10
|
+
-->
|
11
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
12
|
+
<head>
|
13
|
+
<title>RDoc Documentation</title>
|
14
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
15
|
+
</head>
|
16
|
+
<frameset rows="20%, 80%">
|
17
|
+
<frameset cols="25%,35%,45%">
|
18
|
+
<frame src="fr_file_index.html" title="Files" name="Files" />
|
19
|
+
<frame src="fr_class_index.html" name="Classes" />
|
20
|
+
<frame src="fr_method_index.html" name="Methods" />
|
21
|
+
</frameset>
|
22
|
+
<frame src="files/RRESUME_VERSION_rb.html" name="docwin" />
|
23
|
+
</frameset>
|
24
|
+
</html>
|
data/lib/rresume.rb
CHANGED
data/lib/rresume/person.rb
CHANGED
@@ -1,28 +1,19 @@
|
|
1
|
-
#begin
|
2
|
-
# require 'pdf/writer'
|
3
|
-
#rescue LoadError => le
|
4
|
-
# if le.message =~ %r{pdf/writer$}
|
5
|
-
# $LOAD_PATH.unshift("../lib")
|
6
|
-
# require 'pdf/writer'
|
7
|
-
# else
|
8
|
-
# raise
|
9
|
-
# end
|
10
|
-
#end
|
11
|
-
|
12
1
|
require 'rubygems'
|
13
2
|
require 'pdf/writer'
|
14
3
|
require 'pdf/simpletable' # das musste man noch extra requirieren
|
15
4
|
|
16
5
|
class Person
|
17
6
|
|
18
|
-
attr_reader :firstname, :lastname
|
7
|
+
attr_reader :firstname, :lastname, :firma
|
19
8
|
attr_accessor :adresse, :plz, :ort, :telefon, :mobil, :email, :education_list,
|
20
9
|
:weiterbildungen, :fremdsprachen, :sonstiges, :stylesheet_text,
|
21
|
-
:einsatzort, :stundensatz, :geburtsdatum
|
10
|
+
:einsatzort, :stundensatz, :verfuegbar_ab, :geburtsdatum, :stand
|
22
11
|
|
23
|
-
def initialize(firstname="",lastname="")
|
12
|
+
def initialize(firstname="",lastname="", firma=nil)
|
24
13
|
@firstname = firstname
|
25
14
|
@lastname = lastname
|
15
|
+
@stand = "#{DateTime.now.to_s[0,10]}"
|
16
|
+
@firma = firma
|
26
17
|
# @projectlist = Array.new
|
27
18
|
@projectlist = ProjectList.new
|
28
19
|
@categories = Hash.new
|
@@ -34,6 +25,7 @@ class Person
|
|
34
25
|
@pdf_h4 = 12
|
35
26
|
end
|
36
27
|
|
28
|
+
# weist entweder ein ProjectList- oder ein Categories-Objekt zu
|
37
29
|
def <<(what)
|
38
30
|
if what.class == ProjectList
|
39
31
|
@projectlist = what
|
@@ -42,39 +34,12 @@ class Person
|
|
42
34
|
end
|
43
35
|
end
|
44
36
|
|
45
|
-
### def output_category_links(mode)
|
46
|
-
### if mode == :text
|
47
|
-
### # Links in Text-Ausgabe nicht sinnfoll
|
48
|
-
### return
|
49
|
-
### end
|
50
|
-
### puts "<ol>" if mode == :html
|
51
|
-
### @categories.each {|category|
|
52
|
-
### name = category[0]
|
53
|
-
### puts "<li><a href=\"#anchor_#{name}\">#{name}</a></li>" if mode == :html
|
54
|
-
### }
|
55
|
-
### puts "<li><a href=\"#anchor_Sonstige_Kenntnisse\">Sonstige Kenntnisse</a></li>" if mode == :html
|
56
|
-
### puts "<li><a href=\"#anchor_Projekte\">Projekte</a></li>" if mode == :html
|
57
|
-
### puts "</ol>" if mode == :html
|
58
|
-
### end
|
59
|
-
|
60
|
-
def links_as_string
|
61
|
-
str=""
|
62
|
-
str = str+"<ol>"
|
63
|
-
@categories.each {|category|
|
64
|
-
name = category[0].gsub(/ /,'_')
|
65
|
-
str = str+"<li><a href=\"#anchor_#{name}\">#{name}</a></li>"
|
66
|
-
}
|
67
|
-
str = str+"<li><a href=\"#anchor_Sonstige_Kenntnisse\">Sonstige Kenntnisse</a></li>"
|
68
|
-
str = str+"<li><a href=\"#anchor_Projekte\">Projekte</a></li>"
|
69
|
-
str = str+"</ol>"
|
70
|
-
str
|
71
|
-
end
|
72
37
|
|
73
|
-
def write(mode=:html, order=:newest_first, verfuegbarkeit=nil)
|
38
|
+
def write(mode=:html, order=:newest_first, verfuegbarkeit=nil, outputfile="profil")
|
74
39
|
if mode == :pdf
|
75
40
|
pdf = PDF::Writer.new
|
76
|
-
pdf.select_font "Times-Roman"
|
77
|
-
pdf.
|
41
|
+
#pdf.select_font "Times-Roman"
|
42
|
+
pdf.select_font "Helvetica"
|
78
43
|
end
|
79
44
|
output_oben if mode==:html
|
80
45
|
### output_category_links(mode)
|
@@ -95,13 +60,69 @@ class Person
|
|
95
60
|
output_category(output_category, mode)
|
96
61
|
end
|
97
62
|
}
|
98
|
-
output_sonstiges(mode)
|
99
|
-
output_werbung(mode)
|
100
63
|
if mode == :pdf
|
101
|
-
|
64
|
+
output_sonstiges(mode,pdf)
|
65
|
+
output_werbung(mode,pdf)
|
66
|
+
else
|
67
|
+
output_sonstiges(mode)
|
68
|
+
output_werbung(mode)
|
69
|
+
end
|
70
|
+
if mode == :pdf
|
71
|
+
pdf.save_as(outputfile+".pdf")
|
102
72
|
end
|
103
73
|
end
|
104
74
|
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
private
|
80
|
+
|
81
|
+
def human_months(months)
|
82
|
+
if months > 12
|
83
|
+
mehrzahl=""
|
84
|
+
mehrzahl="e" if months > 24-1
|
85
|
+
"> "+jahre(months).to_s+" Jahr"+mehrzahl
|
86
|
+
else
|
87
|
+
mehrzahl=""
|
88
|
+
mehrzahl="e" if months > 1
|
89
|
+
months.to_s+" Monat"+mehrzahl
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def jahre(monate)
|
94
|
+
monate/12.0.round
|
95
|
+
end
|
96
|
+
|
97
|
+
def links_as_string
|
98
|
+
str=""
|
99
|
+
str = str+"<ol>"
|
100
|
+
@categories.each {|category|
|
101
|
+
name = category[0].gsub(/ /,'_')
|
102
|
+
str = str+"<li><a href=\"#anchor_#{name}\">#{name}</a></li>"
|
103
|
+
}
|
104
|
+
str = str+"<li><a href=\"#anchor_Sonstige_Kenntnisse\">Sonstige Kenntnisse</a></li>"
|
105
|
+
str = str+"<li><a href=\"#anchor_Projekte\">Projekte</a></li>"
|
106
|
+
str = str+"</ol>"
|
107
|
+
str
|
108
|
+
end
|
109
|
+
|
110
|
+
### def output_category_links(mode)
|
111
|
+
### if mode == :text
|
112
|
+
### # Links in Text-Ausgabe nicht sinnfoll
|
113
|
+
### return
|
114
|
+
### end
|
115
|
+
### puts "<ol>" if mode == :html
|
116
|
+
### @categories.each {|category|
|
117
|
+
### name = category[0]
|
118
|
+
### puts "<li><a href=\"#anchor_#{name}\">#{name}</a></li>" if mode == :html
|
119
|
+
### }
|
120
|
+
### puts "<li><a href=\"#anchor_Sonstige_Kenntnisse\">Sonstige Kenntnisse</a></li>" if mode == :html
|
121
|
+
### puts "<li><a href=\"#anchor_Projekte\">Projekte</a></li>" if mode == :html
|
122
|
+
### puts "</ol>" if mode == :html
|
123
|
+
### end
|
124
|
+
|
125
|
+
|
105
126
|
###TODO: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
106
127
|
|
107
128
|
def output_oben
|
@@ -117,29 +138,6 @@ class Person
|
|
117
138
|
END
|
118
139
|
end # output_oben
|
119
140
|
|
120
|
-
#TODO: <http://validator.w3.org/check?uri=http%3A%2F%2Fwww.thopre.de%2Fprofil.html>
|
121
|
-
# http://validator.w3.org/check/referer
|
122
|
-
# http://www.w3.org/Icons/valid-xhtml10
|
123
|
-
# valid-xhtml10.png
|
124
|
-
# valid-html401.png
|
125
|
-
|
126
|
-
# <br><a href="http://validator.w3.org/check/referer">
|
127
|
-
# <img src="valid-html401.png" alt="valid html 4.01 logo">
|
128
|
-
# </a>
|
129
|
-
|
130
|
-
def output_werbung(mode)
|
131
|
-
if mode == :html
|
132
|
-
puts <<END
|
133
|
-
<br>created with <a href="http://www.thopre.de/rresume/">rresume</a> (V. #{RRESUME_VERSION})
|
134
|
-
END
|
135
|
-
else
|
136
|
-
puts <<END
|
137
|
-
\ncreated with rresume (see: http://www.thopre.de/rresume/)
|
138
|
-
END
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
|
143
141
|
# output personal data like schools, universities, diplomas, etc.
|
144
142
|
def output_personal(mode=:html,p_verfuegbarkeit=nil)
|
145
143
|
verfuegbarkeit=<<END
|
@@ -212,246 +210,65 @@ __END__
|
|
212
210
|
dokument_source=<<__END__
|
213
211
|
__END__
|
214
212
|
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
#{
|
219
|
-
|
220
|
-
<
|
221
|
-
<
|
222
|
-
<
|
223
|
-
<
|
224
|
-
<
|
225
|
-
#{@
|
226
|
-
|
227
|
-
|
228
|
-
<
|
229
|
-
#{@adresse}<br>
|
230
|
-
#{@plz} #{@ort}<br>
|
231
|
-
Tel.: #{@telefon}<BR>
|
232
|
-
</TD>
|
233
|
-
<TD valign="top">
|
234
|
-
mobile: #{@mobil}<BR>
|
235
|
-
email: <a href="mailto:#{@email}">#{@email}</a><BR>
|
236
|
-
|
237
|
-
</TD>
|
238
|
-
</TR>
|
239
|
-
</TABLE>
|
240
|
-
|
241
|
-
#{links_as_string}
|
242
|
-
<hr>
|
243
|
-
|
244
|
-
<H1>Aktuelles</H1>
|
245
|
-
|
246
|
-
#{verfuegbarkeit}
|
247
|
-
|
248
|
-
<p>
|
249
|
-
|
250
|
-
<TABLE border="1" cellspacing="0" cellpadding="4">
|
251
|
-
<TR>
|
252
|
-
<TD >
|
253
|
-
<B>
|
254
|
-
bevorzugter Einsatzort:
|
255
|
-
</B>
|
256
|
-
</TD>
|
257
|
-
<TD >
|
258
|
-
#{@einsatzort}
|
259
|
-
</TD>
|
260
|
-
</TR>
|
261
|
-
<TR>
|
262
|
-
<TD >
|
263
|
-
<B>
|
264
|
-
Stundensatz:
|
265
|
-
</B>
|
266
|
-
</TD>
|
267
|
-
<TD >
|
268
|
-
#{stundensatz}
|
269
|
-
</TD>
|
270
|
-
|
271
|
-
</TR>
|
272
|
-
</TABLE>
|
273
|
-
|
274
|
-
<h1><a name="link">Persönliche Daten</a></h1>
|
275
|
-
<TABLE width="95%" border="0" cellspacing="0" cellpadding="4">
|
276
|
-
<TR>
|
277
|
-
<!-- Row 1 Column 1 -->
|
278
|
-
<TD >
|
279
|
-
<B>
|
280
|
-
Geburtsdatum:
|
281
|
-
</B>
|
282
|
-
</TD>
|
283
|
-
<!-- Row 1 Column 2 -->
|
284
|
-
<TD >
|
285
|
-
#{@geburtsdatum}
|
286
|
-
</TD>
|
287
|
-
</TR>
|
288
|
-
<TR>
|
289
|
-
<!-- Row 2 Column 1 -->
|
290
|
-
<TD valign="top">
|
291
|
-
<B>
|
292
|
-
Ausbildung:
|
293
|
-
</B>
|
294
|
-
</TD>
|
295
|
-
<!-- Row 2 Column 2 -->
|
296
|
-
<TD >
|
297
|
-
<div id="educations"></div>
|
298
|
-
</TD>
|
299
|
-
</TR>
|
300
|
-
<TR>
|
301
|
-
<TD >
|
302
|
-
<B>
|
303
|
-
Fortbildung:
|
304
|
-
</B>
|
305
|
-
</TD>
|
306
|
-
<TD >
|
307
|
-
<div id="weiterbildungen"></div>
|
308
|
-
</TD>
|
309
|
-
</TR>
|
310
|
-
<TR>
|
311
|
-
<TD valign="top">
|
312
|
-
<B>
|
313
|
-
Fremdsprachen:
|
314
|
-
</B>
|
315
|
-
</TD>
|
316
|
-
<TD >
|
317
|
-
<div id="fremdsprachen"></div>
|
318
|
-
</TD>
|
319
|
-
</TR>
|
320
|
-
</TABLE>
|
321
|
-
|
322
|
-
END
|
323
|
-
#TODO: puts "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">"
|
324
|
-
array1 = @education_list
|
325
|
-
array2 = @weiterbildungen
|
326
|
-
array3 = @fremdsprachen
|
327
|
-
data = {
|
328
|
-
:educations => array1,
|
329
|
-
:weiterbildungen => array2,
|
330
|
-
:fremdsprachen => array3,
|
331
|
-
}
|
332
|
-
|
333
|
-
tmpl.prettyprint = true
|
334
|
-
#tmpl.expand(STDOUT, data)
|
335
|
-
tmpl.expand($stdout, data)
|
336
|
-
end # output_personal
|
337
|
-
|
338
|
-
def output_personal_pdf(pdf,p_verfuegbarkeit=nil)
|
339
|
-
verfuegbarkeit=<<END
|
340
|
-
Verfügbarkeit: In den als frei gekennzeichneten Monaten bin ich aktuell
|
341
|
-
noch verfügbar. In den anderen bin ich ganz oder teilweise
|
342
|
-
gebucht. Ggf. gibt es aber auch da Möglichkeiten einer Zusammenarbeit,
|
343
|
-
falls es sich um kleinere Aufgaben handelt.
|
344
|
-
<p>
|
345
|
-
<table border="1" width="100%">
|
346
|
-
<tr>
|
347
|
-
<td><b>Verfügbarkeit</b> </td>
|
348
|
-
<td>01 </td>
|
349
|
-
<td>02 </td>
|
350
|
-
<td>03 </td>
|
351
|
-
<td>04 </td>
|
352
|
-
<td>05 </td>
|
353
|
-
<td>06 </td>
|
354
|
-
<td>07 </td>
|
355
|
-
<td>08 </td>
|
356
|
-
<td>09 </td>
|
357
|
-
<td>10 </td>
|
358
|
-
<td>11 </td>
|
359
|
-
<td>12 </td>
|
360
|
-
</tr>
|
213
|
+
if @firma
|
214
|
+
company_header=<<__END__
|
215
|
+
<h1>Mitarbeiterprofil</h1>
|
216
|
+
<img src="#{firma.logo}" align="right">
|
217
|
+
#{@firma.name}<br/>
|
218
|
+
#{@firma.adresse}<br/>
|
219
|
+
#{@firma.plz} #{firma.ort}<br/>
|
220
|
+
#{@firma.telefon}<br/>
|
221
|
+
#{@firma.telefax}<br/>
|
222
|
+
<a href="mailto:#{@firma.email}">#{@firma.email}</a><br/>
|
223
|
+
<a href="#{@firma.homepage}">#{@firma.homepage}</a><br/>
|
224
|
+
#{@firma.rest}<br/>
|
225
|
+
|
226
|
+
<table border="1" width="100%" cellpadding="5">
|
361
227
|
<tr>
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
<!-- 05 --> <td bgcolor="lightgreen">frei </td>
|
368
|
-
<!-- 06 --> <td bgcolor="black"><font color="white">gebucht</font></td>
|
369
|
-
<!-- 07 --> <td bgcolor="black"><font color="white">gebucht</font></td>
|
370
|
-
<!-- 08 --> <td bgcolor="black"><font color="white">gebucht</font></td>
|
371
|
-
<!-- 09 --> <td bgcolor="lightgreen">frei </td>
|
372
|
-
<!-- 10 --> <td bgcolor="lightgreen">frei </td>
|
373
|
-
<!-- 11 --> <td bgcolor="lightgreen">frei </td>
|
374
|
-
<!-- 12 --> <td bgcolor="lightgreen">frei </td>
|
228
|
+
<td valign="top">
|
229
|
+
<b>Profil</b> von<br>
|
230
|
+
#{@firstname} #{@lastname}<br>
|
231
|
+
Stand: #{@stand}<br>
|
232
|
+
</td>
|
375
233
|
</tr>
|
234
|
+
</table>
|
235
|
+
__END__
|
236
|
+
end
|
237
|
+
|
238
|
+
personal_header=<<__END__
|
239
|
+
<table border="1" width="100%" cellpadding="5">
|
376
240
|
<tr>
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
241
|
+
<td valign="top">
|
242
|
+
<b>Profil</b> von<br>
|
243
|
+
#{@firstname} #{@lastname}<br>
|
244
|
+
Stand: #{@stand}<br>
|
245
|
+
</td>
|
246
|
+
<td>
|
247
|
+
#{@adresse}<br>
|
248
|
+
#{@plz} #{@ort}<br>
|
249
|
+
Tel.: #{@telefon}<BR>
|
250
|
+
</td>
|
251
|
+
<td valign="top">
|
252
|
+
mobile: #{@mobil}<br>
|
253
|
+
email: <a href="mailto:#{@email}">#{@email}</a><br>
|
254
|
+
</td>
|
390
255
|
</tr>
|
391
|
-
</table>
|
392
|
-
END
|
393
|
-
|
394
|
-
if p_verfuegbarkeit!=:mit_verfuegbarkeit
|
395
|
-
verfuegbarkeit=""
|
396
|
-
end
|
397
|
-
|
398
|
-
dokument_source=<<__END__
|
399
|
-
Dokument: <code>
|
400
|
-
<a href="http://www.thopre.de/profil.html">
|
401
|
-
http://www.thopre.de/profil.html
|
402
|
-
</a>
|
403
|
-
</code>
|
404
|
-
__END__
|
405
|
-
#!!!
|
406
|
-
dokument_source=<<__END__
|
256
|
+
</table>
|
407
257
|
__END__
|
408
258
|
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
table.column_order = ["c1", "c2", "c3"]
|
416
|
-
table.width = @pdf_table_width
|
417
|
-
table.shade_rows = :none
|
418
|
-
table.show_headings = false
|
419
|
-
table.row_gap = 1
|
420
|
-
table.render_on(pdf)
|
421
|
-
|
422
|
-
pdf.text "Aktuelles", :font_size => @pdf_h1
|
423
|
-
|
424
|
-
table2 = PDF::SimpleTable.new
|
425
|
-
table2.data = [
|
426
|
-
{ "c1" => "bevorzugter Einsatzort", "c2" => "#{@einsatzort}" },
|
427
|
-
{ "c1" => "Stundensatz", "c2" => "#{@stundensatz}" },
|
428
|
-
{ "c1" => "Stand: #{DateTime.now.to_s[0,10]}", "c2" => "Tel.: #{@telefon}", "c3" => "" },
|
429
|
-
]
|
259
|
+
if @firma
|
260
|
+
header = company_header
|
261
|
+
else
|
262
|
+
header = personal_header
|
263
|
+
end
|
264
|
+
|
430
265
|
tmpl = TemplateText.new <<END
|
431
266
|
|
432
267
|
|
433
268
|
#{dokument_source}
|
434
269
|
|
435
270
|
<p>
|
436
|
-
|
437
|
-
<TR>
|
438
|
-
<TD valign="top">
|
439
|
-
<B>Profil</B> von<BR>
|
440
|
-
#{@firstname} #{@lastname}<br>
|
441
|
-
Stand: #{DateTime.now.to_s[0,10]}<br>
|
442
|
-
</TD>
|
443
|
-
<TD>
|
444
|
-
#{@adresse}<br>
|
445
|
-
#{@plz} #{@ort}<br>
|
446
|
-
Tel.: #{@telefon}<BR>
|
447
|
-
</TD>
|
448
|
-
<TD valign="top">
|
449
|
-
mobile: #{@mobil}<BR>
|
450
|
-
email: <a href="mailto:#{@email}">#{@email}</a><BR>
|
451
|
-
|
452
|
-
</TD>
|
453
|
-
</TR>
|
454
|
-
</TABLE>
|
271
|
+
#{header}
|
455
272
|
|
456
273
|
#{links_as_string}
|
457
274
|
<hr>
|
@@ -462,77 +279,84 @@ email: <a href="mailto:#{@email}">#{@email}</a><BR>
|
|
462
279
|
|
463
280
|
<p>
|
464
281
|
|
465
|
-
<
|
466
|
-
<
|
467
|
-
<
|
468
|
-
<
|
282
|
+
<table border="1" cellspacing="0" cellpadding="4">
|
283
|
+
<tr>
|
284
|
+
<td >
|
285
|
+
<b>
|
469
286
|
bevorzugter Einsatzort:
|
470
|
-
</
|
471
|
-
</
|
472
|
-
<
|
287
|
+
</b>
|
288
|
+
</td>
|
289
|
+
<td >
|
473
290
|
#{@einsatzort}
|
474
|
-
</
|
475
|
-
</
|
476
|
-
<
|
477
|
-
<
|
478
|
-
<
|
291
|
+
</td>
|
292
|
+
</tr>
|
293
|
+
<tr>
|
294
|
+
<td >
|
295
|
+
<b>
|
479
296
|
Stundensatz:
|
480
|
-
</
|
481
|
-
</
|
482
|
-
<
|
483
|
-
#{
|
484
|
-
</
|
485
|
-
|
486
|
-
</
|
487
|
-
|
297
|
+
</b>
|
298
|
+
</td>
|
299
|
+
<td >
|
300
|
+
#{stundensatz}
|
301
|
+
</td>
|
302
|
+
|
303
|
+
</tr>
|
304
|
+
<tr>
|
305
|
+
<td >
|
306
|
+
<b>
|
307
|
+
verfügbar ab:
|
308
|
+
</b>
|
309
|
+
</td>
|
310
|
+
<td >
|
311
|
+
#{verfuegbar_ab}
|
312
|
+
</td>
|
313
|
+
|
314
|
+
</tr>
|
315
|
+
</table>
|
488
316
|
|
489
317
|
<h1><a name="link">Persönliche Daten</a></h1>
|
490
|
-
<
|
491
|
-
<
|
492
|
-
|
493
|
-
|
494
|
-
<B>
|
318
|
+
<table width="95%" border="0" cellspacing="0" cellpadding="4">
|
319
|
+
<tr>
|
320
|
+
<td >
|
321
|
+
<b>
|
495
322
|
Geburtsdatum:
|
496
|
-
</
|
497
|
-
</
|
498
|
-
|
499
|
-
<TD >
|
323
|
+
</b>
|
324
|
+
</td>
|
325
|
+
<td >
|
500
326
|
#{@geburtsdatum}
|
501
|
-
</
|
502
|
-
</
|
503
|
-
<
|
504
|
-
|
505
|
-
|
506
|
-
<B>
|
327
|
+
</td>
|
328
|
+
</tr>
|
329
|
+
<tr>
|
330
|
+
<td valign="top">
|
331
|
+
<b>
|
507
332
|
Ausbildung:
|
508
|
-
</
|
509
|
-
</
|
510
|
-
|
511
|
-
<TD >
|
333
|
+
</b>
|
334
|
+
</td>
|
335
|
+
<td >
|
512
336
|
<div id="educations"></div>
|
513
|
-
</
|
514
|
-
</
|
515
|
-
<
|
516
|
-
<
|
517
|
-
<
|
337
|
+
</td>
|
338
|
+
</tr>
|
339
|
+
<tr>
|
340
|
+
<td >
|
341
|
+
<b>
|
518
342
|
Fortbildung:
|
519
|
-
</
|
520
|
-
</
|
521
|
-
<
|
343
|
+
</b>
|
344
|
+
</td>
|
345
|
+
<td >
|
522
346
|
<div id="weiterbildungen"></div>
|
523
|
-
</
|
524
|
-
</
|
525
|
-
<
|
526
|
-
<
|
527
|
-
<
|
347
|
+
</td>
|
348
|
+
</tr>
|
349
|
+
<tr>
|
350
|
+
<td valign="top">
|
351
|
+
<b>
|
528
352
|
Fremdsprachen:
|
529
|
-
</
|
530
|
-
</
|
531
|
-
<
|
353
|
+
</b>
|
354
|
+
</td>
|
355
|
+
<td >
|
532
356
|
<div id="fremdsprachen"></div>
|
533
|
-
</
|
534
|
-
</
|
535
|
-
</
|
357
|
+
</td>
|
358
|
+
</tr>
|
359
|
+
</table>
|
536
360
|
|
537
361
|
END
|
538
362
|
#TODO: puts "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">"
|
@@ -548,6 +372,56 @@ END
|
|
548
372
|
tmpl.prettyprint = true
|
549
373
|
#tmpl.expand(STDOUT, data)
|
550
374
|
tmpl.expand($stdout, data)
|
375
|
+
end # output_personal
|
376
|
+
|
377
|
+
def output_personal_pdf(pdf,p_verfuegbarkeit=nil)
|
378
|
+
table = PDF::SimpleTable.new
|
379
|
+
table.data = [
|
380
|
+
{ "c1" => "Profil von", "c2" => "#{adresse}", "c3" => "mobil: #{@mobil}" },
|
381
|
+
{ "c1" => "#{firstname} #{lastname}", "c2" => "#{@plz} #{ort}", "c3" => "eMail:. #{@email}" },
|
382
|
+
{ "c1" => "Stand: #{@stand}", "c2" => "Tel.: #{@telefon}", "c3" => "" },
|
383
|
+
]
|
384
|
+
table.column_order = ["c1", "c2", "c3"]
|
385
|
+
table.width = @pdf_table_width
|
386
|
+
table.shade_rows = :none
|
387
|
+
table.show_headings = false
|
388
|
+
table.row_gap = 1
|
389
|
+
table.render_on(pdf)
|
390
|
+
|
391
|
+
pdf.text "Aktuelles", :font_size => @pdf_h1
|
392
|
+
|
393
|
+
table2 = PDF::SimpleTable.new
|
394
|
+
table2.data = [
|
395
|
+
{ "c1" => "bevorzugter Einsatzort:", "c2" => "#{@einsatzort}" },
|
396
|
+
{ "c1" => "Stundensatz:", "c2" => "#{@stundensatz}" },
|
397
|
+
]
|
398
|
+
table2.column_order = ["c1", "c2"]
|
399
|
+
table2.width = @pdf_table_width
|
400
|
+
table2.shade_rows = :none
|
401
|
+
table2.show_headings = false
|
402
|
+
#table2.row_gap = 1
|
403
|
+
table2.render_on(pdf)
|
404
|
+
|
405
|
+
pdf.text "Pers�nliche Daten", :font_size => @pdf_h1
|
406
|
+
table3 = PDF::SimpleTable.new
|
407
|
+
table3.data = [
|
408
|
+
{ "c1" => "Geburtsdatum:", "c2" => "#{@geburtsdatum}" },
|
409
|
+
{ "c1" => "Ausbildung", "c2" => "#{@education_list.each {|e|
|
410
|
+
e+"\n"
|
411
|
+
}
|
412
|
+
}" },
|
413
|
+
{ "c1" => "Fortbildung", "c2" => "#{@weiterbildungen.each {|w|
|
414
|
+
w+"\n"
|
415
|
+
}
|
416
|
+
}" },
|
417
|
+
{ "c1" => "Fremdsprachen", "c2" => "#{@fremdsprachen}" },
|
418
|
+
]
|
419
|
+
table3.column_order = ["c1", "c2"]
|
420
|
+
table3.width = @pdf_table_width
|
421
|
+
#table3.shade_rows = :none
|
422
|
+
table3.show_headings = false
|
423
|
+
#table3.row_gap = 1
|
424
|
+
table3.render_on(pdf)
|
551
425
|
end
|
552
426
|
|
553
427
|
|
@@ -646,64 +520,23 @@ END
|
|
646
520
|
end # output_category
|
647
521
|
|
648
522
|
def output_category_pdf (pdf, category)
|
649
|
-
#array1 = []
|
650
523
|
table = PDF::SimpleTable.new
|
651
524
|
table.data = []
|
652
525
|
category[1].sort.each {|tool|
|
653
|
-
#monate = total_for(tool)
|
654
526
|
monate = tool.total_for
|
655
|
-
#print "ingesamt #{tool.name}: "+monate.to_s+" Monate"
|
656
|
-
#if monate > 12
|
657
|
-
#print "\t(> "+jahre(monate).to_s+" Jahre)"
|
658
|
-
#end
|
659
|
-
#puts " zuletzt "+projectlist.last_used(tool)
|
660
|
-
#array1 << { :name=>tool.name, :dauer=>human_months(monate), :zuletzt=>last_used(tool) }
|
661
|
-
#array1 << { :name=>tool.name, :dauer=>human_months(monate), :zuletzt=>tool.last_used }
|
662
527
|
table.data.push({ "Name" => tool.name, "Dauer" => human_months(monate), "zuletzt" => tool.last_used })
|
663
528
|
}
|
664
|
-
#######################################
|
665
529
|
pdf.text "#{category[0]}", :font_size => @pdf_h1
|
666
530
|
pdf.text "", :font_size => @pdf_h1
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
<th>Dauer</th>
|
674
|
-
<th>zuletzt</th>
|
675
|
-
</tr>
|
676
|
-
<tr id=table1>
|
677
|
-
<td id="name">
|
678
|
-
<td id="dauer">
|
679
|
-
<td id="zuletzt" align="right">
|
680
|
-
</tr>
|
681
|
-
</table>
|
682
|
-
END
|
683
|
-
|
684
|
-
#data = {
|
685
|
-
#:table1=>array1
|
686
|
-
#}
|
687
|
-
tmpl.prettyprint = true
|
688
|
-
#tmpl.expand(STDOUT, data)
|
689
|
-
#tmpl.expand($stdout, data)
|
690
|
-
#f = File.open("hula#{cate[0]}.html","w")
|
691
|
-
#######################################################
|
692
|
-
#table.data = [
|
693
|
-
#{ "c1" => "Profil von", "c2" => "#{adresse}", "c3" => "mobil: #{@mobil}" },
|
694
|
-
#{ "c1" => "#{firstname} #{lastname}", "c2" => "#{@plz} #{ort}", "c3" => "eMail:. #{@email}" },
|
695
|
-
#{ "c1" => "Stand: #{DateTime.now.to_s[0,10]}", "c2" => "Tel.: #{@telefon}", "c3" => "" },
|
696
|
-
#]
|
697
|
-
table.column_order = ["Name", "Dauer", "zuletzt"]
|
698
|
-
table.width = @pdf_table_width
|
699
|
-
table.shade_rows = :none
|
700
|
-
#table.show_headings = false
|
701
|
-
table.row_gap = 1
|
702
|
-
table.render_on(pdf)
|
703
|
-
#######################################################
|
531
|
+
table.column_order = ["Name", "Dauer", "zuletzt"]
|
532
|
+
table.width = @pdf_table_width
|
533
|
+
table.shade_rows = :none
|
534
|
+
#table.show_headings = false
|
535
|
+
table.row_gap = 1
|
536
|
+
table.render_on(pdf)
|
704
537
|
end # output_category_pdf
|
705
538
|
|
706
|
-
def output_sonstiges(mode)
|
539
|
+
def output_sonstiges(mode,pdf=nil)
|
707
540
|
# array1 = []
|
708
541
|
# array1 << { :text=>@sonstiges }
|
709
542
|
########################################
|
@@ -721,34 +554,54 @@ table.render_on(pdf)
|
|
721
554
|
# tmpl.prettyprint = true
|
722
555
|
# tmpl.expand($stdout, data)
|
723
556
|
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
557
|
+
if mode == :pdf
|
558
|
+
table = PDF::SimpleTable.new
|
559
|
+
pdf.text "Sonstige Kenntnisse", :font_size => @pdf_h1
|
560
|
+
table.data = []
|
561
|
+
table.data.push({ "Text" => @sonstiges })
|
562
|
+
table.column_order = ["Text"]
|
563
|
+
table.width = @pdf_table_width
|
564
|
+
table.shade_rows = :none
|
565
|
+
table.show_headings = false
|
566
|
+
table.row_gap = 1
|
567
|
+
table.render_on(pdf)
|
568
|
+
else
|
569
|
+
#erstmal nur die einfache Lösung ohne Template
|
570
|
+
puts <<_END_
|
571
|
+
<a name="anchor_Sonstige_Kenntnisse">
|
572
|
+
<h1>Sonstige Kenntnisse</h1>
|
573
|
+
<table border="1" width="100%" cellpadding="5">
|
574
|
+
<tr>
|
575
|
+
<td>#{@sonstiges}</td>
|
576
|
+
</tr>
|
577
|
+
</table>
|
733
578
|
_END_
|
734
|
-
|
579
|
+
end
|
580
|
+
end # output_sonstiges
|
735
581
|
|
736
|
-
|
582
|
+
#TODO: <http://validator.w3.org/check?uri=http%3A%2F%2Fwww.thopre.de%2Fprofil.html>
|
583
|
+
# http://validator.w3.org/check/referer
|
584
|
+
# http://www.w3.org/Icons/valid-xhtml10
|
585
|
+
# valid-xhtml10.png
|
586
|
+
# valid-html401.png
|
737
587
|
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
588
|
+
# <br><a href="http://validator.w3.org/check/referer">
|
589
|
+
# <img src="valid-html401.png" alt="valid html 4.01 logo">
|
590
|
+
# </a>
|
591
|
+
|
592
|
+
def output_werbung(mode,pdf=nil)
|
593
|
+
rresume_link = "http://www.thopre.de/rresume/"
|
594
|
+
if mode == :html
|
595
|
+
puts <<END
|
596
|
+
<br>created with <a href="#{rresume_link}">rresume</a> V. #{RRESUME_VERSION}
|
597
|
+
END
|
598
|
+
elsif mode == :pdf
|
599
|
+
pdf.text("created with <c:alink uri='#{rresume_link}'>rresume</c:alink>, V. #{RRESUME_VERSION}")
|
743
600
|
else
|
744
|
-
|
745
|
-
|
746
|
-
|
601
|
+
puts <<END
|
602
|
+
\ncreated with rresume (see: #{rresume_link}) V. #{RRESUME_VERSION}
|
603
|
+
END
|
747
604
|
end
|
748
605
|
end
|
749
|
-
|
750
|
-
def jahre(monate)
|
751
|
-
monate/12.0.round
|
752
|
-
end
|
753
|
-
|
606
|
+
|
754
607
|
end
|