inversion 0.15.0 → 0.16.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4983f0e8917f4a40d760bc7f77214c2732d04bcb
4
- data.tar.gz: 5fd44317d690978ea3ebca07c9a6fcd4b3623ee5
3
+ metadata.gz: a4433eb48f907f0b5861914eb3ec073bee86431b
4
+ data.tar.gz: 99143eca9a86f27e54488b9cbb5f8aa9d2cf9072
5
5
  SHA512:
6
- metadata.gz: a6d6826555de328206231211b8d193fffe41854375c39eb25cf3dfb342d3412634c1e6de4d8dd850038246bee93e1ebc6a35cdd1f92ca18093baf87b00109ef6
7
- data.tar.gz: 22eb288a86e2852b67ef94c097d9ecfc3ce26e85fb1ee58eeb964d1af481659a360856ddcc5a87a2e98f7faa1157bab1efa62b9b95a686ccb06022fcb309b408
6
+ metadata.gz: e4a08815c33455449aaf698a30012673674f912f6c05a57f6ac91b17d91a81b7816f0402074a0fe3ba4633f1dc19953f601ebe3830866106555afa2695d72cdc
7
+ data.tar.gz: 0cfbcfeab6c68c663c9e58c3832fe50a6ab803148d1c51dc7ba1cbcf821b01d3000164a1944086bf5f8ee241ea17db0e31209a7a1d12d8c8727e89e5b1ec27b5
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/Guide.rdoc CHANGED
@@ -21,7 +21,7 @@ Finally, there are a number of {Annotated Examples}[rdoc-ref:Examples] that illu
21
21
 
22
22
  == License
23
23
 
24
- Copyright © 2011-2013, Michael Granger, Mahlon E. Smith
24
+ Copyright © 2011-2015, Michael Granger, Mahlon E. Smith
25
25
  All rights reserved.
26
26
 
27
27
  Redistribution and use in source and binary forms, with or without modification, are
data/History.rdoc CHANGED
@@ -1,3 +1,9 @@
1
+ == v0.16.0 [2015-01-14] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ Add support for loading templates from an alternate path
4
+ via :template_paths option to Inversion::Template.load.
5
+
6
+
1
7
  == v0.15.0 [2014-11-24] Michael Granger <ged@FaerieMUD.org>
2
8
 
3
9
  Add a mechanism to allow tags to extend the template.
data/README.rdoc CHANGED
@@ -119,7 +119,7 @@ and generate the API documentation.
119
119
 
120
120
  == License
121
121
 
122
- Copyright © 2011-2012, Michael Granger and Mahlon E. Smith
122
+ Copyright © 2011-2015, Michael Granger and Mahlon E. Smith
123
123
  All rights reserved.
124
124
 
125
125
  Redistribution and use in source and binary forms, with or without
data/Rakefile CHANGED
@@ -40,7 +40,7 @@ hoespec = Hoe.spec 'inversion' do
40
40
  self.dependency 'trollop', '~> 2.0', :development
41
41
  self.dependency 'rdoc-generator-fivefish', '~> 0', :development
42
42
 
43
- self.require_ruby_version( '>=1.9.2' )
43
+ self.require_ruby_version( '>=2.0.0' )
44
44
  self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= )
45
45
  self.check_history_on_release = true if self.respond_to?( :check_history_on_release= )
46
46
  self.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
data/lib/inversion.rb CHANGED
@@ -23,13 +23,13 @@ module Inversion
23
23
  log_as :inversion
24
24
 
25
25
 
26
- warn ">>> Inversion requires Ruby 1.9.2 or later. <<<" if RUBY_VERSION < '1.9.2'
26
+ warn ">>> Inversion requires Ruby 2.0.0 or later. <<<" if RUBY_VERSION < '2.0.0'
27
27
 
28
28
  # Library version constant
29
- VERSION = '0.15.0'
29
+ VERSION = '0.16.0'
30
30
 
31
31
  # Version-control revision constant
32
- REVISION = %q$Revision: 7db3ff80c8e1 $
32
+ REVISION = %q$Revision: 83bef41f95a3 $
33
33
 
34
34
 
35
35
  ### Get the Inversion version.
@@ -169,7 +169,9 @@ class Inversion::Template
169
169
 
170
170
  tmpl = nil
171
171
  path = Pathname( path )
172
- template_paths = self.template_paths + [ Dir.pwd ]
172
+ opts[:template_paths] ||= self.template_paths
173
+ search_path = opts[:template_paths] + [ Dir.pwd ]
174
+ self.log.debug "Searching template paths: %p" % [ search_path ]
173
175
 
174
176
  # Unrestricted template location.
175
177
  if path.absolute?
@@ -178,12 +180,12 @@ class Inversion::Template
178
180
  # Template files searched under paths specified in 'template_paths', then
179
181
  # the current working directory. First match wins.
180
182
  else
181
- tmpl = template_paths.collect {|dir| Pathname(dir) + path }.find do |fullpath|
183
+ tmpl = search_path.collect {|dir| Pathname(dir) + path }.find do |fullpath|
182
184
  fullpath.exist?
183
185
  end
184
186
 
185
187
  raise RuntimeError, "Unable to find template %p within configured paths %p" %
186
- [ path.to_s, template_paths ] if tmpl.nil?
188
+ [ path.to_s, search_path ] if tmpl.nil?
187
189
  end
188
190
 
189
191
  # We trust files read from disk
data/spec/helpers.rb CHANGED
@@ -10,6 +10,8 @@ require 'loggability/spechelpers'
10
10
 
11
11
  require 'inversion'
12
12
 
13
+ Inversion::Template::Tag.load_all
14
+
13
15
 
14
16
  ### RSpec helper functions.
15
17
  module Inversion::SpecHelpers
@@ -7,15 +7,6 @@ require 'inversion/template/configtag'
7
7
 
8
8
  describe Inversion::Template::ConfigTag do
9
9
 
10
- before( :all ) do
11
- Inversion::Template.template_paths << 'spec/data'
12
- end
13
-
14
- after( :all ) do
15
- Inversion::Template.template_paths.delete( 'spec/data' )
16
- end
17
-
18
-
19
10
  # <?config comment_start: /* ?>
20
11
  # <?config comment_end: */ ?>
21
12
  it "can contain a single configuration setting" do
@@ -97,7 +88,7 @@ describe Inversion::Template::ConfigTag do
97
88
  <?include unknown-tag.tmpl ?>
98
89
  TEMPLATE
99
90
  expect {
100
- Inversion::Template.new( source )
91
+ Inversion::Template.new( source, template_paths: %w[spec/data] )
101
92
  }.to raise_error( Inversion::ParseError, /unknown tag "unknown"/i )
102
93
  end
103
94
 
@@ -107,7 +98,7 @@ describe Inversion::Template::ConfigTag do
107
98
  <?attr subtemplate ?>
108
99
  TEMPLATE
109
100
  tmpl = Inversion::Template.new( source )
110
- tmpl.subtemplate = Inversion::Template.load( 'unknown-tag.tmpl' )
101
+ tmpl.subtemplate = Inversion::Template.load( 'unknown-tag.tmpl', template_paths: %w[spec/data] )
111
102
 
112
103
  expect( tmpl.render ).to match( /commented out 1 nodes on line 3: some stuff/i )
113
104
  end
@@ -9,7 +9,6 @@ require 'inversion/template/includetag'
9
9
 
10
10
  describe Inversion::Template::IncludeTag do
11
11
 
12
-
13
12
  it "renders the IncludeTag as an empty string" do
14
13
  included_path = Pathname.pwd + 'included.tmpl'
15
14
  expect( FileTest ).to receive( :exist? ).with( included_path.to_s ).and_return( true )
@@ -9,6 +9,16 @@ require 'inversion/template'
9
9
 
10
10
  describe Inversion::Template do
11
11
 
12
+ before( :all ) do
13
+ @default_template_path = Inversion::Template.template_paths
14
+ Inversion::Template::Tag.load_all
15
+ end
16
+
17
+ after( :all ) do
18
+ Inversion::Template.template_paths = @default_template_path
19
+ end
20
+
21
+
12
22
  context "created from a simple string" do
13
23
 
14
24
  let( :template ) { described_class.new("a template") }
@@ -278,6 +288,15 @@ describe Inversion::Template do
278
288
  expect( IO ).to receive( :read ).with( tmplpath.to_s ).and_return( 'file contents' )
279
289
  expect( described_class.load( 'hooowat.tmpl' ).source ).to eq( 'file contents' )
280
290
  end
291
+
292
+ it "instances can be loaded from a path provided via options" do
293
+ expect( FileTest ).to receive( :exist? ).with( '/tmp/hooowat' ).and_return( true )
294
+ expect( IO ).to receive( :read ).with( '/tmp/hooowat' ).and_return( 'file contents' )
295
+ expect(
296
+ described_class.load( 'hooowat', template_paths: %w[/tmp] ).source
297
+ ).to eq( 'file contents' )
298
+ end
299
+
281
300
  end
282
301
 
283
302
 
@@ -397,8 +416,8 @@ describe Inversion::Template do
397
416
 
398
417
  described_class.configure( config.templates )
399
418
 
400
- expect( described_class.config[:ignore_unknown_tags] ).to be_false()
401
- expect( described_class.config[:debugging_comments] ).to be_true()
419
+ expect( described_class.config[:ignore_unknown_tags] ).to be_falsey()
420
+ expect( described_class.config[:debugging_comments] ).to be_truthy()
402
421
  expect( described_class.config[:comment_start] ).to eq( '#' )
403
422
  expect( described_class.config[:comment_end] ).to eq( '' )
404
423
 
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.15.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -31,230 +31,230 @@ cert_chain:
31
31
  c7ZKPJcWBv0sm81+FCZXNACn2f9jfF8OQinxVs0O052KbGuEQaaiGIYeuuwQE2q6
32
32
  ggcrPfcYeTwWlfZPu2LrBg==
33
33
  -----END CERTIFICATE-----
34
- date: 2014-11-24 00:00:00.000000000 Z
34
+ date: 2015-01-15 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: loggability
38
38
  requirement: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - "~>"
40
+ - - ~>
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0.11'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - ~>
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0.11'
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: hoe-mercurial
52
52
  requirement: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - "~>"
54
+ - - ~>
55
55
  - !ruby/object:Gem::Version
56
56
  version: '1.4'
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - "~>"
61
+ - - ~>
62
62
  - !ruby/object:Gem::Version
63
63
  version: '1.4'
64
64
  - !ruby/object:Gem::Dependency
65
65
  name: hoe-manualgen
66
66
  requirement: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - "~>"
68
+ - - ~>
69
69
  - !ruby/object:Gem::Version
70
70
  version: 0.3.0
71
71
  type: :development
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - "~>"
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
77
  version: 0.3.0
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: hoe-deveiate
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - "~>"
82
+ - - ~>
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0.6'
85
85
  type: :development
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - "~>"
89
+ - - ~>
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0.6'
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: hoe-highline
94
94
  requirement: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - "~>"
96
+ - - ~>
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0.2'
99
99
  type: :development
100
100
  prerelease: false
101
101
  version_requirements: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - "~>"
103
+ - - ~>
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0.2'
106
106
  - !ruby/object:Gem::Dependency
107
107
  name: rdoc
108
108
  requirement: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - "~>"
110
+ - - ~>
111
111
  - !ruby/object:Gem::Version
112
112
  version: '4.0'
113
113
  type: :development
114
114
  prerelease: false
115
115
  version_requirements: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - "~>"
117
+ - - ~>
118
118
  - !ruby/object:Gem::Version
119
119
  version: '4.0'
120
120
  - !ruby/object:Gem::Dependency
121
121
  name: highline
122
122
  requirement: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - "~>"
124
+ - - ~>
125
125
  - !ruby/object:Gem::Version
126
126
  version: '1.6'
127
127
  type: :development
128
128
  prerelease: false
129
129
  version_requirements: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - "~>"
131
+ - - ~>
132
132
  - !ruby/object:Gem::Version
133
133
  version: '1.6'
134
134
  - !ruby/object:Gem::Dependency
135
135
  name: hoe-bundler
136
136
  requirement: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - "~>"
138
+ - - ~>
139
139
  - !ruby/object:Gem::Version
140
140
  version: '1.2'
141
141
  type: :development
142
142
  prerelease: false
143
143
  version_requirements: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - "~>"
145
+ - - ~>
146
146
  - !ruby/object:Gem::Version
147
147
  version: '1.2'
148
148
  - !ruby/object:Gem::Dependency
149
149
  name: rack-test
150
150
  requirement: !ruby/object:Gem::Requirement
151
151
  requirements:
152
- - - "~>"
152
+ - - ~>
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0.6'
155
155
  type: :development
156
156
  prerelease: false
157
157
  version_requirements: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - "~>"
159
+ - - ~>
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0.6'
162
162
  - !ruby/object:Gem::Dependency
163
163
  name: simplecov
164
164
  requirement: !ruby/object:Gem::Requirement
165
165
  requirements:
166
- - - "~>"
166
+ - - ~>
167
167
  - !ruby/object:Gem::Version
168
168
  version: '0.8'
169
169
  type: :development
170
170
  prerelease: false
171
171
  version_requirements: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - "~>"
173
+ - - ~>
174
174
  - !ruby/object:Gem::Version
175
175
  version: '0.8'
176
176
  - !ruby/object:Gem::Dependency
177
177
  name: sinatra
178
178
  requirement: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - "~>"
180
+ - - ~>
181
181
  - !ruby/object:Gem::Version
182
182
  version: '1.4'
183
183
  type: :development
184
184
  prerelease: false
185
185
  version_requirements: !ruby/object:Gem::Requirement
186
186
  requirements:
187
- - - "~>"
187
+ - - ~>
188
188
  - !ruby/object:Gem::Version
189
189
  version: '1.4'
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: tilt
192
192
  requirement: !ruby/object:Gem::Requirement
193
193
  requirements:
194
- - - "~>"
194
+ - - ~>
195
195
  - !ruby/object:Gem::Version
196
196
  version: '2.0'
197
197
  type: :development
198
198
  prerelease: false
199
199
  version_requirements: !ruby/object:Gem::Requirement
200
200
  requirements:
201
- - - "~>"
201
+ - - ~>
202
202
  - !ruby/object:Gem::Version
203
203
  version: '2.0'
204
204
  - !ruby/object:Gem::Dependency
205
205
  name: sysexits
206
206
  requirement: !ruby/object:Gem::Requirement
207
207
  requirements:
208
- - - "~>"
208
+ - - ~>
209
209
  - !ruby/object:Gem::Version
210
210
  version: '1.0'
211
211
  type: :development
212
212
  prerelease: false
213
213
  version_requirements: !ruby/object:Gem::Requirement
214
214
  requirements:
215
- - - "~>"
215
+ - - ~>
216
216
  - !ruby/object:Gem::Version
217
217
  version: '1.0'
218
218
  - !ruby/object:Gem::Dependency
219
219
  name: trollop
220
220
  requirement: !ruby/object:Gem::Requirement
221
221
  requirements:
222
- - - "~>"
222
+ - - ~>
223
223
  - !ruby/object:Gem::Version
224
224
  version: '2.0'
225
225
  type: :development
226
226
  prerelease: false
227
227
  version_requirements: !ruby/object:Gem::Requirement
228
228
  requirements:
229
- - - "~>"
229
+ - - ~>
230
230
  - !ruby/object:Gem::Version
231
231
  version: '2.0'
232
232
  - !ruby/object:Gem::Dependency
233
233
  name: rdoc-generator-fivefish
234
234
  requirement: !ruby/object:Gem::Requirement
235
235
  requirements:
236
- - - "~>"
236
+ - - ~>
237
237
  - !ruby/object:Gem::Version
238
238
  version: '0'
239
239
  type: :development
240
240
  prerelease: false
241
241
  version_requirements: !ruby/object:Gem::Requirement
242
242
  requirements:
243
- - - "~>"
243
+ - - ~>
244
244
  - !ruby/object:Gem::Version
245
245
  version: '0'
246
246
  - !ruby/object:Gem::Dependency
247
247
  name: hoe
248
248
  requirement: !ruby/object:Gem::Requirement
249
249
  requirements:
250
- - - "~>"
250
+ - - ~>
251
251
  - !ruby/object:Gem::Version
252
252
  version: '3.13'
253
253
  type: :development
254
254
  prerelease: false
255
255
  version_requirements: !ruby/object:Gem::Requirement
256
256
  requirements:
257
- - - "~>"
257
+ - - ~>
258
258
  - !ruby/object:Gem::Version
259
259
  version: '3.13'
260
260
  description: |-
@@ -277,7 +277,7 @@ extra_rdoc_files:
277
277
  - README.rdoc
278
278
  - Tags.rdoc
279
279
  files:
280
- - ".gemtest"
280
+ - .gemtest
281
281
  - ChangeLog
282
282
  - Examples.rdoc
283
283
  - GettingStarted.rdoc
@@ -370,23 +370,23 @@ licenses:
370
370
  metadata: {}
371
371
  post_install_message:
372
372
  rdoc_options:
373
- - "--main"
373
+ - --main
374
374
  - README.rdoc
375
375
  require_paths:
376
376
  - lib
377
377
  required_ruby_version: !ruby/object:Gem::Requirement
378
378
  requirements:
379
- - - ">="
379
+ - - '>='
380
380
  - !ruby/object:Gem::Version
381
- version: 1.9.2
381
+ version: 2.0.0
382
382
  required_rubygems_version: !ruby/object:Gem::Requirement
383
383
  requirements:
384
- - - ">="
384
+ - - '>='
385
385
  - !ruby/object:Gem::Version
386
386
  version: '0'
387
387
  requirements: []
388
388
  rubyforge_project:
389
- rubygems_version: 2.4.4
389
+ rubygems_version: 2.4.5
390
390
  signing_key:
391
391
  specification_version: 4
392
392
  summary: Inversion is a templating system for Ruby
metadata.gz.sig CHANGED
Binary file