simple-templater 0.1.pre → 0.2.pre

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 (43) hide show
  1. data/README.textile +2 -2
  2. data/Rakefile +3 -12
  3. data/deps.rip +1 -0
  4. data/deps.rip.rbe +1 -0
  5. data/lib/simple-templater/builder.rb +7 -7
  6. data/lib/simple-templater/generator.rb +5 -5
  7. data/lib/simple-templater/generator_set.rb +1 -1
  8. data/lib/simple-templater/helpers.rb +4 -3
  9. data/lib/simple-templater/hooks/hook.rb +8 -8
  10. data/lib/simple-templater/version.rb +1 -1
  11. data/lib/simple-templater.rb +2 -2
  12. data/script/spec +10 -2
  13. data/simple-templater.gemspec +9 -0
  14. data/simple-templater.pre.gemspec +10 -1
  15. data/spec/simple-templater/helpers_spec.rb +2 -2
  16. data/spec/simple-templater/hooks/hook_spec.rb +1 -0
  17. data/spec/simple-templater/hooks/postprocess/git_repository_spec.rb +1 -0
  18. data/spec/simple-templater_spec.rb +8 -0
  19. data/spec/spec_helper.rb +0 -33
  20. data/stubs/project/content/%name%.gemspec.rbt +1 -1
  21. data/tasks/gem.rake +1 -1
  22. data/tasks/spec.rake +3 -3
  23. data/vendor/abstract/ChangeLog +3 -0
  24. data/vendor/abstract/README.txt +57 -0
  25. data/vendor/abstract/abstract.gemspec +48 -0
  26. data/vendor/abstract/doc/classes/Kernel.html +134 -0
  27. data/vendor/abstract/doc/classes/Kernel.src/M000002.html +24 -0
  28. data/vendor/abstract/doc/classes/Module.html +140 -0
  29. data/vendor/abstract/doc/classes/Module.src/M000001.html +20 -0
  30. data/vendor/abstract/doc/created.rid +1 -0
  31. data/vendor/abstract/doc/files/README_txt.html +173 -0
  32. data/vendor/abstract/doc/files/lib/abstract_rb.html +137 -0
  33. data/vendor/abstract/doc/fr_class_index.html +28 -0
  34. data/vendor/abstract/doc/fr_file_index.html +28 -0
  35. data/vendor/abstract/doc/fr_method_index.html +28 -0
  36. data/vendor/abstract/doc/index.html +24 -0
  37. data/vendor/abstract/doc/rdoc-style.css +208 -0
  38. data/vendor/abstract/lib/abstract.rb +75 -0
  39. data/vendor/abstract/setup.rb +1331 -0
  40. data/vendor/abstract/test/test.rb +91 -0
  41. metadata +31 -4
  42. data/Gemfile +0 -12
  43. data/lib/simple-templater/core_exts.rb +0 -99
@@ -0,0 +1,28 @@
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/Module.html#M000001">abstract_method (Module)</a><br />
24
+ <a href="classes/Kernel.html#M000002">not_implemented (Kernel)</a><br />
25
+ </div>
26
+ </div>
27
+ </body>
28
+ </html>
@@ -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
+ abstract.rb documentation
9
+
10
+ -->
11
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
12
+ <head>
13
+ <title>abstract.rb 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/README_txt.html" name="docwin" />
23
+ </frameset>
24
+ </html>
@@ -0,0 +1,208 @@
1
+
2
+ body {
3
+ font-family: Verdana,Arial,Helvetica,sans-serif;
4
+ font-size: 90%;
5
+ margin: 0;
6
+ margin-left: 40px;
7
+ padding: 0;
8
+ background: white;
9
+ }
10
+
11
+ h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
12
+ h1 { font-size: 150%; }
13
+ h2,h3,h4 { margin-top: 1em; }
14
+
15
+ a { background: #eef; color: #039; text-decoration: none; }
16
+ a:hover { background: #039; color: #eef; }
17
+
18
+ /* Override the base stylesheet's Anchor inside a table cell */
19
+ td > a {
20
+ background: transparent;
21
+ color: #039;
22
+ text-decoration: none;
23
+ }
24
+
25
+ /* and inside a section title */
26
+ .section-title > a {
27
+ background: transparent;
28
+ color: #eee;
29
+ text-decoration: none;
30
+ }
31
+
32
+ /* === Structural elements =================================== */
33
+
34
+ div#index {
35
+ margin: 0;
36
+ margin-left: -40px;
37
+ padding: 0;
38
+ font-size: 90%;
39
+ }
40
+
41
+
42
+ div#index a {
43
+ margin-left: 0.7em;
44
+ }
45
+
46
+ div#index .section-bar {
47
+ margin-left: 0px;
48
+ padding-left: 0.7em;
49
+ background: #ccc;
50
+ font-size: small;
51
+ }
52
+
53
+
54
+ div#classHeader, div#fileHeader {
55
+ width: auto;
56
+ color: white;
57
+ padding: 0.5em 1.5em 0.5em 1.5em;
58
+ margin: 0;
59
+ margin-left: -40px;
60
+ border-bottom: 3px solid #006;
61
+ }
62
+
63
+ div#classHeader a, div#fileHeader a {
64
+ background: inherit;
65
+ color: white;
66
+ }
67
+
68
+ div#classHeader td, div#fileHeader td {
69
+ background: inherit;
70
+ color: white;
71
+ }
72
+
73
+
74
+ div#fileHeader {
75
+ background: #057;
76
+ }
77
+
78
+ div#classHeader {
79
+ background: #048;
80
+ }
81
+
82
+
83
+ .class-name-in-header {
84
+ font-size: 180%;
85
+ font-weight: bold;
86
+ }
87
+
88
+
89
+ div#bodyContent {
90
+ padding: 0 1.5em 0 1.5em;
91
+ }
92
+
93
+ div#description {
94
+ padding: 0.5em 1.5em;
95
+ background: #efefef;
96
+ border: 1px dotted #999;
97
+ }
98
+
99
+ div#description h1,h2,h3,h4,h5,h6 {
100
+ color: #125;;
101
+ background: transparent;
102
+ }
103
+
104
+ div#validator-badges {
105
+ text-align: center;
106
+ }
107
+ div#validator-badges img { border: 0; }
108
+
109
+ div#copyright {
110
+ color: #333;
111
+ background: #efefef;
112
+ font: 0.75em sans-serif;
113
+ margin-top: 5em;
114
+ margin-bottom: 0;
115
+ padding: 0.5em 2em;
116
+ }
117
+
118
+
119
+ /* === Classes =================================== */
120
+
121
+ table.header-table {
122
+ color: white;
123
+ font-size: small;
124
+ }
125
+
126
+ .type-note {
127
+ font-size: small;
128
+ color: #DEDEDE;
129
+ }
130
+
131
+ .xxsection-bar {
132
+ background: #eee;
133
+ color: #333;
134
+ padding: 3px;
135
+ }
136
+
137
+ .section-bar {
138
+ color: #333;
139
+ border-bottom: 1px solid #999;
140
+ margin-left: -20px;
141
+ }
142
+
143
+
144
+ .section-title {
145
+ background: #79a;
146
+ color: #eee;
147
+ padding: 3px;
148
+ margin-top: 2em;
149
+ margin-left: -30px;
150
+ border: 1px solid #999;
151
+ }
152
+
153
+ .top-aligned-row { vertical-align: top }
154
+ .bottom-aligned-row { vertical-align: bottom }
155
+
156
+ /* --- Context section classes ----------------------- */
157
+
158
+ .context-row { }
159
+ .context-item-name { font-family: monospace; font-weight: bold; color: black; }
160
+ .context-item-value { font-size: small; color: #448; }
161
+ .context-item-desc { color: #333; padding-left: 2em; }
162
+
163
+ /* --- Method classes -------------------------- */
164
+ .method-detail {
165
+ background: #efefef;
166
+ padding: 0;
167
+ margin-top: 0.5em;
168
+ margin-bottom: 1em;
169
+ border: 1px dotted #ccc;
170
+ }
171
+ .method-heading {
172
+ color: black;
173
+ background: #ccc;
174
+ border-bottom: 1px solid #666;
175
+ padding: 0.2em 0.5em 0 0.5em;
176
+ }
177
+ .method-signature { color: black; background: inherit; }
178
+ .method-name { font-weight: bold; }
179
+ .method-args { font-style: italic; }
180
+ .method-description { padding: 0 0.5em 0 0.5em; }
181
+
182
+ /* --- Source code sections -------------------- */
183
+
184
+ a.source-toggle { font-size: 90%; }
185
+ div.method-source-code {
186
+ background: #262626;
187
+ color: #ffdead;
188
+ margin: 1em;
189
+ padding: 0.5em;
190
+ border: 1px dashed #999;
191
+ overflow: hidden;
192
+ }
193
+
194
+ div.method-source-code pre { color: #ffdead; overflow: hidden; }
195
+
196
+ /* --- Ruby keyword styles --------------------- */
197
+
198
+ .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
199
+
200
+ .ruby-constant { color: #7fffd4; background: transparent; }
201
+ .ruby-keyword { color: #00ffff; background: transparent; }
202
+ .ruby-ivar { color: #eedd82; background: transparent; }
203
+ .ruby-operator { color: #00ffee; background: transparent; }
204
+ .ruby-identifier { color: #ffdead; background: transparent; }
205
+ .ruby-node { color: #ffa07a; background: transparent; }
206
+ .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
207
+ .ruby-regexp { color: #ffa07a; background: transparent; }
208
+ .ruby-value { color: #7fffd4; background: transparent; }
@@ -0,0 +1,75 @@
1
+ ##
2
+ ## $Rev: 1 $
3
+ ## $Release: 1.0.0 $
4
+ ## copyright(c) 2006 kuwata-lab.com all rights reserved.
5
+ ##
6
+ ##
7
+ ## helper to define abstract method in Ruby.
8
+ ##
9
+ ##
10
+ ## example1. (shorter notation)
11
+ ##
12
+ ## require 'abstract'
13
+ ## class Foo
14
+ ## abstract_method 'arg1, arg2=""', :method1, :method2, :method3
15
+ ## end
16
+ ##
17
+ ##
18
+ ## example2. (RDoc friendly notation)
19
+ ##
20
+ ## require 'abstract'
21
+ ## class Bar
22
+ ## # ... method1 description ...
23
+ ## def method1(arg1, arg2="")
24
+ ## not_implemented
25
+ ## end
26
+ ##
27
+ ## # ... method2 description ...
28
+ ## def method2(arg1, arg2="")
29
+ ## not_implemented
30
+ ## end
31
+ ## end
32
+ ##
33
+
34
+
35
+ ##
36
+ class Module
37
+
38
+ ##
39
+ ## define abstract methods
40
+ ##
41
+ def abstract_method args_str, *method_names
42
+ method_names.each do |name|
43
+ module_eval <<-END
44
+ def #{name}(#{args_str})
45
+ mesg = "class \#{self.class.name} must implement abstract method `#{self.name}##{name}()'."
46
+ #mesg = "\#{self.class.name}##{name}() is not implemented."
47
+ err = NotImplementedError.new mesg
48
+ err.set_backtrace caller()
49
+ raise err
50
+ end
51
+ END
52
+ end
53
+ end
54
+
55
+ end
56
+
57
+
58
+ ##
59
+ module Kernel
60
+
61
+ ##
62
+ ## raise NotImplementedError
63
+ ##
64
+ def not_implemented #:doc:
65
+ backtrace = caller()
66
+ method_name = (backtrace.shift =~ /`(\w+)'$/) && $1
67
+ mesg = "class #{self.class.name} must implement abstract method '#{method_name}()'."
68
+ #mesg = "#{self.class.name}##{method_name}() is not implemented."
69
+ err = NotImplementedError.new mesg
70
+ err.set_backtrace backtrace
71
+ raise err
72
+ end
73
+ private :not_implemented
74
+
75
+ end