inversion 0.0.4 → 0.1.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.tar.gz.sig +0 -0
- data/ChangeLog +184 -21
- data/History.rdoc +6 -0
- data/lib/inversion.rb +2 -2
- data/lib/inversion/exceptions.rb +6 -3
- data/lib/inversion/template.rb +41 -9
- data/lib/inversion/template/tag.rb +1 -0
- data/lib/inversion/template/timedeltatag.rb +8 -6
- data/spec/inversion/template_spec.rb +67 -7
- metadata +29 -29
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
|
Binary file
|
data/ChangeLog
CHANGED
|
@@ -1,8 +1,169 @@
|
|
|
1
|
+
2011-09-23 Michael Granger <ged@FaerieMUD.org>
|
|
2
|
+
|
|
3
|
+
* lib/inversion.rb:
|
|
4
|
+
Bump minor version for new release.
|
|
5
|
+
[dbc96c7b052a] [tip]
|
|
6
|
+
|
|
7
|
+
* lib/inversion/template.rb, lib/inversion/template/tag.rb,
|
|
8
|
+
lib/inversion/template/timedeltatag.rb,
|
|
9
|
+
spec/inversion/template_spec.rb:
|
|
10
|
+
Added template reloading via Inversion::Template#changed? and
|
|
11
|
+
#reload.
|
|
12
|
+
[2abf3629e1dc]
|
|
13
|
+
|
|
14
|
+
* lib/inversion/exceptions.rb:
|
|
15
|
+
Added Inversion::Error and made all exception classes inherit from
|
|
16
|
+
it.
|
|
17
|
+
[9827d30cceeb]
|
|
18
|
+
|
|
19
|
+
2011-09-21 Michael Granger <ged@FaerieMUD.org>
|
|
20
|
+
|
|
21
|
+
* manual/resources/css/manual.css, manual/resources/css/reset.css:
|
|
22
|
+
Fixing CSS font-face declarations; adding missing reset.css
|
|
23
|
+
[45f04400b244]
|
|
24
|
+
|
|
25
|
+
* .hgtags:
|
|
26
|
+
Added tag v0.0.4 for changeset 7a412b7ed72b
|
|
27
|
+
[46bf35f77d74]
|
|
28
|
+
|
|
29
|
+
* .hgsigs:
|
|
30
|
+
Added signature for changeset 3e614ef5c021
|
|
31
|
+
[7a412b7ed72b] [v0.0.4]
|
|
32
|
+
|
|
33
|
+
* .hgtags:
|
|
34
|
+
Removed tag v0.0.4
|
|
35
|
+
[3e614ef5c021]
|
|
36
|
+
|
|
37
|
+
* Manifest.txt:
|
|
38
|
+
More manifest updates
|
|
39
|
+
[906f9d232d80]
|
|
40
|
+
|
|
41
|
+
* Manifest.txt:
|
|
42
|
+
Fixed History path in the Manifest
|
|
43
|
+
[6d9d4fb86261]
|
|
44
|
+
|
|
45
|
+
* .hgtags:
|
|
46
|
+
Added tag v0.0.4 for changeset 59d9ec43bfda
|
|
47
|
+
[fd4d1ea02cbc]
|
|
48
|
+
|
|
49
|
+
* .hgsigs:
|
|
50
|
+
Added signature for changeset 27f893edf42a
|
|
51
|
+
[59d9ec43bfda]
|
|
52
|
+
|
|
53
|
+
* History.md, History.rdoc, Rakefile, lib/inversion.rb:
|
|
54
|
+
Updated History; fixed History name in the Rakefile; Bumped patch
|
|
55
|
+
version for release.
|
|
56
|
+
[27f893edf42a]
|
|
57
|
+
|
|
58
|
+
* Merged with 1d255d7d60a5
|
|
59
|
+
[4597a6f63059]
|
|
60
|
+
|
|
61
|
+
* lib/inversion/template.rb:
|
|
62
|
+
Avoid Pathname#expand_path in Inversion::Template.load [profiled]
|
|
63
|
+
[91cbb0c90b85]
|
|
64
|
+
|
|
65
|
+
* Rakefile:
|
|
66
|
+
Disable the .gemtest task that hoe defines without asking
|
|
67
|
+
[cf76def7d9cf]
|
|
68
|
+
|
|
69
|
+
2011-09-16 Michael Granger <ged@FaerieMUD.org>
|
|
70
|
+
|
|
71
|
+
* lib/inversion/template/elsiftag.rb:
|
|
72
|
+
Fix circular require in inversion/template/elsiftag.rb.
|
|
73
|
+
[1d255d7d60a5]
|
|
74
|
+
|
|
75
|
+
* lib/inversion/template/begintag.rb:
|
|
76
|
+
Fix shadowed variable in BeginTag#handle_exception.
|
|
77
|
+
[8424ac44da4a]
|
|
78
|
+
|
|
79
|
+
2011-08-17 Michael Granger <ged@FaerieMUD.org>
|
|
80
|
+
|
|
81
|
+
* manual/resources/css/manual.css:
|
|
82
|
+
Fixed font path
|
|
83
|
+
[986a5c14ec18]
|
|
84
|
+
|
|
85
|
+
* manual/resources/css/manual.css,
|
|
86
|
+
manual/resources/fonts/GraublauWeb.otf,
|
|
87
|
+
manual/resources/fonts/GraublauWebBold.otf, manual/resources/fonts
|
|
88
|
+
/Muli-Light.ttf, manual/resources/fonts/Muli-Regular.ttf:
|
|
89
|
+
Manual CSS tweaks
|
|
90
|
+
[cae91ab725fa]
|
|
91
|
+
|
|
92
|
+
2011-08-15 Michael Granger <ged@FaerieMUD.org>
|
|
93
|
+
|
|
94
|
+
* manual/lib/api-filter.rb, manual/src/examples.page,
|
|
95
|
+
manual/src/gettingstarted.page, manual/src/index.page,
|
|
96
|
+
manual/src/tags.page, manual/src/templates.page:
|
|
97
|
+
Merged with e0193bdb57db
|
|
98
|
+
[2e8da6e2f400]
|
|
99
|
+
|
|
100
|
+
2011-07-30 Michael Granger <ged@FaerieMUD.org>
|
|
101
|
+
|
|
102
|
+
* .hgignore, Manual Diagrams.graffle, README.rdoc,
|
|
103
|
+
manual/layouts/default.erb, manual/lib/api-filter.rb, manual/lib
|
|
104
|
+
/editorial-filter.rb, manual/lib/examples-filter.rb, manual/lib
|
|
105
|
+
/links-filter.rb, manual/resources/css/manual.css,
|
|
106
|
+
manual/resources/fonts/GraublauWeb.otf,
|
|
107
|
+
manual/resources/fonts/GraublauWebBold.otf,
|
|
108
|
+
manual/resources/fonts/Inconsolata.otf,
|
|
109
|
+
manual/resources/images/arrow_225_small.png,
|
|
110
|
+
manual/resources/images/arrow_315_small.png,
|
|
111
|
+
manual/resources/images/arrow_skip.png, manual/resources/images/cc-
|
|
112
|
+
by.png, manual/resources/images/dialog-error.png,
|
|
113
|
+
manual/resources/images/dialog-information.png,
|
|
114
|
+
manual/resources/images/dialog-warning.png, manual/resources/images
|
|
115
|
+
/emblem-important.png, manual/resources/images/help.png,
|
|
116
|
+
manual/resources/images/information.png,
|
|
117
|
+
manual/resources/images/magnifier.png,
|
|
118
|
+
manual/resources/images/magnifier_left.png,
|
|
119
|
+
manual/resources/images/page_white_code.png,
|
|
120
|
+
manual/resources/images/page_white_copy.png,
|
|
121
|
+
manual/resources/images/printer.png,
|
|
122
|
+
manual/resources/images/question.png,
|
|
123
|
+
manual/resources/images/scripts_code.png,
|
|
124
|
+
manual/resources/images/wrap.png,
|
|
125
|
+
manual/resources/images/wrapping.png,
|
|
126
|
+
manual/resources/js/jquery-1.4.4.min.js,
|
|
127
|
+
manual/resources/js/manual.js, manual/resources/js/sh.js,
|
|
128
|
+
manual/resources/swf/clipboard.swf, manual/src/examples.page,
|
|
129
|
+
manual/src/gettingstarted.page, manual/src/index.page,
|
|
130
|
+
manual/src/tags.page, manual/src/templates.page:
|
|
131
|
+
Adding a manual
|
|
132
|
+
[e0193bdb57db] [github/master]
|
|
133
|
+
|
|
1
134
|
2011-08-15 Michael Granger <ged@FaerieMUD.org>
|
|
2
135
|
|
|
136
|
+
* .hgtags:
|
|
137
|
+
Added tag v0.0.3 for changeset 30fbb9cccd00
|
|
138
|
+
[e8da683c90ba]
|
|
139
|
+
|
|
140
|
+
* .hgsigs:
|
|
141
|
+
Added signature for changeset f70888949c8c
|
|
142
|
+
[30fbb9cccd00] [v0.0.3]
|
|
143
|
+
|
|
144
|
+
* Rakefile, lib/inversion.rb:
|
|
145
|
+
Fixed dependency version requirement; bumped patch version.
|
|
146
|
+
[f70888949c8c]
|
|
147
|
+
|
|
148
|
+
* .hgtags:
|
|
149
|
+
Added tag v0.0.2 for changeset 5477976fd550
|
|
150
|
+
[1a5c6f90bfaa]
|
|
151
|
+
|
|
152
|
+
* .hgsigs:
|
|
153
|
+
Added signature for changeset 08e77b056c67
|
|
154
|
+
[5477976fd550] [v0.0.2]
|
|
155
|
+
|
|
156
|
+
* lib/inversion.rb:
|
|
157
|
+
Bump patch version for package-fix release.
|
|
158
|
+
[08e77b056c67]
|
|
159
|
+
|
|
160
|
+
* Manifest.txt:
|
|
161
|
+
Updated manifest to include all released files.
|
|
162
|
+
[d62150159d96]
|
|
163
|
+
|
|
3
164
|
* .hgtags:
|
|
4
165
|
Added tag v0.0.1 for changeset 42184d34d45d
|
|
5
|
-
[e9e43e8d1060]
|
|
166
|
+
[e9e43e8d1060]
|
|
6
167
|
|
|
7
168
|
* .hgsigs:
|
|
8
169
|
Added signature for changeset 0bca14d50d50
|
|
@@ -292,7 +453,7 @@
|
|
|
292
453
|
|
|
293
454
|
* spec/lib/helpers.rb:
|
|
294
455
|
Add SimpleCov to the Rakefile.
|
|
295
|
-
[9d871bbfa95d]
|
|
456
|
+
[9d871bbfa95d]
|
|
296
457
|
|
|
297
458
|
2011-07-07 Michael Granger <ged@FaerieMUD.org>
|
|
298
459
|
|
|
@@ -311,6 +472,16 @@
|
|
|
311
472
|
* Merged with b822cc9b6ff2
|
|
312
473
|
[f46b1ff133cd]
|
|
313
474
|
|
|
475
|
+
2011-07-05 Mahlon E. Smith <mahlon@martini.nu>
|
|
476
|
+
|
|
477
|
+
* lib/inversion/template/pptag.rb, spec/inversion/mixins_spec.rb,
|
|
478
|
+
spec/inversion/template/pptag_spec.rb:
|
|
479
|
+
Heh, added the pp tag and mixin spec files back from changeset
|
|
480
|
+
5d244064e631. Whoops.
|
|
481
|
+
[b822cc9b6ff2]
|
|
482
|
+
|
|
483
|
+
2011-07-06 Michael Granger <ged@FaerieMUD.org>
|
|
484
|
+
|
|
314
485
|
* .hgignore, README.md, Rakefile, lib/inversion.rb,
|
|
315
486
|
lib/inversion/monkeypatches.rb, lib/inversion/renderstate.rb,
|
|
316
487
|
lib/inversion/template.rb, lib/inversion/template/attrtag.rb,
|
|
@@ -367,14 +538,6 @@
|
|
|
367
538
|
- Add SimpleCov coverage ()
|
|
368
539
|
[4d7a94c4cf02]
|
|
369
540
|
|
|
370
|
-
2011-07-05 Mahlon E. Smith <mahlon@martini.nu>
|
|
371
|
-
|
|
372
|
-
* lib/inversion/template/pptag.rb, spec/inversion/mixins_spec.rb,
|
|
373
|
-
spec/inversion/template/pptag_spec.rb:
|
|
374
|
-
Heh, added the pp tag and mixin spec files back from changeset
|
|
375
|
-
5d244064e631. Whoops.
|
|
376
|
-
[b822cc9b6ff2]
|
|
377
|
-
|
|
378
541
|
2011-07-05 Michael Granger <ged@FaerieMUD.org>
|
|
379
542
|
|
|
380
543
|
* Rakefile, lib/inversion/sinatra.rb, lib/inversion/tilt.rb,
|
|
@@ -762,6 +925,14 @@
|
|
|
762
925
|
Merged with dc16cc877dfc, updated README
|
|
763
926
|
[0fdf3122bf7c]
|
|
764
927
|
|
|
928
|
+
* README.md, experiments/erb_scope_bleed.rb:
|
|
929
|
+
Fleshing out the README, adding scope-bleedover example
|
|
930
|
+
[f44b597af8bd]
|
|
931
|
+
|
|
932
|
+
* lib/inversion.rb:
|
|
933
|
+
Removing checked-in revision value
|
|
934
|
+
[773feca505b8]
|
|
935
|
+
|
|
765
936
|
2011-04-06 Michael Granger <ged@FaerieMUD.org>
|
|
766
937
|
|
|
767
938
|
* .irbrc, Rakefile, experiments/ripper_spike.rb, lib/inversion.rb,
|
|
@@ -790,10 +961,6 @@
|
|
|
790
961
|
* Merging with b50fef00621b
|
|
791
962
|
[861b21a30656]
|
|
792
963
|
|
|
793
|
-
* lib/inversion.rb:
|
|
794
|
-
Clearing Revision tag
|
|
795
|
-
[cdacb5f98f93]
|
|
796
|
-
|
|
797
964
|
2011-02-07 Mahlon E. Smith <mahlon@martini.nu>
|
|
798
965
|
|
|
799
966
|
* lib/inversion/template.rb, lib/inversion/template/attr_tag.rb,
|
|
@@ -804,15 +971,11 @@
|
|
|
804
971
|
Checkpoint, fleshing out Tags.
|
|
805
972
|
[4a4fc3f1dc14]
|
|
806
973
|
|
|
807
|
-
2011-
|
|
808
|
-
|
|
809
|
-
* README.md, experiments/erb_scope_bleed.rb:
|
|
810
|
-
Fleshing out the README, adding scope-bleedover example
|
|
811
|
-
[f44b597af8bd]
|
|
974
|
+
2011-03-18 Michael Granger <ged@FaerieMUD.org>
|
|
812
975
|
|
|
813
976
|
* lib/inversion.rb:
|
|
814
|
-
|
|
815
|
-
[
|
|
977
|
+
Clearing Revision tag
|
|
978
|
+
[cdacb5f98f93]
|
|
816
979
|
|
|
817
980
|
2011-02-07 Mahlon E. Smith <mahlon@martini.nu>
|
|
818
981
|
|
data/History.rdoc
CHANGED
data/lib/inversion.rb
CHANGED
|
@@ -26,10 +26,10 @@ module Inversion
|
|
|
26
26
|
require 'inversion/monkeypatches'
|
|
27
27
|
|
|
28
28
|
# Library version constant
|
|
29
|
-
VERSION = '0.0
|
|
29
|
+
VERSION = '0.1.0'
|
|
30
30
|
|
|
31
31
|
# Version-control revision constant
|
|
32
|
-
REVISION = %q$Revision:
|
|
32
|
+
REVISION = %q$Revision: dbc96c7b052a $
|
|
33
33
|
|
|
34
34
|
#
|
|
35
35
|
# Logging
|
data/lib/inversion/exceptions.rb
CHANGED
|
@@ -4,17 +4,20 @@
|
|
|
4
4
|
#--
|
|
5
5
|
module Inversion
|
|
6
6
|
|
|
7
|
+
# A generic Inversion exception class
|
|
8
|
+
class Error < ::RuntimeError; end
|
|
9
|
+
|
|
7
10
|
# An exception class raised from the Inversion::Template::Parser when
|
|
8
11
|
# a problem is encountered while parsing a template.
|
|
9
|
-
class ParseError < ::
|
|
12
|
+
class ParseError < Inversion::Error; end
|
|
10
13
|
|
|
11
14
|
# An exception class raised when a problem is detected in a template
|
|
12
15
|
# configuration option.
|
|
13
|
-
class OptionsError < ::
|
|
16
|
+
class OptionsError < Inversion::Error; end
|
|
14
17
|
|
|
15
18
|
# An exception class raised when a template includes itself, either
|
|
16
19
|
# directly or indirectly.
|
|
17
|
-
class StackError < ::
|
|
20
|
+
class StackError < Inversion::Error; end
|
|
18
21
|
|
|
19
22
|
end # module Inversion
|
|
20
23
|
|
data/lib/inversion/template.rb
CHANGED
|
@@ -76,7 +76,7 @@ class Inversion::Template
|
|
|
76
76
|
|
|
77
77
|
tmpl = nil
|
|
78
78
|
path = Pathname( path )
|
|
79
|
-
template_paths = self.config[:template_paths] + [ Dir.pwd ]
|
|
79
|
+
template_paths = Array( self.config[:template_paths] ) + [ Dir.pwd ]
|
|
80
80
|
|
|
81
81
|
# Unrestricted template location.
|
|
82
82
|
if path.absolute?
|
|
@@ -117,35 +117,56 @@ class Inversion::Template
|
|
|
117
117
|
|
|
118
118
|
@source = source
|
|
119
119
|
@parser = Inversion::Template::Parser.new( self, opts )
|
|
120
|
-
@node_tree = []
|
|
121
|
-
@
|
|
122
|
-
|
|
120
|
+
@node_tree = [] # Parser expects this to always be an Array
|
|
121
|
+
@init_options = opts
|
|
122
|
+
@options = nil
|
|
123
123
|
@attributes = {}
|
|
124
124
|
@source_file = nil
|
|
125
|
+
@created_at = Time.now
|
|
125
126
|
|
|
126
|
-
|
|
127
|
-
# for any attributes defined by them
|
|
128
|
-
@node_tree = @parser.parse( source, parsestate )
|
|
129
|
-
self.define_attribute_accessors
|
|
127
|
+
self.parse( source, parsestate )
|
|
130
128
|
end
|
|
131
129
|
|
|
132
130
|
|
|
133
|
-
|
|
134
131
|
######
|
|
135
132
|
public
|
|
136
133
|
######
|
|
137
134
|
|
|
135
|
+
# The raw template source from which the object was parsed.
|
|
138
136
|
attr_reader :source
|
|
139
137
|
|
|
138
|
+
# The Pathname of the file the source was read from
|
|
140
139
|
attr_accessor :source_file
|
|
141
140
|
|
|
141
|
+
# The Hash of template attributes
|
|
142
142
|
attr_reader :attributes
|
|
143
143
|
|
|
144
|
+
# The Template's configuration options hash
|
|
144
145
|
attr_reader :options
|
|
145
146
|
|
|
147
|
+
# The node tree parsed from the template source
|
|
146
148
|
attr_reader :node_tree
|
|
147
149
|
|
|
148
150
|
|
|
151
|
+
### If the template was loaded from a file, reload and reparse it from the same file.
|
|
152
|
+
def reload
|
|
153
|
+
file = self.source_file or
|
|
154
|
+
raise Inversion::Error, "template was not loaded from a file"
|
|
155
|
+
|
|
156
|
+
self.log.debug "Reloading from %s" % [ file ]
|
|
157
|
+
source = file.read
|
|
158
|
+
self.parse( source )
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
### Returns +true+ if the template was loaded from a file and the file's mtime
|
|
163
|
+
### is after the time the template was created.
|
|
164
|
+
def changed?
|
|
165
|
+
return false unless file = self.source_file
|
|
166
|
+
return ( file.mtime > @created_at )
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
|
|
149
170
|
### Render the template, optionally passing a render state (if, for example, the
|
|
150
171
|
### template is being rendered inside another template).
|
|
151
172
|
def render( parentstate=nil, &block )
|
|
@@ -197,6 +218,17 @@ class Inversion::Template
|
|
|
197
218
|
end
|
|
198
219
|
|
|
199
220
|
|
|
221
|
+
### Parse the given +source+ into the template node tree.
|
|
222
|
+
def parse( source, parsestate=nil )
|
|
223
|
+
@options = self.class.config.merge( @init_options )
|
|
224
|
+
@attributes.clear
|
|
225
|
+
@node_tree = @parser.parse( source, parsestate )
|
|
226
|
+
@source = source
|
|
227
|
+
|
|
228
|
+
self.define_attribute_accessors
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
|
|
200
232
|
### Walk the template's node tree, yielding each node in turn to the given block.
|
|
201
233
|
def walk_tree( nodes=@node_tree, &block )
|
|
202
234
|
nodes.each do |node|
|
|
@@ -19,12 +19,14 @@ require 'inversion/template/attrtag'
|
|
|
19
19
|
class Inversion::Template::TimeDeltaTag < Inversion::Template::AttrTag
|
|
20
20
|
|
|
21
21
|
# Approximate Time Constants (in seconds)
|
|
22
|
-
MINUTES
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
unless defined?( MINUTES )
|
|
23
|
+
MINUTES = 60
|
|
24
|
+
HOURS = 60 * MINUTES
|
|
25
|
+
DAYS = 24 * HOURS
|
|
26
|
+
WEEKS = 7 * DAYS
|
|
27
|
+
MONTHS = 30 * DAYS
|
|
28
|
+
YEARS = 365.25 * DAYS
|
|
29
|
+
end
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
######
|
|
@@ -34,13 +34,6 @@ describe Inversion::Template do
|
|
|
34
34
|
Inversion::Template.new( "a template" ).to_s.should == 'a template'
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
it "untaints template content loaded from a file" do
|
|
38
|
-
content = 'file contents'.taint
|
|
39
|
-
IO.should_receive( :read ).with( '/tmp/hooowat' ).and_return( content )
|
|
40
|
-
|
|
41
|
-
Inversion::Template.load( '/tmp/hooowat' ).source.should_not be_tainted()
|
|
42
|
-
end
|
|
43
|
-
|
|
44
37
|
it "calls before and after rendering hooks on all of its nodes when rendered" do
|
|
45
38
|
node = double( "fake node" )
|
|
46
39
|
parentstate = Inversion::RenderState.new( :foo => 'the merged stuff' )
|
|
@@ -84,6 +77,73 @@ describe Inversion::Template do
|
|
|
84
77
|
end
|
|
85
78
|
|
|
86
79
|
|
|
80
|
+
context "loaded from a file" do
|
|
81
|
+
|
|
82
|
+
before( :each ) do
|
|
83
|
+
@timestamp = Time.now
|
|
84
|
+
content = 'file contents'.taint
|
|
85
|
+
IO.should_receive( :read ).with( '/tmp/hooowat' ).and_return( content )
|
|
86
|
+
@template = Inversion::Template.load( '/tmp/hooowat' )
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
it "untaints template content loaded from a file" do
|
|
91
|
+
@template.source.should_not be_tainted()
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
it "can be reloaded" do
|
|
95
|
+
newcontent = 'changed file contents'.taint
|
|
96
|
+
IO.should_receive( :read ).with( '/tmp/hooowat' ).and_return( newcontent )
|
|
97
|
+
@template.reload
|
|
98
|
+
@template.source.should == newcontent
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
context "that hasn't changed since it was loaded" do
|
|
102
|
+
|
|
103
|
+
before( :each ) do
|
|
104
|
+
@template.source_file.stub!( :mtime ).and_return( @timestamp )
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
it "knows that it hasn't changed" do
|
|
108
|
+
@template.should_not be_changed()
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
context "that has changed since it was loaded" do
|
|
113
|
+
|
|
114
|
+
before( :each ) do
|
|
115
|
+
@template.source_file.stub!( :mtime ).and_return( @timestamp + 1 )
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
it "knows that is has changed" do
|
|
119
|
+
@template.should be_changed()
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
context "loaded from a String" do
|
|
128
|
+
|
|
129
|
+
before( :each ) do
|
|
130
|
+
@template = Inversion::Template.new( 'some stuff' )
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
it "never says it has changed" do
|
|
134
|
+
@template.should_not be_changed()
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
it "raises an exception if reloaded" do
|
|
138
|
+
expect {
|
|
139
|
+
@template.reload
|
|
140
|
+
}.to raise_error( Inversion::Error, /not loaded from a file/i )
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
87
147
|
context "without template paths set" do
|
|
88
148
|
|
|
89
149
|
before( :each ) do
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: inversion
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -49,11 +49,11 @@ cert_chain:
|
|
|
49
49
|
-----END CERTIFICATE-----
|
|
50
50
|
|
|
51
51
|
'
|
|
52
|
-
date: 2011-09-
|
|
52
|
+
date: 2011-09-23 00:00:00.000000000Z
|
|
53
53
|
dependencies:
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: hoe-mercurial
|
|
56
|
-
requirement: &
|
|
56
|
+
requirement: &2153364080 !ruby/object:Gem::Requirement
|
|
57
57
|
none: false
|
|
58
58
|
requirements:
|
|
59
59
|
- - ~>
|
|
@@ -61,21 +61,21 @@ dependencies:
|
|
|
61
61
|
version: 1.3.0
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
|
-
version_requirements: *
|
|
64
|
+
version_requirements: *2153364080
|
|
65
65
|
- !ruby/object:Gem::Dependency
|
|
66
66
|
name: hoe-manualgen
|
|
67
|
-
requirement: &
|
|
67
|
+
requirement: &2153363380 !ruby/object:Gem::Requirement
|
|
68
68
|
none: false
|
|
69
69
|
requirements:
|
|
70
70
|
- - ~>
|
|
71
71
|
- !ruby/object:Gem::Version
|
|
72
|
-
version: 0.
|
|
72
|
+
version: 0.1.1
|
|
73
73
|
type: :development
|
|
74
74
|
prerelease: false
|
|
75
|
-
version_requirements: *
|
|
75
|
+
version_requirements: *2153363380
|
|
76
76
|
- !ruby/object:Gem::Dependency
|
|
77
77
|
name: hoe-highline
|
|
78
|
-
requirement: &
|
|
78
|
+
requirement: &2153362780 !ruby/object:Gem::Requirement
|
|
79
79
|
none: false
|
|
80
80
|
requirements:
|
|
81
81
|
- - ~>
|
|
@@ -83,10 +83,10 @@ dependencies:
|
|
|
83
83
|
version: 0.0.1
|
|
84
84
|
type: :development
|
|
85
85
|
prerelease: false
|
|
86
|
-
version_requirements: *
|
|
86
|
+
version_requirements: *2153362780
|
|
87
87
|
- !ruby/object:Gem::Dependency
|
|
88
88
|
name: rspec
|
|
89
|
-
requirement: &
|
|
89
|
+
requirement: &2153362080 !ruby/object:Gem::Requirement
|
|
90
90
|
none: false
|
|
91
91
|
requirements:
|
|
92
92
|
- - ~>
|
|
@@ -94,10 +94,10 @@ dependencies:
|
|
|
94
94
|
version: 2.6.0
|
|
95
95
|
type: :development
|
|
96
96
|
prerelease: false
|
|
97
|
-
version_requirements: *
|
|
97
|
+
version_requirements: *2153362080
|
|
98
98
|
- !ruby/object:Gem::Dependency
|
|
99
99
|
name: tilt
|
|
100
|
-
requirement: &
|
|
100
|
+
requirement: &2153350520 !ruby/object:Gem::Requirement
|
|
101
101
|
none: false
|
|
102
102
|
requirements:
|
|
103
103
|
- - ~>
|
|
@@ -105,10 +105,10 @@ dependencies:
|
|
|
105
105
|
version: 1.3.2
|
|
106
106
|
type: :development
|
|
107
107
|
prerelease: false
|
|
108
|
-
version_requirements: *
|
|
108
|
+
version_requirements: *2153350520
|
|
109
109
|
- !ruby/object:Gem::Dependency
|
|
110
110
|
name: sinatra
|
|
111
|
-
requirement: &
|
|
111
|
+
requirement: &2153349840 !ruby/object:Gem::Requirement
|
|
112
112
|
none: false
|
|
113
113
|
requirements:
|
|
114
114
|
- - ~>
|
|
@@ -116,10 +116,10 @@ dependencies:
|
|
|
116
116
|
version: 1.2.6
|
|
117
117
|
type: :development
|
|
118
118
|
prerelease: false
|
|
119
|
-
version_requirements: *
|
|
119
|
+
version_requirements: *2153349840
|
|
120
120
|
- !ruby/object:Gem::Dependency
|
|
121
121
|
name: rack-test
|
|
122
|
-
requirement: &
|
|
122
|
+
requirement: &2153349080 !ruby/object:Gem::Requirement
|
|
123
123
|
none: false
|
|
124
124
|
requirements:
|
|
125
125
|
- - ~>
|
|
@@ -127,10 +127,10 @@ dependencies:
|
|
|
127
127
|
version: 0.6.0
|
|
128
128
|
type: :development
|
|
129
129
|
prerelease: false
|
|
130
|
-
version_requirements: *
|
|
130
|
+
version_requirements: *2153349080
|
|
131
131
|
- !ruby/object:Gem::Dependency
|
|
132
132
|
name: simplecov
|
|
133
|
-
requirement: &
|
|
133
|
+
requirement: &2153348500 !ruby/object:Gem::Requirement
|
|
134
134
|
none: false
|
|
135
135
|
requirements:
|
|
136
136
|
- - ~>
|
|
@@ -138,10 +138,10 @@ dependencies:
|
|
|
138
138
|
version: 0.4.2
|
|
139
139
|
type: :development
|
|
140
140
|
prerelease: false
|
|
141
|
-
version_requirements: *
|
|
141
|
+
version_requirements: *2153348500
|
|
142
142
|
- !ruby/object:Gem::Dependency
|
|
143
143
|
name: hoe-manualgen
|
|
144
|
-
requirement: &
|
|
144
|
+
requirement: &2153347960 !ruby/object:Gem::Requirement
|
|
145
145
|
none: false
|
|
146
146
|
requirements:
|
|
147
147
|
- - ~>
|
|
@@ -149,10 +149,10 @@ dependencies:
|
|
|
149
149
|
version: 0.2.0
|
|
150
150
|
type: :development
|
|
151
151
|
prerelease: false
|
|
152
|
-
version_requirements: *
|
|
152
|
+
version_requirements: *2153347960
|
|
153
153
|
- !ruby/object:Gem::Dependency
|
|
154
154
|
name: trollop
|
|
155
|
-
requirement: &
|
|
155
|
+
requirement: &2153347420 !ruby/object:Gem::Requirement
|
|
156
156
|
none: false
|
|
157
157
|
requirements:
|
|
158
158
|
- - ~>
|
|
@@ -160,10 +160,10 @@ dependencies:
|
|
|
160
160
|
version: 1.16.2
|
|
161
161
|
type: :development
|
|
162
162
|
prerelease: false
|
|
163
|
-
version_requirements: *
|
|
163
|
+
version_requirements: *2153347420
|
|
164
164
|
- !ruby/object:Gem::Dependency
|
|
165
165
|
name: highline
|
|
166
|
-
requirement: &
|
|
166
|
+
requirement: &2153346780 !ruby/object:Gem::Requirement
|
|
167
167
|
none: false
|
|
168
168
|
requirements:
|
|
169
169
|
- - ~>
|
|
@@ -171,10 +171,10 @@ dependencies:
|
|
|
171
171
|
version: 1.6.2
|
|
172
172
|
type: :development
|
|
173
173
|
prerelease: false
|
|
174
|
-
version_requirements: *
|
|
174
|
+
version_requirements: *2153346780
|
|
175
175
|
- !ruby/object:Gem::Dependency
|
|
176
176
|
name: sysexits
|
|
177
|
-
requirement: &
|
|
177
|
+
requirement: &2153346060 !ruby/object:Gem::Requirement
|
|
178
178
|
none: false
|
|
179
179
|
requirements:
|
|
180
180
|
- - ~>
|
|
@@ -182,10 +182,10 @@ dependencies:
|
|
|
182
182
|
version: 1.0.2
|
|
183
183
|
type: :development
|
|
184
184
|
prerelease: false
|
|
185
|
-
version_requirements: *
|
|
185
|
+
version_requirements: *2153346060
|
|
186
186
|
- !ruby/object:Gem::Dependency
|
|
187
187
|
name: hoe
|
|
188
|
-
requirement: &
|
|
188
|
+
requirement: &2153345500 !ruby/object:Gem::Requirement
|
|
189
189
|
none: false
|
|
190
190
|
requirements:
|
|
191
191
|
- - ~>
|
|
@@ -193,7 +193,7 @@ dependencies:
|
|
|
193
193
|
version: '2.12'
|
|
194
194
|
type: :development
|
|
195
195
|
prerelease: false
|
|
196
|
-
version_requirements: *
|
|
196
|
+
version_requirements: *2153345500
|
|
197
197
|
description: ! 'Inversion is a templating system for Ruby. It uses the "Inversion
|
|
198
198
|
of Control" principle to decouple
|
|
199
199
|
|
metadata.gz.sig
CHANGED
|
Binary file
|