inversion 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +8 -0
- data/Manifest.txt +0 -1
- data/README.rdoc +10 -4
- data/Rakefile +4 -94
- data/lib/inversion.rb +1 -1
- data/lib/inversion/mixins.rb +2 -2
- data/lib/inversion/template.rb +0 -1
- data/lib/inversion/template/attrtag.rb +5 -5
- data/lib/inversion/template/configtag.rb +2 -2
- data/lib/inversion/template/defaulttag.rb +1 -1
- data/lib/inversion/template/elsiftag.rb +1 -1
- data/lib/inversion/template/fortag.rb +4 -4
- data/lib/inversion/template/iftag.rb +1 -1
- data/lib/inversion/template/importtag.rb +1 -1
- data/lib/inversion/template/tag.rb +2 -2
- data/lib/inversion/template/unlesstag.rb +1 -1
- data/spec/data/unknown-tag.tmpl +1 -1
- data/spec/inversion/mixins_spec.rb +0 -10
- data/spec/inversion/renderstate_spec.rb +0 -9
- data/spec/inversion/template_spec.rb +2 -6
- metadata +78 -141
- metadata.gz.sig +0 -0
- data/ChangeLog +0 -2242
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff47aba3a83fd9d627a25879f5dda61e904fcb60743fce28c45da4524c0c82f1
|
4
|
+
data.tar.gz: 58f0c44113f5cb33e1070e5767f08a95368867b5205f45addf7d9436da5246e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50af88a980608c0644d79f045a327ec145d257f299e19477f10379fcfe83148d07ec3d9bb93abd1bcfb3c06373772dfacfd3a2c44bd306ca39e5d25f16d3535c
|
7
|
+
data.tar.gz: ff1ccfb839a8963c4a9713ced1861a37aade69455a1a31b309f27dd23626b68a4ba423c80a0ef67c8e788c240176d1a4ae147658097fe2303297d9f46e1180b7
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
= inversion
|
2
2
|
|
3
|
-
home
|
4
|
-
code
|
5
|
-
github
|
3
|
+
home:: https://hg.sr.ht/~ged/Inversion
|
4
|
+
code:: https://hg.sr.ht/~ged/Inversion/browse
|
5
|
+
github:: https://github.com/ged/inversion
|
6
|
+
docs:: http://deveiate.org/code/Inversion
|
6
7
|
|
7
8
|
|
8
9
|
== Description
|
@@ -116,10 +117,15 @@ After checking out the source, run:
|
|
116
117
|
This task will install any missing dependencies, run the tests/specs,
|
117
118
|
and generate the API documentation.
|
118
119
|
|
120
|
+
== Authors
|
121
|
+
|
122
|
+
* Michael Granger <ged@faeriemud.org>
|
123
|
+
* Mahlon E. Smith <mahlon@martini.nu>
|
124
|
+
|
119
125
|
|
120
126
|
== License
|
121
127
|
|
122
|
-
Copyright © 2011-
|
128
|
+
Copyright © 2011-2020, Michael Granger and Mahlon E. Smith
|
123
129
|
All rights reserved.
|
124
130
|
|
125
131
|
Redistribution and use in source and binary forms, with or without
|
data/Rakefile
CHANGED
@@ -1,97 +1,7 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require 'rake/
|
4
|
-
require 'rdoc/task'
|
4
|
+
require 'rake/deveiate'
|
5
5
|
|
6
|
-
|
7
|
-
require 'hoe'
|
8
|
-
rescue LoadError
|
9
|
-
abort "This Rakefile requires hoe (gem install hoe)"
|
10
|
-
end
|
6
|
+
Rake::DevEiate.setup( 'inversion' )
|
11
7
|
|
12
|
-
GEMSPEC = 'inversion.gemspec'
|
13
|
-
|
14
|
-
Hoe.plugin :mercurial
|
15
|
-
Hoe.plugin :publish
|
16
|
-
Hoe.plugin :signing
|
17
|
-
|
18
|
-
Hoe.plugins.delete :rubyforge
|
19
|
-
|
20
|
-
hoespec = Hoe.spec 'inversion' do
|
21
|
-
self.readme_file = 'README.rdoc'
|
22
|
-
self.history_file = 'History.rdoc'
|
23
|
-
self.extra_rdoc_files << 'README.rdoc' << 'History.rdoc'
|
24
|
-
self.license "BSD"
|
25
|
-
|
26
|
-
self.developer 'Michael Granger', 'ged@FaerieMUD.org'
|
27
|
-
self.developer 'Mahlon E. Smith', 'mahlon@martini.nu'
|
28
|
-
|
29
|
-
self.dependency 'loggability', '~> 0.12'
|
30
|
-
|
31
|
-
self.dependency 'highline', '~> 1.6', :development
|
32
|
-
self.dependency 'hoe-deveiate', '~> 0.9', :development
|
33
|
-
self.dependency 'rack-test', '~> 0.6', :development
|
34
|
-
self.dependency 'simplecov', '~> 0.8', :development
|
35
|
-
self.dependency 'sinatra', '~> 1.4', :development
|
36
|
-
self.dependency 'tilt', '~> 1.4', :development
|
37
|
-
self.dependency 'sysexits', '~> 1.0', :development
|
38
|
-
self.dependency 'trollop', '~> 2.0', :development
|
39
|
-
self.dependency 'rdoc', '~> 5.1', :development
|
40
|
-
self.dependency 'rdoc-generator-fivefish', '~> 0.3', :development
|
41
|
-
self.dependency 'configurability', '~> 3.1', :development
|
42
|
-
self.dependency 'rspec-wait', '~> 0.0', :development
|
43
|
-
|
44
|
-
self.require_ruby_version( '>=2.4.0' )
|
45
|
-
self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= )
|
46
|
-
self.check_history_on_release = true if self.respond_to?( :check_history_on_release= )
|
47
|
-
self.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
|
48
|
-
end
|
49
|
-
|
50
|
-
ENV['VERSION'] ||= hoespec.spec.version.to_s
|
51
|
-
|
52
|
-
# Ensure the specs pass before checking in
|
53
|
-
task 'hg:precheckin' => [:check_history, :check_manifest, :gemspec, :spec]
|
54
|
-
|
55
|
-
if Rake::Task.task_defined?( '.gemtest' )
|
56
|
-
Rake::Task['.gemtest'].clear
|
57
|
-
task '.gemtest' do
|
58
|
-
$stderr.puts "Not including a .gemtest until I'm confident the test suite is idempotent."
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
desc "Build a coverage report"
|
63
|
-
task :coverage do
|
64
|
-
ENV["COVERAGE"] = 'yes'
|
65
|
-
Rake::Task[:spec].invoke
|
66
|
-
end
|
67
|
-
|
68
|
-
|
69
|
-
# Use the fivefish formatter for docs generated from development checkout
|
70
|
-
if File.directory?( '.hg' )
|
71
|
-
require 'rdoc/task'
|
72
|
-
|
73
|
-
Rake::Task[ 'docs' ].clear
|
74
|
-
RDoc::Task.new( 'docs' ) do |rdoc|
|
75
|
-
rdoc.main = "README.rdoc"
|
76
|
-
rdoc.rdoc_files.include( "*.rdoc", "ChangeLog", "lib/**/*.rb" )
|
77
|
-
rdoc.generator = :fivefish
|
78
|
-
rdoc.title = "Inversion Templating"
|
79
|
-
rdoc.rdoc_dir = 'doc'
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
task :gemspec => GEMSPEC
|
84
|
-
file GEMSPEC => __FILE__
|
85
|
-
task GEMSPEC do |task|
|
86
|
-
spec = $hoespec.spec
|
87
|
-
spec.files.delete( '.gemtest' )
|
88
|
-
spec.signing_key = nil
|
89
|
-
spec.cert_chain = ['certs/ged.pem']
|
90
|
-
spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
|
91
|
-
File.open( task.name, 'w' ) do |fh|
|
92
|
-
fh.write( spec.to_ruby )
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
CLOBBER.include( GEMSPEC.to_s )
|
97
|
-
task :default => :gemspec
|
data/lib/inversion.rb
CHANGED
data/lib/inversion/mixins.rb
CHANGED
@@ -88,7 +88,7 @@ module Inversion
|
|
88
88
|
|
89
89
|
|
90
90
|
### Return a duplicate of the given +hash+ with its identifier-like keys
|
91
|
-
###
|
91
|
+
### transformed into symbols from whatever they were before.
|
92
92
|
###
|
93
93
|
### symbolhash = symbolify_keys( stringhash )
|
94
94
|
###
|
@@ -96,7 +96,7 @@ module Inversion
|
|
96
96
|
newhash = {}
|
97
97
|
|
98
98
|
hash.each do |key,val|
|
99
|
-
keysym = key.to_s.
|
99
|
+
keysym = key.to_s.to_sym
|
100
100
|
|
101
101
|
if val.is_a?( Hash )
|
102
102
|
newhash[ keysym ] = symbolify_keys( val )
|
data/lib/inversion/template.rb
CHANGED
@@ -19,7 +19,7 @@ class Inversion::Template::AttrTag < Inversion::Template::CodeTag
|
|
19
19
|
# <?attr foo ?>
|
20
20
|
tag_pattern '$(ident)' do |tag, match|
|
21
21
|
tag.send( :log ).debug " Identifier is: %p" % [ match.string(1) ]
|
22
|
-
tag.name = match.string( 1 ).
|
22
|
+
tag.name = match.string( 1 ).to_sym
|
23
23
|
end
|
24
24
|
|
25
25
|
# <?attr "%s" % foo ?>
|
@@ -28,12 +28,12 @@ class Inversion::Template::AttrTag < Inversion::Template::CodeTag
|
|
28
28
|
raise Inversion::ParseError, "expected '%%', got %p instead" % [ op ] unless op == '%'
|
29
29
|
|
30
30
|
tag.format = match.string( 1 )
|
31
|
-
tag.name = match.string( 3 ).
|
31
|
+
tag.name = match.string( 3 ).to_sym
|
32
32
|
end
|
33
33
|
|
34
34
|
# <?attr foo.methodchain ?>
|
35
35
|
tag_pattern '$(ident) $( .+ )' do |tag, match|
|
36
|
-
tag.name = match.string( 1 ).
|
36
|
+
tag.name = match.string( 1 ).to_sym
|
37
37
|
tag.methodchain = match.string( 2 )
|
38
38
|
end
|
39
39
|
|
@@ -43,7 +43,7 @@ class Inversion::Template::AttrTag < Inversion::Template::CodeTag
|
|
43
43
|
raise Inversion::ParseError, "expected '%%', got %p instead" % [ op ] unless op == '%'
|
44
44
|
|
45
45
|
tag.format = match.string( 1 )
|
46
|
-
tag.name = match.string( 3 ).
|
46
|
+
tag.name = match.string( 3 ).to_sym
|
47
47
|
tag.methodchain = match.string( 4 )
|
48
48
|
end
|
49
49
|
|
@@ -60,7 +60,7 @@ class Inversion::Template::AttrTag < Inversion::Template::CodeTag
|
|
60
60
|
super
|
61
61
|
|
62
62
|
# Add an identifier for the tag name
|
63
|
-
self.identifiers << self.name.
|
63
|
+
self.identifiers << self.name.to_sym
|
64
64
|
end
|
65
65
|
|
66
66
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
# vim: set noet nosta sw=4 ts=4 :
|
4
4
|
|
5
|
-
require '
|
5
|
+
require 'safe_yaml'
|
6
6
|
require 'inversion/mixins'
|
7
7
|
require 'inversion/template' unless defined?( Inversion::Template )
|
8
8
|
require 'inversion/template/tag'
|
@@ -36,7 +36,7 @@ class Inversion::Template::ConfigTag < Inversion::Template::Tag
|
|
36
36
|
raise Inversion::ParseError, 'Empty config settings' if
|
37
37
|
body.nil? || body.strip.empty?
|
38
38
|
|
39
|
-
opts = YAML.load( body )
|
39
|
+
opts = YAML.load( body, safe: true )
|
40
40
|
@options = symbolify_keys( opts )
|
41
41
|
|
42
42
|
super
|
@@ -36,7 +36,7 @@ class Inversion::Template::ElsifTag < Inversion::Template::AttrTag
|
|
36
36
|
raise Inversion::ParseError, "expected '!', got %p instead" % [ op ] unless op == '!'
|
37
37
|
|
38
38
|
tag.send( :log ).debug " Identifier is: %p (inverted)" % [ match.string(2) ]
|
39
|
-
tag.name = match.string( 2 ).
|
39
|
+
tag.name = match.string( 2 ).to_sym
|
40
40
|
tag.inverted = true
|
41
41
|
end
|
42
42
|
|
@@ -36,8 +36,8 @@ class Inversion::Template::ForTag < Inversion::Template::CodeTag
|
|
36
36
|
raise Inversion::ParseError, "invalid keyword: expected 'in', got %p for %p" %
|
37
37
|
[ match.string(2), tag.body ] unless match.string(2) == 'in'
|
38
38
|
|
39
|
-
tag.block_args << match.string( 1 ).
|
40
|
-
tag.identifiers << match.string( 3 ).
|
39
|
+
tag.block_args << match.string( 1 ).to_sym
|
40
|
+
tag.identifiers << match.string( 3 ).to_sym
|
41
41
|
|
42
42
|
tag.enumerator = match.string( 3 )
|
43
43
|
tag.enumerator << match.string( 4 ) if match.string( 4 )
|
@@ -50,8 +50,8 @@ class Inversion::Template::ForTag < Inversion::Template::CodeTag
|
|
50
50
|
raise Inversion::ParseError, "invalid keyword: expected 'in', got %p for %p" %
|
51
51
|
[ match.string(2), tag.body ] unless match.string(2) == 'in'
|
52
52
|
|
53
|
-
tag.block_args += match.string( 1 ).
|
54
|
-
tag.identifiers << match.string( 3 ).
|
53
|
+
tag.block_args += match.string( 1 ).split(/,\s?/).map( &:to_sym )
|
54
|
+
tag.identifiers << match.string( 3 ).to_sym
|
55
55
|
|
56
56
|
tag.enumerator = match.string( 3 )
|
57
57
|
tag.enumerator << match.string( 4 ) if match.string( 4 )
|
@@ -31,7 +31,7 @@ class Inversion::Template::IfTag < Inversion::Template::AttrTag
|
|
31
31
|
raise Inversion::ParseError, "expected '!', got %p instead" % [ op ] unless op == '!'
|
32
32
|
|
33
33
|
tag.send( :log ).debug " Identifier is: %p (inverted)" % [ match.string(2) ]
|
34
|
-
tag.name = match.string( 2 ).
|
34
|
+
tag.name = match.string( 2 ).to_sym
|
35
35
|
tag.inverted = true
|
36
36
|
end
|
37
37
|
|
@@ -21,7 +21,7 @@ class Inversion::Template::ImportTag < Inversion::Template::Tag
|
|
21
21
|
### Ruby identifier.
|
22
22
|
def initialize( body, linenum=nil, colnum=nil )
|
23
23
|
super
|
24
|
-
@attributes = body.split( /\s*,\s*/ ).collect {|name| name.
|
24
|
+
@attributes = body.split( /\s*,\s*/ ).collect {|name| name.strip.to_sym }
|
25
25
|
end
|
26
26
|
|
27
27
|
|
@@ -66,7 +66,7 @@ class Inversion::Template::Tag < Inversion::Template::Node
|
|
66
66
|
tags = {}
|
67
67
|
|
68
68
|
Gem.find_files( TAG_PLUGIN_PATTERN ).each do |tagfile|
|
69
|
-
tagname = tagfile[ %r{/(\w+?)_?tag\.rb$}, 1 ]
|
69
|
+
tagname = tagfile[ %r{/(\w+?)_?tag\.rb$}, 1 ]
|
70
70
|
next unless tagname
|
71
71
|
|
72
72
|
self.load( tagfile )
|
@@ -121,7 +121,7 @@ class Inversion::Template::Tag < Inversion::Template::Node
|
|
121
121
|
### Create a new Inversion::Template::Tag from the specified +tagname+ and +body+.
|
122
122
|
def self::create( tagname, body, linenum=nil, colnum=nil )
|
123
123
|
tagname =~ /^(\w+)$/i or raise ArgumentError, "invalid tag name %p" % [ tagname ]
|
124
|
-
tagtype = $1.downcase
|
124
|
+
tagtype = $1.downcase
|
125
125
|
|
126
126
|
unless tagclass = self.types[ tagtype.to_sym ]
|
127
127
|
Inversion.log.warn "Unknown tag type %p; registered: %p" %
|
@@ -32,7 +32,7 @@ class Inversion::Template::UnlessTag < Inversion::Template::AttrTag
|
|
32
32
|
raise Inversion::ParseError, "expected '!', got %p instead" % [ op ] unless op == '!'
|
33
33
|
|
34
34
|
tag.send( :log ).debug " Identifier is: %p (inverted)" % [ match.string(2) ]
|
35
|
-
tag.name = match.string( 2 ).
|
35
|
+
tag.name = match.string( 2 ).to_sym
|
36
36
|
tag.inverted = true
|
37
37
|
end
|
38
38
|
|
data/spec/data/unknown-tag.tmpl
CHANGED
@@ -235,16 +235,6 @@ describe Inversion, "mixins" do
|
|
235
235
|
expect( copy.default_proc ).to eq( original.default_proc )
|
236
236
|
end
|
237
237
|
|
238
|
-
it "preserves taintedness of copied objects" do
|
239
|
-
original = Object.new
|
240
|
-
original.taint
|
241
|
-
|
242
|
-
copy = Inversion::DataUtilities.deep_copy( original )
|
243
|
-
|
244
|
-
expect( copy ).to_not be( original )
|
245
|
-
expect( copy ).to be_tainted()
|
246
|
-
end
|
247
|
-
|
248
238
|
it "preserves frozen-ness of copied objects" do
|
249
239
|
original = Object.new
|
250
240
|
original.freeze
|
@@ -41,15 +41,6 @@ describe Inversion::RenderState do
|
|
41
41
|
expect( state.scope[:bear] ).to_not equal( attributes[:bear] )
|
42
42
|
end
|
43
43
|
|
44
|
-
it "preserves tainted status when copying its attributes" do
|
45
|
-
attributes = { :danger => "in pants" }
|
46
|
-
attributes[:danger].taint
|
47
|
-
|
48
|
-
state = Inversion::RenderState.new( attributes )
|
49
|
-
|
50
|
-
expect( state.scope[:danger] ).to be_tainted()
|
51
|
-
end
|
52
|
-
|
53
44
|
it "preserves singleton methods on attribute objects when copying" do
|
54
45
|
obj = Object.new
|
55
46
|
def obj.foo; "foo!"; end
|
@@ -190,18 +190,14 @@ describe Inversion::Template do
|
|
190
190
|
|
191
191
|
before( :each ) do
|
192
192
|
@timestamp = Time.now
|
193
|
-
content = 'file contents'
|
193
|
+
content = 'file contents'
|
194
194
|
allow( IO ).to receive( :read ).with( '/tmp/hooowat' ).and_return( content )
|
195
195
|
@template = described_class.load( '/tmp/hooowat' )
|
196
196
|
end
|
197
197
|
|
198
198
|
|
199
|
-
it "untaints template content loaded from a file" do
|
200
|
-
expect( @template.source ).to_not be_tainted()
|
201
|
-
end
|
202
|
-
|
203
199
|
it "can be reloaded" do
|
204
|
-
newcontent = 'changed file contents'
|
200
|
+
newcontent = 'changed file contents'
|
205
201
|
expect( IO ).to receive( :read ).with( '/tmp/hooowat' ).and_return( newcontent )
|
206
202
|
@template.reload
|
207
203
|
expect( @template.source ).to eq( newcontent )
|
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: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Granger
|
@@ -11,174 +11,174 @@ bindir: bin
|
|
11
11
|
cert_chain:
|
12
12
|
- |
|
13
13
|
-----BEGIN CERTIFICATE-----
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
14
|
+
MIIENDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdtYWhs
|
15
|
+
b24vREM9bWFydGluaS9EQz1udTAeFw0yMDAyMTkyMTU4NDBaFw0yMTAyMTgyMTU4
|
16
|
+
NDBaMCIxIDAeBgNVBAMMF21haGxvbi9EQz1tYXJ0aW5pL0RDPW51MIIBojANBgkq
|
17
|
+
hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3cz7ILM8n+Y5nvz7mVRVqE8LusWdT8NX
|
18
|
+
nlnETynDndenI+a2S3j22DR+U4ooGUjuCHE3iR1CVmTDGbxFfNRfmnC1AN9Hybat
|
19
|
+
ewW+onvMBye7yfO0bJB5vkqaW5vd35rzquOffgBtJMo7rPRu6pX8RkL34Wnew4J7
|
20
|
+
POooUcYbWSAO934HSCUC8wVm6b4v/ejVF1Lk44Dz45jtMqtR7KTAtpipdbTXAarO
|
21
|
+
HQy3eVes/0oTqhk4CP50r1KP09nUHTn2lzVaCN9vmNE/Jwe0AuQ9ImvZXPpCsMMl
|
22
|
+
V03/tuJ++48sVmOIusJkASPupXcdI6zqsjYw2vLMFtuYNskRSvwbn6Wm6x9hLWWj
|
23
|
+
IRp5FvHPORLRCHFizXRmXZ3PyFHqbv6m4yG0SyfMzOXPk3Hn5dqqmK+BFCihTZIN
|
24
|
+
fqpBmuxyNEE21fSO9ALLlWeW9ffg9Ye5Sc1n3yEyv8rPb9VDvi1B5N6xIcDFMNVs
|
25
|
+
RiCamNbET4Sq9VIYwYtcB1f6EataqFEhAgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYD
|
26
|
+
VR0PBAQDAgSwMB0GA1UdDgQWBBR8KtAhZIhe2uPQHCgU5HurIG7crTAcBgNVHREE
|
27
|
+
FTATgRFtYWhsb25AbWFydGluaS5udTAcBgNVHRIEFTATgRFtYWhsb25AbWFydGlu
|
28
|
+
aS5udTANBgkqhkiG9w0BAQsFAAOCAYEAHXlLXIKQUjd0VYj2mPgMheMjLEtmhHu+
|
29
|
+
7NdIv8Bz4rpKAdhypy30xjukGLTOKBp1C0TjfHXowW/icK0bv9CO9Chbc09/+Ed2
|
30
|
+
K5IsyENen+YLeLfE8dguq5tHlfocbFilRGHt8BHHO9BpPpAYoPt/76SCC2NaU5vN
|
31
|
+
33YTCpaVP0raS6E4i+xtx5PNdKoeTdrgwCQtUBhGf3L9YbZy1UaSeAyng5keuOzV
|
32
|
+
Mu2osihEB0GE0pOZJNpI6ow+0emwN/XvBKHpN9D2bjbvKetyQSrm0OniaZBXIGzW
|
33
|
+
Bg0JmajxUaGYWnz+QFADT+HLPmekxF3mB4+0ymZCHKPC+04h6RDjvkEOji6Jm+VB
|
34
|
+
JHjnceUEejSXTkZAKAmiOAtnX4j1MM1DLiFMlZ5Wbt7hbiOiO5HoN9p9snZhYqSU
|
35
|
+
JyAQQloqY/KyzQqxPlKdMNmBxRU+Cdarp05lEI6Sfj9MdrndoIL6MT/f6PgoCWZQ
|
36
|
+
xEarK1Fn47yS4UZqRi6VgKc3JHscX9x4
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2020-04-08 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
|
-
name:
|
41
|
+
name: highline
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0
|
46
|
+
version: '2.0'
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0
|
53
|
+
version: '2.0'
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
|
-
name:
|
55
|
+
name: loggability
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
61
|
-
type: :
|
60
|
+
version: '0.17'
|
61
|
+
type: :runtime
|
62
62
|
prerelease: false
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
67
|
+
version: '0.17'
|
68
68
|
- !ruby/object:Gem::Dependency
|
69
|
-
name:
|
69
|
+
name: sysexits
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
75
|
-
type: :
|
74
|
+
version: '1.2'
|
75
|
+
type: :runtime
|
76
76
|
prerelease: false
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
81
|
+
version: '1.2'
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
|
-
name:
|
83
|
+
name: trollop
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
89
|
-
type: :
|
88
|
+
version: '2.9'
|
89
|
+
type: :runtime
|
90
90
|
prerelease: false
|
91
91
|
version_requirements: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
95
|
+
version: '2.9'
|
96
96
|
- !ruby/object:Gem::Dependency
|
97
|
-
name:
|
97
|
+
name: rack-test
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '1.
|
102
|
+
version: '1.1'
|
103
103
|
type: :development
|
104
104
|
prerelease: false
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '1.
|
109
|
+
version: '1.1'
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
|
-
name:
|
111
|
+
name: rake-deveiate
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '0.
|
116
|
+
version: '0.14'
|
117
117
|
type: :development
|
118
118
|
prerelease: false
|
119
119
|
version_requirements: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '0.
|
123
|
+
version: '0.14'
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
|
-
name:
|
125
|
+
name: rdoc
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
130
|
+
version: '6.2'
|
131
131
|
type: :development
|
132
132
|
prerelease: false
|
133
133
|
version_requirements: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '
|
137
|
+
version: '6.2'
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
|
-
name:
|
139
|
+
name: rdoc-generator-fivefish
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
144
|
+
version: '0.4'
|
145
145
|
type: :development
|
146
146
|
prerelease: false
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '
|
151
|
+
version: '0.4'
|
152
152
|
- !ruby/object:Gem::Dependency
|
153
|
-
name:
|
153
|
+
name: rspec-wait
|
154
154
|
requirement: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: '
|
158
|
+
version: '0.0'
|
159
159
|
type: :development
|
160
160
|
prerelease: false
|
161
161
|
version_requirements: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
163
|
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: '
|
165
|
+
version: '0.0'
|
166
166
|
- !ruby/object:Gem::Dependency
|
167
|
-
name:
|
167
|
+
name: simplecov
|
168
168
|
requirement: !ruby/object:Gem::Requirement
|
169
169
|
requirements:
|
170
170
|
- - "~>"
|
171
171
|
- !ruby/object:Gem::Version
|
172
|
-
version: '
|
172
|
+
version: '0.18'
|
173
173
|
type: :development
|
174
174
|
prerelease: false
|
175
175
|
version_requirements: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: '
|
179
|
+
version: '0.18'
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
|
-
name:
|
181
|
+
name: sinatra
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
184
|
- - "~>"
|
@@ -192,96 +192,31 @@ dependencies:
|
|
192
192
|
- !ruby/object:Gem::Version
|
193
193
|
version: '2.0'
|
194
194
|
- !ruby/object:Gem::Dependency
|
195
|
-
name:
|
196
|
-
requirement: !ruby/object:Gem::Requirement
|
197
|
-
requirements:
|
198
|
-
- - "~>"
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version: '5.1'
|
201
|
-
type: :development
|
202
|
-
prerelease: false
|
203
|
-
version_requirements: !ruby/object:Gem::Requirement
|
204
|
-
requirements:
|
205
|
-
- - "~>"
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
version: '5.1'
|
208
|
-
- !ruby/object:Gem::Dependency
|
209
|
-
name: rdoc-generator-fivefish
|
210
|
-
requirement: !ruby/object:Gem::Requirement
|
211
|
-
requirements:
|
212
|
-
- - "~>"
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
version: '0.3'
|
215
|
-
type: :development
|
216
|
-
prerelease: false
|
217
|
-
version_requirements: !ruby/object:Gem::Requirement
|
218
|
-
requirements:
|
219
|
-
- - "~>"
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: '0.3'
|
222
|
-
- !ruby/object:Gem::Dependency
|
223
|
-
name: configurability
|
224
|
-
requirement: !ruby/object:Gem::Requirement
|
225
|
-
requirements:
|
226
|
-
- - "~>"
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version: '3.1'
|
229
|
-
type: :development
|
230
|
-
prerelease: false
|
231
|
-
version_requirements: !ruby/object:Gem::Requirement
|
232
|
-
requirements:
|
233
|
-
- - "~>"
|
234
|
-
- !ruby/object:Gem::Version
|
235
|
-
version: '3.1'
|
236
|
-
- !ruby/object:Gem::Dependency
|
237
|
-
name: rspec-wait
|
238
|
-
requirement: !ruby/object:Gem::Requirement
|
239
|
-
requirements:
|
240
|
-
- - "~>"
|
241
|
-
- !ruby/object:Gem::Version
|
242
|
-
version: '0.0'
|
243
|
-
type: :development
|
244
|
-
prerelease: false
|
245
|
-
version_requirements: !ruby/object:Gem::Requirement
|
246
|
-
requirements:
|
247
|
-
- - "~>"
|
248
|
-
- !ruby/object:Gem::Version
|
249
|
-
version: '0.0'
|
250
|
-
- !ruby/object:Gem::Dependency
|
251
|
-
name: hoe
|
195
|
+
name: tilt
|
252
196
|
requirement: !ruby/object:Gem::Requirement
|
253
197
|
requirements:
|
254
198
|
- - "~>"
|
255
199
|
- !ruby/object:Gem::Version
|
256
|
-
version: '
|
200
|
+
version: '2.0'
|
257
201
|
type: :development
|
258
202
|
prerelease: false
|
259
203
|
version_requirements: !ruby/object:Gem::Requirement
|
260
204
|
requirements:
|
261
205
|
- - "~>"
|
262
206
|
- !ruby/object:Gem::Version
|
263
|
-
version: '
|
264
|
-
description:
|
265
|
-
|
266
|
-
|
267
|
-
that uses them, making it easier to separate concerns, keep your tests simple,
|
207
|
+
version: '2.0'
|
208
|
+
description: Inversion is a templating system for Ruby. It uses the “Inversion of
|
209
|
+
Control” principle to decouple the contents and structure of templates from the
|
210
|
+
code that uses them, making it easier to separate concerns, keep your tests simple,
|
268
211
|
and avoid polluting scopes with ephemeral data.
|
269
212
|
email:
|
270
|
-
- ged@
|
213
|
+
- ged@faeriemud.org
|
271
214
|
- mahlon@martini.nu
|
272
215
|
executables:
|
273
216
|
- inversion
|
274
217
|
extensions: []
|
275
|
-
extra_rdoc_files:
|
276
|
-
- Examples.rdoc
|
277
|
-
- GettingStarted.rdoc
|
278
|
-
- Guide.rdoc
|
279
|
-
- History.rdoc
|
280
|
-
- Manifest.txt
|
281
|
-
- README.rdoc
|
282
|
-
- Tags.rdoc
|
218
|
+
extra_rdoc_files: []
|
283
219
|
files:
|
284
|
-
- ChangeLog
|
285
220
|
- Examples.rdoc
|
286
221
|
- GettingStarted.rdoc
|
287
222
|
- Guide.rdoc
|
@@ -368,29 +303,31 @@ files:
|
|
368
303
|
- spec/inversion/template_spec.rb
|
369
304
|
- spec/inversion/tilt_spec.rb
|
370
305
|
- spec/inversion_spec.rb
|
371
|
-
homepage:
|
306
|
+
homepage: https://hg.sr.ht/~ged/Inversion
|
372
307
|
licenses:
|
373
|
-
- BSD
|
374
|
-
metadata:
|
308
|
+
- BSD-3-Clause
|
309
|
+
metadata:
|
310
|
+
homepage_uri: https://hg.sr.ht/~ged/Inversion
|
311
|
+
documentation_uri: http://deveiate.org/code/Inversion
|
312
|
+
source_uri: https://hg.sr.ht/~ged/Inversion/browse
|
313
|
+
bug_tracker_uri: https://todo.sr.ht/~ged/Inversion/browse
|
375
314
|
post_install_message:
|
376
|
-
rdoc_options:
|
377
|
-
- "--main"
|
378
|
-
- README.rdoc
|
315
|
+
rdoc_options: []
|
379
316
|
require_paths:
|
380
317
|
- lib
|
381
318
|
required_ruby_version: !ruby/object:Gem::Requirement
|
382
319
|
requirements:
|
383
320
|
- - ">="
|
384
321
|
- !ruby/object:Gem::Version
|
385
|
-
version:
|
322
|
+
version: '0'
|
386
323
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
387
324
|
requirements:
|
388
325
|
- - ">="
|
389
326
|
- !ruby/object:Gem::Version
|
390
327
|
version: '0'
|
391
328
|
requirements: []
|
392
|
-
rubygems_version: 3.0.
|
329
|
+
rubygems_version: 3.0.6
|
393
330
|
signing_key:
|
394
331
|
specification_version: 4
|
395
|
-
summary: Inversion is a templating system for Ruby
|
332
|
+
summary: Inversion is a templating system for Ruby.
|
396
333
|
test_files: []
|