inversion 1.2.0 → 1.3.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 +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: []
|