inversion 0.8.0 → 0.9.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 +97 -2
- data/History.rdoc +6 -0
- data/README.rdoc +3 -1
- data/lib/inversion.rb +2 -2
- data/lib/inversion/renderstate.rb +0 -1
- data/lib/inversion/template.rb +18 -6
- data/spec/inversion/template_spec.rb +3 -3
- metadata +29 -29
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/ChangeLog
CHANGED
@@ -1,8 +1,103 @@
|
|
1
|
+
2012-04-13 Mahlon E. Smith <mahlon@martini.nu>
|
2
|
+
|
3
|
+
* manual/src/tags.page:
|
4
|
+
Fix the include tag example in the manual.
|
5
|
+
[b5fcbae36ff2] [tip]
|
6
|
+
|
7
|
+
2012-04-02 Michael Granger <ged@FaerieMUD.org>
|
8
|
+
|
9
|
+
* README.rdoc:
|
10
|
+
Update the README to Hoe 3 style.
|
11
|
+
[c13d2db3e0ce]
|
12
|
+
|
13
|
+
* lib/inversion/renderstate.rb:
|
14
|
+
Remove an old FIXME comment.
|
15
|
+
[21eecc7eafca]
|
16
|
+
|
17
|
+
2012-04-01 Michael Granger <ged@FaerieMUD.org>
|
18
|
+
|
19
|
+
* .hgtags:
|
20
|
+
Added tag v0.8.0 for changeset 5d07557a543c
|
21
|
+
[57381a550306] [github/master]
|
22
|
+
|
23
|
+
* .hgsigs:
|
24
|
+
Added signature for changeset d461a2bf079d
|
25
|
+
[5d07557a543c] [v0.8.0]
|
26
|
+
|
27
|
+
* Manifest.txt, Rakefile:
|
28
|
+
Update the manifest.
|
29
|
+
[d461a2bf079d]
|
30
|
+
|
31
|
+
* History.rdoc, lib/inversion.rb:
|
32
|
+
Bump the minor version, update history.
|
33
|
+
[2b5542ae6bf6]
|
34
|
+
|
35
|
+
* lib/inversion.rb, lib/inversion/logging.rb, lib/inversion/mixins.rb,
|
36
|
+
lib/inversion/utils.rb, spec/inversion/logging_spec.rb,
|
37
|
+
spec/lib/helpers.rb:
|
38
|
+
Move logging code out into a separate file.
|
39
|
+
[0c88a54d2811]
|
40
|
+
|
41
|
+
* lib/inversion/mixins.rb, lib/inversion/template/tag.rb:
|
42
|
+
Add MethodUtilities mixin for declaring singleton attrs
|
43
|
+
[3d40570d7aaf]
|
44
|
+
|
45
|
+
2012-03-30 Michael Granger <ged@FaerieMUD.org>
|
46
|
+
|
47
|
+
* README.rdoc, lib/inversion/renderstate.rb,
|
48
|
+
lib/inversion/template.rb, lib/inversion/template/fortag.rb:
|
49
|
+
Comment out a bunch of slow debugging, update copyright date.
|
50
|
+
[0422221385f6]
|
51
|
+
|
52
|
+
* lib/inversion/renderstate.rb:
|
53
|
+
Handle RenderState::Scope#merge a little more gracefully.
|
54
|
+
|
55
|
+
Instead of trying to merge locals and then rescuing if the merged
|
56
|
+
object doesn't respond to __locals__, implement #to_hash so they're
|
57
|
+
able to be merged directly with a Hash.
|
58
|
+
[a9d68f668e05]
|
59
|
+
|
60
|
+
2012-03-29 Michael Granger <ged@FaerieMUD.org>
|
61
|
+
|
62
|
+
* .hgtags:
|
63
|
+
Added tag v0.7.0 for changeset 33027d3d78c5
|
64
|
+
[46549d0c2f86]
|
65
|
+
|
66
|
+
* .hgsigs:
|
67
|
+
Added signature for changeset a202a2c01b18
|
68
|
+
[33027d3d78c5] [v0.7.0]
|
69
|
+
|
70
|
+
* .rvm.gems:
|
71
|
+
Updated the rvm gemset.
|
72
|
+
[a202a2c01b18]
|
73
|
+
|
74
|
+
* History.rdoc, lib/inversion.rb:
|
75
|
+
Bump the minor version, update history.
|
76
|
+
[92c2961cf986]
|
77
|
+
|
78
|
+
* Rakefile, experiments/renderstate-scope.rb,
|
79
|
+
lib/inversion/renderstate.rb, lib/inversion/template/attrtag.rb,
|
80
|
+
spec/inversion/renderstate_spec.rb,
|
81
|
+
spec/inversion/template/attrtag_spec.rb:
|
82
|
+
Switch to a looser eval strategy for rendering tag bodies.
|
83
|
+
|
84
|
+
The previous method relied on a stack of attributes Hashes in the
|
85
|
+
RenderState; the new method in effect wraps a Binding with a
|
86
|
+
method_missing for translating identifiers that look like locals
|
87
|
+
back into template attributes. This not only allows for template
|
88
|
+
attributes to be used as arguments to the methods called on other
|
89
|
+
attributes, but avoids sharing the Binding of the RenderState with
|
90
|
+
the tags rendered inside it.
|
91
|
+
|
92
|
+
Backwards-compatibility is also maintained via a few aliases and
|
93
|
+
shim methods.
|
94
|
+
[5340e6ffaac3]
|
95
|
+
|
1
96
|
2012-03-16 Michael Granger <ged@FaerieMUD.org>
|
2
97
|
|
3
98
|
* .hgtags:
|
4
99
|
Added tag v0.6.1 for changeset e839621aac29
|
5
|
-
[63e1a917c7ad]
|
100
|
+
[63e1a917c7ad]
|
6
101
|
|
7
102
|
* .hgsigs:
|
8
103
|
Added signature for changeset 1947a577fae1
|
@@ -52,7 +147,7 @@
|
|
52
147
|
* lib/inversion/template.rb, spec/inversion/template_spec.rb:
|
53
148
|
Err, no. Lets try that again. 10,000 monkeys pounding away at
|
54
149
|
keyboards are responsible. Or maybe just one.
|
55
|
-
[7c42e6b20c11]
|
150
|
+
[7c42e6b20c11]
|
56
151
|
|
57
152
|
* lib/inversion/template.rb, manual/src/templates.page,
|
58
153
|
spec/inversion/template_spec.rb:
|
data/History.rdoc
CHANGED
data/README.rdoc
CHANGED
data/lib/inversion.rb
CHANGED
@@ -19,10 +19,10 @@ module Inversion
|
|
19
19
|
warn ">>> Inversion requires Ruby 1.9.2 or later. <<<" if RUBY_VERSION < '1.9.2'
|
20
20
|
|
21
21
|
# Library version constant
|
22
|
-
VERSION = '0.
|
22
|
+
VERSION = '0.9.0'
|
23
23
|
|
24
24
|
# Version-control revision constant
|
25
|
-
REVISION = %q$Revision:
|
25
|
+
REVISION = %q$Revision: b208fa9154b1 $
|
26
26
|
|
27
27
|
require 'inversion/logging'
|
28
28
|
extend Inversion::Logging
|
@@ -36,7 +36,6 @@ class Inversion::RenderState
|
|
36
36
|
### Return a copy of the receiving Scope merged with the given +values+,
|
37
37
|
### which can be either another Scope or a Hash.
|
38
38
|
def +( values )
|
39
|
-
# Have to do it this kludgy way because Scopes don't have #respond_to?
|
40
39
|
return Scope.new( @locals.merge(values) )
|
41
40
|
end
|
42
41
|
|
data/lib/inversion/template.rb
CHANGED
@@ -45,27 +45,39 @@ class Inversion::Template
|
|
45
45
|
### Default config values
|
46
46
|
DEFAULT_CONFIG = {
|
47
47
|
:ignore_unknown_tags => true,
|
48
|
+
:template_paths => [],
|
49
|
+
|
48
50
|
:on_render_error => :comment,
|
49
51
|
:debugging_comments => false,
|
50
52
|
:comment_start => '<!-- ',
|
51
53
|
:comment_end => ' -->',
|
52
|
-
:template_paths => [],
|
53
54
|
:escape_format => :html,
|
54
55
|
:strip_tag_lines => true,
|
55
56
|
:stat_delay => 0
|
56
|
-
}
|
57
|
+
}.freeze
|
57
58
|
|
58
59
|
|
59
60
|
### Global config
|
60
61
|
@config = DEFAULT_CONFIG.dup
|
61
62
|
class << self; attr_accessor :config; end
|
62
63
|
|
64
|
+
# Global template search path
|
65
|
+
@template_paths = []
|
66
|
+
class << self; attr_accessor :template_paths; end
|
67
|
+
|
63
68
|
|
64
69
|
### Configure the templating system.
|
65
70
|
def self::configure( config )
|
66
|
-
|
67
|
-
|
68
|
-
|
71
|
+
if config
|
72
|
+
Inversion.log.debug "Merging config %p with current config %p" % [ config, self.config ]
|
73
|
+
merged_config = DEFAULT_CONFIG.merge( config )
|
74
|
+
self.template_paths = Array( merged_config.delete(:template_paths) )
|
75
|
+
self.config = merged_config
|
76
|
+
else
|
77
|
+
defaults = DEFAULT_CONFIG.dup
|
78
|
+
self.template_paths = defaults.delete( :template_paths )
|
79
|
+
self.config = defaults
|
80
|
+
end
|
69
81
|
end
|
70
82
|
|
71
83
|
|
@@ -80,7 +92,7 @@ class Inversion::Template
|
|
80
92
|
|
81
93
|
tmpl = nil
|
82
94
|
path = Pathname( path )
|
83
|
-
template_paths =
|
95
|
+
template_paths = self.template_paths + [ Dir.pwd ]
|
84
96
|
|
85
97
|
# Unrestricted template location.
|
86
98
|
if path.absolute?
|
@@ -195,7 +195,7 @@ describe Inversion::Template do
|
|
195
195
|
context "without template paths set" do
|
196
196
|
|
197
197
|
before( :each ) do
|
198
|
-
Inversion::Template.
|
198
|
+
Inversion::Template.template_paths.clear
|
199
199
|
end
|
200
200
|
|
201
201
|
it "instances can be loaded from an absolute path" do
|
@@ -215,11 +215,11 @@ describe Inversion::Template do
|
|
215
215
|
context "with template paths set" do
|
216
216
|
|
217
217
|
before( :each ) do
|
218
|
-
Inversion::Template.
|
218
|
+
Inversion::Template.template_paths = [ '/tmp', '/fun' ]
|
219
219
|
end
|
220
220
|
|
221
221
|
after( :each ) do
|
222
|
-
Inversion::Template.
|
222
|
+
Inversion::Template.template_paths.clear
|
223
223
|
end
|
224
224
|
|
225
225
|
it "instances can be loaded from an absolute path" 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.
|
4
|
+
version: 0.9.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -37,11 +37,11 @@ cert_chain:
|
|
37
37
|
YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
|
38
38
|
Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
|
39
39
|
cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
40
|
-
date: 2012-04-
|
40
|
+
date: 2012-04-24 00:00:00.000000000 Z
|
41
41
|
dependencies:
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: hoe-mercurial
|
44
|
-
requirement: &
|
44
|
+
requirement: &70266679150500 !ruby/object:Gem::Requirement
|
45
45
|
none: false
|
46
46
|
requirements:
|
47
47
|
- - ~>
|
@@ -49,10 +49,10 @@ dependencies:
|
|
49
49
|
version: 1.4.0
|
50
50
|
type: :development
|
51
51
|
prerelease: false
|
52
|
-
version_requirements: *
|
52
|
+
version_requirements: *70266679150500
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: hoe-manualgen
|
55
|
-
requirement: &
|
55
|
+
requirement: &70266679150000 !ruby/object:Gem::Requirement
|
56
56
|
none: false
|
57
57
|
requirements:
|
58
58
|
- - ~>
|
@@ -60,21 +60,21 @@ dependencies:
|
|
60
60
|
version: 0.3.0
|
61
61
|
type: :development
|
62
62
|
prerelease: false
|
63
|
-
version_requirements: *
|
63
|
+
version_requirements: *70266679150000
|
64
64
|
- !ruby/object:Gem::Dependency
|
65
65
|
name: hoe-highline
|
66
|
-
requirement: &
|
66
|
+
requirement: &70266679149420 !ruby/object:Gem::Requirement
|
67
67
|
none: false
|
68
68
|
requirements:
|
69
69
|
- - ~>
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version: 0.0
|
71
|
+
version: 0.1.0
|
72
72
|
type: :development
|
73
73
|
prerelease: false
|
74
|
-
version_requirements: *
|
74
|
+
version_requirements: *70266679149420
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rdoc
|
77
|
-
requirement: &
|
77
|
+
requirement: &70266679148880 !ruby/object:Gem::Requirement
|
78
78
|
none: false
|
79
79
|
requirements:
|
80
80
|
- - ~>
|
@@ -82,10 +82,10 @@ dependencies:
|
|
82
82
|
version: '3.10'
|
83
83
|
type: :development
|
84
84
|
prerelease: false
|
85
|
-
version_requirements: *
|
85
|
+
version_requirements: *70266679148880
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
87
|
name: rspec
|
88
|
-
requirement: &
|
88
|
+
requirement: &70266679148440 !ruby/object:Gem::Requirement
|
89
89
|
none: false
|
90
90
|
requirements:
|
91
91
|
- - ~>
|
@@ -93,10 +93,10 @@ dependencies:
|
|
93
93
|
version: '2.8'
|
94
94
|
type: :development
|
95
95
|
prerelease: false
|
96
|
-
version_requirements: *
|
96
|
+
version_requirements: *70266679148440
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: tilt
|
99
|
-
requirement: &
|
99
|
+
requirement: &70266679147840 !ruby/object:Gem::Requirement
|
100
100
|
none: false
|
101
101
|
requirements:
|
102
102
|
- - ~>
|
@@ -104,10 +104,10 @@ dependencies:
|
|
104
104
|
version: '1.3'
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
|
-
version_requirements: *
|
107
|
+
version_requirements: *70266679147840
|
108
108
|
- !ruby/object:Gem::Dependency
|
109
109
|
name: sinatra
|
110
|
-
requirement: &
|
110
|
+
requirement: &70266679147360 !ruby/object:Gem::Requirement
|
111
111
|
none: false
|
112
112
|
requirements:
|
113
113
|
- - ~>
|
@@ -115,10 +115,10 @@ dependencies:
|
|
115
115
|
version: '1.2'
|
116
116
|
type: :development
|
117
117
|
prerelease: false
|
118
|
-
version_requirements: *
|
118
|
+
version_requirements: *70266679147360
|
119
119
|
- !ruby/object:Gem::Dependency
|
120
120
|
name: rack-test
|
121
|
-
requirement: &
|
121
|
+
requirement: &70266679146920 !ruby/object:Gem::Requirement
|
122
122
|
none: false
|
123
123
|
requirements:
|
124
124
|
- - ~>
|
@@ -126,10 +126,10 @@ dependencies:
|
|
126
126
|
version: '0.6'
|
127
127
|
type: :development
|
128
128
|
prerelease: false
|
129
|
-
version_requirements: *
|
129
|
+
version_requirements: *70266679146920
|
130
130
|
- !ruby/object:Gem::Dependency
|
131
131
|
name: simplecov
|
132
|
-
requirement: &
|
132
|
+
requirement: &70266679146420 !ruby/object:Gem::Requirement
|
133
133
|
none: false
|
134
134
|
requirements:
|
135
135
|
- - ~>
|
@@ -137,10 +137,10 @@ dependencies:
|
|
137
137
|
version: '0.4'
|
138
138
|
type: :development
|
139
139
|
prerelease: false
|
140
|
-
version_requirements: *
|
140
|
+
version_requirements: *70266679146420
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
142
|
name: trollop
|
143
|
-
requirement: &
|
143
|
+
requirement: &70266679145640 !ruby/object:Gem::Requirement
|
144
144
|
none: false
|
145
145
|
requirements:
|
146
146
|
- - ~>
|
@@ -148,10 +148,10 @@ dependencies:
|
|
148
148
|
version: '1.16'
|
149
149
|
type: :development
|
150
150
|
prerelease: false
|
151
|
-
version_requirements: *
|
151
|
+
version_requirements: *70266679145640
|
152
152
|
- !ruby/object:Gem::Dependency
|
153
153
|
name: highline
|
154
|
-
requirement: &
|
154
|
+
requirement: &70266679160900 !ruby/object:Gem::Requirement
|
155
155
|
none: false
|
156
156
|
requirements:
|
157
157
|
- - ~>
|
@@ -159,10 +159,10 @@ dependencies:
|
|
159
159
|
version: '1.6'
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
|
-
version_requirements: *
|
162
|
+
version_requirements: *70266679160900
|
163
163
|
- !ruby/object:Gem::Dependency
|
164
164
|
name: sysexits
|
165
|
-
requirement: &
|
165
|
+
requirement: &70266679159920 !ruby/object:Gem::Requirement
|
166
166
|
none: false
|
167
167
|
requirements:
|
168
168
|
- - ~>
|
@@ -170,10 +170,10 @@ dependencies:
|
|
170
170
|
version: '1.0'
|
171
171
|
type: :development
|
172
172
|
prerelease: false
|
173
|
-
version_requirements: *
|
173
|
+
version_requirements: *70266679159920
|
174
174
|
- !ruby/object:Gem::Dependency
|
175
175
|
name: hoe
|
176
|
-
requirement: &
|
176
|
+
requirement: &70266679159060 !ruby/object:Gem::Requirement
|
177
177
|
none: false
|
178
178
|
requirements:
|
179
179
|
- - ~>
|
@@ -181,7 +181,7 @@ dependencies:
|
|
181
181
|
version: '3.0'
|
182
182
|
type: :development
|
183
183
|
prerelease: false
|
184
|
-
version_requirements: *
|
184
|
+
version_requirements: *70266679159060
|
185
185
|
description: ! 'Inversion is a templating system for Ruby. It uses the "Inversion
|
186
186
|
of Control"
|
187
187
|
|
metadata.gz.sig
CHANGED
Binary file
|