inversion 1.1.1 → 1.2.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 +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/ChangeLog +2012 -1916
- data/History.rdoc +10 -1
- data/Rakefile +3 -1
- data/bin/inversion +3 -1
- data/lib/inversion.rb +4 -4
- data/lib/inversion/command.rb +2 -1
- data/lib/inversion/exceptions.rb +4 -1
- data/lib/inversion/mixins.rb +3 -2
- data/lib/inversion/monkeypatches.rb +3 -2
- data/lib/inversion/parser.rb +2 -2
- data/lib/inversion/renderstate.rb +2 -1
- data/lib/inversion/sinatra.rb +4 -1
- data/lib/inversion/template.rb +2 -1
- data/lib/inversion/template/attrtag.rb +3 -1
- data/lib/inversion/template/begintag.rb +3 -1
- data/lib/inversion/template/calltag.rb +3 -1
- data/lib/inversion/template/codetag.rb +4 -2
- data/lib/inversion/template/commenttag.rb +3 -1
- data/lib/inversion/template/configtag.rb +3 -1
- data/lib/inversion/template/containertag.rb +2 -2
- data/lib/inversion/template/defaulttag.rb +3 -1
- data/lib/inversion/template/elsetag.rb +3 -1
- data/lib/inversion/template/elsiftag.rb +4 -3
- data/lib/inversion/template/endtag.rb +3 -3
- data/lib/inversion/template/escapetag.rb +3 -1
- data/lib/inversion/template/fortag.rb +3 -1
- data/lib/inversion/template/fragmenttag.rb +3 -1
- data/lib/inversion/template/iftag.rb +3 -1
- data/lib/inversion/template/importtag.rb +3 -1
- data/lib/inversion/template/includetag.rb +3 -1
- data/lib/inversion/template/node.rb +2 -1
- data/lib/inversion/template/pptag.rb +4 -2
- data/lib/inversion/template/publishtag.rb +3 -1
- data/lib/inversion/template/rescuetag.rb +3 -1
- data/lib/inversion/template/subscribetag.rb +3 -1
- data/lib/inversion/template/tag.rb +2 -2
- data/lib/inversion/template/textnode.rb +3 -1
- data/lib/inversion/template/timedeltatag.rb +16 -3
- data/lib/inversion/template/unlesstag.rb +3 -1
- data/lib/inversion/template/uriencodetag.rb +3 -1
- data/lib/inversion/template/yieldtag.rb +3 -1
- data/lib/inversion/tilt.rb +3 -1
- data/spec/inversion/template/pptag_spec.rb +2 -0
- data/spec/inversion/template/timedeltatag_spec.rb +7 -0
- metadata +31 -33
- metadata.gz.sig +0 -0
data/History.rdoc
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== v1.2.0 [2019-05-14] Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
Enhancements:
|
4
|
+
|
5
|
+
- Add frozen string literal support (Ruby 2.6+)
|
6
|
+
- Allow the timedelta tag to accept hash arguments and make
|
7
|
+
'decorators' optional.
|
8
|
+
|
9
|
+
|
1
10
|
== v1.1.1 [2017-11-13] Michael Granger <ged@FaerieMUD.org>
|
2
11
|
|
3
12
|
Bugfixes:
|
@@ -7,7 +16,7 @@ Bugfixes:
|
|
7
16
|
|
8
17
|
== v1.1.0 [2017-08-17] Mahlon E. Smith <mahlon@martini.nu>
|
9
18
|
|
10
|
-
|
19
|
+
Enhancements:
|
11
20
|
|
12
21
|
- Allow the use of the '!' operator in conditional tags, logically
|
13
22
|
inverting the evaluated body.
|
data/Rakefile
CHANGED
@@ -41,7 +41,7 @@ hoespec = Hoe.spec 'inversion' do
|
|
41
41
|
self.dependency 'configurability', '~> 3.1', :development
|
42
42
|
self.dependency 'rspec-wait', '~> 0.0', :development
|
43
43
|
|
44
|
-
self.require_ruby_version( '>=2.
|
44
|
+
self.require_ruby_version( '>=2.4.0' )
|
45
45
|
self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= )
|
46
46
|
self.check_history_on_release = true if self.respond_to?( :check_history_on_release= )
|
47
47
|
self.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
|
@@ -85,6 +85,8 @@ file GEMSPEC => __FILE__
|
|
85
85
|
task GEMSPEC do |task|
|
86
86
|
spec = $hoespec.spec
|
87
87
|
spec.files.delete( '.gemtest' )
|
88
|
+
spec.signing_key = nil
|
89
|
+
spec.cert_chain = ['certs/ged.pem']
|
88
90
|
spec.version = "#{spec.version.bump}.0.pre#{Time.now.strftime("%Y%m%d%H%M%S")}"
|
89
91
|
File.open( task.name, 'w' ) do |fh|
|
90
92
|
fh.write( spec.to_ruby )
|
data/bin/inversion
CHANGED
data/lib/inversion.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
#
|
2
|
+
# frozen_string_literal: true
|
3
3
|
# vim: set noet nosta sw=4 ts=4 :
|
4
4
|
|
5
5
|
require 'loggability'
|
@@ -23,13 +23,13 @@ module Inversion
|
|
23
23
|
log_as :inversion
|
24
24
|
|
25
25
|
|
26
|
-
warn ">>> Inversion requires Ruby 2.
|
26
|
+
warn ">>> Inversion requires Ruby 2.4.0 or later. <<<" if RUBY_VERSION < '2.4.0'
|
27
27
|
|
28
28
|
# Library version constant
|
29
|
-
VERSION = '1.
|
29
|
+
VERSION = '1.2.0'
|
30
30
|
|
31
31
|
# Version-control revision constant
|
32
|
-
REVISION = %q$Revision
|
32
|
+
REVISION = %q$Revision$
|
33
33
|
|
34
34
|
|
35
35
|
### Get the Inversion version.
|
data/lib/inversion/command.rb
CHANGED
data/lib/inversion/exceptions.rb
CHANGED
data/lib/inversion/mixins.rb
CHANGED
data/lib/inversion/parser.rb
CHANGED
data/lib/inversion/sinatra.rb
CHANGED
data/lib/inversion/template.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
5
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
4
6
|
require 'inversion/mixins'
|
5
7
|
require 'inversion/template/attrtag'
|
6
8
|
require 'inversion/template/containertag'
|
@@ -1,7 +1,9 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
5
|
require 'ripper'
|
6
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
5
7
|
require 'inversion/template/tag'
|
6
8
|
|
7
9
|
# The base class for Inversion tags that parse the body section of the tag using
|
@@ -52,7 +54,7 @@ class Inversion::Template::CodeTag < Inversion::Template::Tag
|
|
52
54
|
"invalid char in pattern: #{m[0].inspect}"
|
53
55
|
end
|
54
56
|
|
55
|
-
buf = '^'
|
57
|
+
buf = String.new( '^' )
|
56
58
|
pattern.scan( /(?:\w+|\$\(|[()\[\]\{\}?*+\.]+)/ ) do |tok|
|
57
59
|
case tok
|
58
60
|
when /\w/
|
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
5
|
require 'yaml'
|
5
6
|
require 'inversion/mixins'
|
7
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
6
8
|
require 'inversion/template/tag'
|
7
9
|
|
8
10
|
|
@@ -1,7 +1,7 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
|
-
require 'inversion' unless defined?( Inversion )
|
5
5
|
require 'inversion/template' unless defined?( Inversion::Template )
|
6
6
|
|
7
7
|
# A mixin for a tag that allows it to contain other nodes.
|
@@ -1,10 +1,11 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
5
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
4
6
|
require 'inversion/template/attrtag'
|
5
7
|
require 'inversion/template/commenttag'
|
6
|
-
require 'inversion/template/iftag'
|
7
|
-
defined?( Inversion::Template::IfTag )
|
8
|
+
require 'inversion/template/iftag'
|
8
9
|
|
9
10
|
|
10
11
|
# Inversion 'elsif' tag.
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
|
-
require 'inversion' unless defined?( Inversion )
|
5
5
|
require 'inversion/template' unless defined?( Inversion::Template )
|
6
|
-
require 'inversion/template/tag'
|
6
|
+
require 'inversion/template/tag'
|
7
7
|
|
8
8
|
# Closing tag class
|
9
9
|
class Inversion::Template::EndTag < Inversion::Template::Tag
|
@@ -1,7 +1,9 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
5
|
require 'inversion/mixins'
|
6
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
5
7
|
require 'inversion/template/attrtag'
|
6
8
|
require 'inversion/template/containertag'
|
7
9
|
|
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
5
|
require 'pathname'
|
5
6
|
require 'inversion/mixins'
|
7
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
6
8
|
require 'inversion/template/tag'
|
7
9
|
|
8
10
|
|
@@ -1,7 +1,9 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
5
|
require 'pp'
|
6
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
5
7
|
require 'inversion/template/calltag'
|
6
8
|
|
7
9
|
# Inversion object inspection tag.
|
@@ -19,7 +21,7 @@ class Inversion::Template::PpTag < Inversion::Template::CallTag
|
|
19
21
|
### and return them.
|
20
22
|
def render( render_state )
|
21
23
|
raw = super
|
22
|
-
buf = ''
|
24
|
+
buf = String.new( '' )
|
23
25
|
PP.pp( raw, buf )
|
24
26
|
return self.escape( buf.chomp, render_state )
|
25
27
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
5
|
require 'loggability'
|
5
6
|
|
6
|
-
require 'inversion' unless defined?( Inversion )
|
7
7
|
require 'inversion/template' unless defined?( Inversion::Template )
|
8
8
|
|
9
9
|
require 'inversion/template/node'
|
@@ -1,6 +1,8 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
5
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
4
6
|
require 'inversion/template/node'
|
5
7
|
|
6
8
|
# Inversion text node class -- container for static content in templates between tags.
|
@@ -1,11 +1,15 @@
|
|
1
|
-
|
1
|
+
# -*- ruby -*-
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# vim: set noet nosta sw=4 ts=4 :
|
3
4
|
|
4
5
|
require 'uri'
|
5
6
|
require 'time'
|
6
7
|
require 'date'
|
8
|
+
|
9
|
+
require 'inversion/template' unless defined?( Inversion::Template )
|
7
10
|
require 'inversion/template/attrtag'
|
8
11
|
|
12
|
+
|
9
13
|
# Inversion time delta tag.
|
10
14
|
#
|
11
15
|
# This tag is a derivative of the 'attr' tag that transforms the results of its method call
|
@@ -37,6 +41,11 @@ class Inversion::Template::TimeDeltaTag < Inversion::Template::AttrTag
|
|
37
41
|
def render( renderstate )
|
38
42
|
val = super( renderstate )
|
39
43
|
time = nil
|
44
|
+
omit_decorator = false
|
45
|
+
|
46
|
+
if val.respond_to?( :key )
|
47
|
+
val, omit_decorator = val.values_at( :time, :omit_decorator )
|
48
|
+
end
|
40
49
|
|
41
50
|
if val.respond_to?( :to_time )
|
42
51
|
time = val.to_time
|
@@ -49,10 +58,14 @@ class Inversion::Template::TimeDeltaTag < Inversion::Template::AttrTag
|
|
49
58
|
now = Time.now
|
50
59
|
if now > time
|
51
60
|
seconds = now - time
|
52
|
-
|
61
|
+
period = timeperiod( seconds )
|
62
|
+
period += ' ago' unless omit_decorator
|
63
|
+
return period
|
53
64
|
else
|
54
65
|
seconds = time - now
|
55
|
-
|
66
|
+
period = timeperiod( seconds )
|
67
|
+
period += ' from now' unless omit_decorator
|
68
|
+
return period
|
56
69
|
end
|
57
70
|
end
|
58
71
|
|