wlang 2.2.3 → 3.0.1
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 +7 -0
- data/CHANGELOG.md +16 -0
- data/Gemfile +1 -21
- data/Gemfile.lock +47 -37
- data/LICENCE.md +17 -19
- data/README.md +47 -29
- data/lib/wlang/compiler/grammar.citrus +6 -6
- data/lib/wlang/dialect.rb +1 -1
- data/lib/wlang/loader.rb +0 -1
- data/lib/wlang/scope/sinatra_scope.rb +6 -1
- data/lib/wlang/template.rb +14 -13
- data/lib/wlang/tilt/wlang_template.rb +3 -2
- data/lib/wlang/version.rb +3 -3
- data/spec/fixtures/templates/front_matter.wlang +4 -0
- data/spec/unit/compiler/test_to_ruby_code.rb +2 -2
- data/spec/unit/source/test_path.rb +3 -3
- data/spec/unit/source/test_template_content.rb +1 -1
- data/spec/unit/template/test_path.rb +2 -2
- data/spec/unit/template/test_to_ruby_code.rb +1 -1
- data/spec/unit/test_assumptions.rb +1 -1
- data/spec/unit/tilt/test_wlang_template.rb +0 -4
- data/tasks/test.rake +17 -0
- data/wlang.gemspec +7 -169
- metadata +63 -155
- data/spec/integration/sinatra/test_partials.rb +0 -35
- data/tasks/debug_mail.rake +0 -75
- data/tasks/debug_mail.txt +0 -13
- data/tasks/spec_test.rake +0 -71
- data/tasks/unit_test.rake +0 -76
- data/tasks/yard.rake +0 -51
- data/wlang.noespec +0 -45
@@ -9,13 +9,13 @@ module WLang
|
|
9
9
|
|
10
10
|
it 'compiles [:proc, ...]' do
|
11
11
|
source = [:proc, [:static, "Hello world"]]
|
12
|
-
expected = %q{Proc.new{|d1,b1| b1 << ("Hello world") }}
|
12
|
+
expected = %q{Proc.new{|d1,b1| b1 << ("Hello world".freeze) }}
|
13
13
|
generate(source).should eq(expected)
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'compiles [:dispatch, ...]' do
|
17
17
|
source = [:dispatch, :_tag_36, [:proc, [:static, "Hello world"]]]
|
18
|
-
expected = %q{d0._tag_36(b0, Proc.new{|d1,b1| b1 << ("Hello world") })}
|
18
|
+
expected = %q{d0._tag_36(b0, Proc.new{|d1,b1| b1 << ("Hello world".freeze) })}
|
19
19
|
generate(source).should eq(expected)
|
20
20
|
end
|
21
21
|
|
@@ -10,17 +10,17 @@ module WLang
|
|
10
10
|
end
|
11
11
|
|
12
12
|
context 'on a Path' do
|
13
|
-
let(:source){ Path.
|
13
|
+
let(:source){ Path.file }
|
14
14
|
it{ should eq(source.to_s) }
|
15
15
|
end
|
16
16
|
|
17
17
|
context 'on a File' do
|
18
|
-
let(:source){ File.open(Path.
|
18
|
+
let(:source){ File.open(Path.file.to_s) }
|
19
19
|
it{ should eq(__FILE__) }
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'is aliased as to_path' do
|
23
|
-
Source.new(Path.
|
23
|
+
Source.new(Path.file).to_path.should eq(__FILE__)
|
24
24
|
end
|
25
25
|
|
26
26
|
end
|
@@ -10,7 +10,7 @@ module WLang
|
|
10
10
|
end
|
11
11
|
|
12
12
|
context 'when a Path and no option' do
|
13
|
-
let(:template){ Template.new(Path.
|
13
|
+
let(:template){ Template.new(Path.file) }
|
14
14
|
it{ should eq(__FILE__) }
|
15
15
|
end
|
16
16
|
|
@@ -20,7 +20,7 @@ module WLang
|
|
20
20
|
end
|
21
21
|
|
22
22
|
context 'when a path an an option' do
|
23
|
-
let(:template){ Template.new(Path.
|
23
|
+
let(:template){ Template.new(Path.file, :path => __FILE__) }
|
24
24
|
it{ should eq(__FILE__) }
|
25
25
|
end
|
26
26
|
|
@@ -5,7 +5,7 @@ module WLang
|
|
5
5
|
let(:template){ Template.new("Hello ${who}!") }
|
6
6
|
|
7
7
|
it 'it returns some ruby code' do
|
8
|
-
expected = %q{Proc.new{|d1,b1| b1 << ("Hello "); d1._tag_36(b1, "who"); b1 << ("!") }}
|
8
|
+
expected = %q{Proc.new{|d1,b1| b1 << ("Hello ".freeze); d1._tag_36(b1, "who"); b1 << ("!".freeze) }}
|
9
9
|
template.to_ruby_code.should eq(expected)
|
10
10
|
end
|
11
11
|
|
@@ -2,10 +2,6 @@ require 'tilt'
|
|
2
2
|
require 'wlang/tilt'
|
3
3
|
describe Tilt::WLangTemplate do
|
4
4
|
|
5
|
-
it 'is registered for .wlang files' do
|
6
|
-
Tilt.mappings['wlang'].should include(Tilt::WLangTemplate)
|
7
|
-
end
|
8
|
-
|
9
5
|
it 'supports basic rendering with no scope no locals' do
|
10
6
|
template = Tilt::WLangTemplate.new{ "Hello" }
|
11
7
|
template.render.should eq("Hello")
|
data/tasks/test.rake
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
namespace :test do
|
2
|
+
require "rspec/core/rake_task"
|
3
|
+
|
4
|
+
tests = []
|
5
|
+
|
6
|
+
desc "Runs unit tests"
|
7
|
+
RSpec::Core::RakeTask.new(:unit) do |t|
|
8
|
+
t.pattern = "spec/unit/**/test_*.rb"
|
9
|
+
t.rspec_opts = ["-Ilib", "-Ispec", "--color", "--backtrace", "--format=progress"]
|
10
|
+
end
|
11
|
+
tests << :unit
|
12
|
+
|
13
|
+
task :all => tests
|
14
|
+
end
|
15
|
+
|
16
|
+
desc "Runs all tests"
|
17
|
+
task :test => :'test:all'
|
data/wlang.gemspec
CHANGED
@@ -1,195 +1,33 @@
|
|
1
|
-
# We require your library, mainly to have access to the VERSION number.
|
2
|
-
# Feel free to set $version manually.
|
3
1
|
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
4
2
|
require "wlang/version"
|
5
3
|
$version = WLang::Version.to_s
|
6
4
|
|
7
|
-
#
|
8
|
-
# This is your Gem specification. Default values are provided so that your library
|
9
|
-
# should be correctly packaged given what you have described in the .noespec file.
|
10
|
-
#
|
11
5
|
Gem::Specification.new do |s|
|
12
|
-
|
13
|
-
################################################################### ABOUT YOUR GEM
|
14
|
-
|
15
|
-
# Gem name (required)
|
16
6
|
s.name = "wlang"
|
17
|
-
|
18
|
-
# Gem version (required)
|
19
7
|
s.version = $version
|
20
|
-
|
21
|
-
# A short summary of this gem
|
22
|
-
#
|
23
|
-
# This is displayed in `gem list -d`.
|
24
8
|
s.summary = "WLang is a powerful code generation and templating engine"
|
25
|
-
|
26
|
-
# A long description of this gem (required)
|
27
|
-
#
|
28
|
-
# The description should be more detailed than the summary. For example,
|
29
|
-
# you might wish to copy the entire README into the description.
|
30
9
|
s.description = "WLang is a general-purpose *code generation*/*templating engine*. It's main aim is to\nhelp you generating web pages, sql queries, ruby code (that is, generating text in\ngeneral) without having to worry too much about html entities encoding, sql back\nquoting, string escaping and the like. WLang proposes a generic engine that you can\neasily extend to fit your needs. It also proposes standard instantiations of this\nengine for common tasks such as rendering HTML web pages."
|
31
|
-
|
32
|
-
# The URL of this gem home page (optional)
|
33
10
|
s.homepage = "http://github.com/blambeau/wlang"
|
34
|
-
|
35
|
-
# Gem publication date (required but auto)
|
36
|
-
#
|
37
|
-
# Today is automatically used by default, uncomment only if
|
38
|
-
# you know what you do!
|
39
|
-
#
|
40
|
-
# s.date = Time.now.strftime('%Y-%m-%d')
|
41
|
-
|
42
|
-
# The license(s) for the library. Each license must be a short name, no
|
43
|
-
# more than 64 characters.
|
44
|
-
#
|
45
|
-
# s.licences = %w{}
|
46
|
-
|
47
|
-
# The rubyforge project this gem lives under (optional)
|
48
|
-
#
|
49
|
-
# s.rubyforge_project = nil
|
50
|
-
|
51
|
-
################################################################### ABOUT THE AUTHORS
|
52
|
-
|
53
|
-
# The list of author names who wrote this gem.
|
54
|
-
#
|
55
|
-
# If you are providing multiple authors and multiple emails they should be
|
56
|
-
# in the same order.
|
57
|
-
#
|
58
11
|
s.authors = ["Bernard Lambeau", "Louis Lambeau"]
|
59
|
-
|
60
|
-
# Contact emails for this gem
|
61
|
-
#
|
62
|
-
# If you are providing multiple authors and multiple emails they should be
|
63
|
-
# in the same order.
|
64
|
-
#
|
65
|
-
# NOTE: Somewhat strangly this attribute is always singular!
|
66
|
-
# Don't replace by s.emails = ...
|
67
12
|
s.email = ["blambeau@gmail.com", "llambeau@gmail.com"]
|
68
|
-
|
69
|
-
################################################################### PATHS, FILES, BINARIES
|
70
|
-
|
71
|
-
# Paths in the gem to add to $LOAD_PATH when this gem is
|
72
|
-
# activated (required).
|
73
|
-
#
|
74
|
-
# The default 'lib' is typically sufficient.
|
75
13
|
s.require_paths = ["lib"]
|
76
|
-
|
77
|
-
# Files included in this gem.
|
78
|
-
#
|
79
|
-
# By default, we take all files included in the Manifest.txt file on root
|
80
|
-
# of the project. Entries of the manifest are interpreted as Dir[...]
|
81
|
-
# patterns so that lazy people may use wilcards like lib/**/*
|
82
|
-
#
|
83
14
|
here = File.expand_path(File.dirname(__FILE__))
|
84
15
|
s.files = File.readlines(File.join(here, 'Manifest.txt')).
|
85
16
|
inject([]){|files, pattern| files + Dir[File.join(here, pattern.strip)]}.
|
86
17
|
collect{|x| x[(1+here.size)..-1]}
|
87
|
-
|
88
|
-
# Test files included in this gem.
|
89
|
-
#
|
90
18
|
s.test_files = Dir["test/**/*"] + Dir["spec/**/*"]
|
91
|
-
|
92
|
-
# The path in the gem for executable scripts (optional)
|
93
|
-
#
|
94
19
|
s.bindir = "bin"
|
95
|
-
|
96
|
-
# Executables included in the gem.
|
97
|
-
#
|
98
20
|
s.executables = (Dir["bin/*"]).collect{|f| File.basename(f)}
|
99
21
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
# > Greater than version
|
105
|
-
# < Less than version
|
106
|
-
# >= Greater than or equal to
|
107
|
-
# <= Less than or equal to
|
108
|
-
# ~> Approximately greater than
|
109
|
-
#
|
110
|
-
# Don't forget to have a look at http://lmgtfy.com/?q=Ruby+Versioning+Policies
|
111
|
-
# for setting your gem version.
|
112
|
-
#
|
113
|
-
# For your requirements to other gems, remember that
|
114
|
-
# ">= 2.2.0" (optimistic: specify minimal version)
|
115
|
-
# ">= 2.2.0", "< 3.0" (pessimistic: not greater than the next major)
|
116
|
-
# "~> 2.2" (shortcut for ">= 2.2.0", "< 3.0")
|
117
|
-
# "~> 2.2.0" (shortcut for ">= 2.2.0", "< 2.3.0")
|
118
|
-
#
|
22
|
+
s.add_development_dependency("rake", "~> 13.0")
|
23
|
+
s.add_development_dependency("rspec", "~> 3.0")
|
24
|
+
s.add_development_dependency("sinatra", "~> 2.1")
|
25
|
+
s.add_development_dependency("tilt", "~> 2.0", ">= 2.0.10")
|
119
26
|
|
120
|
-
|
121
|
-
# One call to add_dependency('gem_name', 'gem version requirement') for each
|
122
|
-
# runtime dependency. These gems will be installed with your gem.
|
123
|
-
# One call to add_development_dependency('gem_name', 'gem version requirement')
|
124
|
-
# for each development dependency. These gems are required for developers
|
125
|
-
#
|
126
|
-
s.add_development_dependency("awesome_print", "~> 1.0.2")
|
127
|
-
s.add_development_dependency("tilt", "~> 1.3")
|
128
|
-
s.add_development_dependency("rake", "~> 0.9.2")
|
129
|
-
s.add_development_dependency("bundler", "~> 1.0")
|
130
|
-
s.add_development_dependency("rspec", "~> 2.10.0")
|
131
|
-
s.add_development_dependency("sinatra", ">= 1.4")
|
132
|
-
s.add_development_dependency("rack-test", "~> 0.6")
|
133
|
-
s.add_dependency("citrus", "~> 2.4.1")
|
134
|
-
s.add_dependency("temple", "~> 0.6")
|
27
|
+
s.add_dependency("citrus", "~> 3.0")
|
135
28
|
s.add_dependency("quickl", "~> 0.4.3")
|
136
|
-
s.add_dependency("path", "~>
|
137
|
-
s.add_dependency("
|
138
|
-
|
139
|
-
# The version of ruby required by this gem
|
140
|
-
#
|
141
|
-
# Uncomment and set this if your gem requires specific ruby versions.
|
142
|
-
#
|
143
|
-
# s.required_ruby_version = ">= 0"
|
144
|
-
|
145
|
-
# The RubyGems version required by this gem
|
146
|
-
#
|
147
|
-
# s.required_rubygems_version = ">= 0"
|
148
|
-
|
149
|
-
# The platform this gem runs on. See Gem::Platform for details.
|
150
|
-
#
|
151
|
-
# s.platform = nil
|
152
|
-
|
153
|
-
# Extensions to build when installing the gem.
|
154
|
-
#
|
155
|
-
# Valid types of extensions are extconf.rb files, configure scripts
|
156
|
-
# and rakefiles or mkrf_conf files.
|
157
|
-
#
|
158
|
-
s.extensions = []
|
159
|
-
|
160
|
-
# External (to RubyGems) requirements that must be met for this gem to work.
|
161
|
-
# It’s simply information for the user.
|
162
|
-
#
|
163
|
-
s.requirements = nil
|
164
|
-
|
165
|
-
# A message that gets displayed after the gem is installed
|
166
|
-
#
|
167
|
-
# Uncomment and set this if you want to say something to the user
|
168
|
-
# after gem installation
|
169
|
-
#
|
170
|
-
s.post_install_message = nil
|
171
|
-
|
172
|
-
################################################################### SECURITY
|
173
|
-
|
174
|
-
# The key used to sign this gem. See Gem::Security for details.
|
175
|
-
#
|
176
|
-
# s.signing_key = nil
|
177
|
-
|
178
|
-
# The certificate chain used to sign this gem. See Gem::Security for
|
179
|
-
# details.
|
180
|
-
#
|
181
|
-
# s.cert_chain = []
|
182
|
-
|
183
|
-
################################################################### RDOC
|
184
|
-
|
185
|
-
# An ARGV style array of options to RDoc
|
186
|
-
#
|
187
|
-
# See 'rdoc --help' about this
|
188
|
-
#
|
189
|
-
s.rdoc_options = []
|
29
|
+
s.add_dependency("path", "~> 2.0")
|
30
|
+
s.add_dependency("temple", "~> 0.6")
|
190
31
|
|
191
|
-
# Extra files to add to RDoc such as README
|
192
|
-
#
|
193
32
|
s.extra_rdoc_files = Dir["README.md"] + Dir["CHANGELOG.md"] + Dir["LICENCE.md"]
|
194
|
-
|
195
33
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wlang
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 3.0.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Bernard Lambeau
|
@@ -10,214 +9,133 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2021-01-07 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: awesome_print
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
|
-
requirements:
|
20
|
-
- - ~>
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 1.0.2
|
23
|
-
type: :development
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
|
-
requirements:
|
28
|
-
- - ~>
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: 1.0.2
|
31
|
-
- !ruby/object:Gem::Dependency
|
32
|
-
name: tilt
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
|
-
requirements:
|
36
|
-
- - ~>
|
37
|
-
- !ruby/object:Gem::Version
|
38
|
-
version: '1.3'
|
39
|
-
type: :development
|
40
|
-
prerelease: false
|
41
|
-
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
|
-
requirements:
|
44
|
-
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '1.3'
|
47
14
|
- !ruby/object:Gem::Dependency
|
48
15
|
name: rake
|
49
16
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
17
|
requirements:
|
52
|
-
- - ~>
|
18
|
+
- - "~>"
|
53
19
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
20
|
+
version: '13.0'
|
55
21
|
type: :development
|
56
22
|
prerelease: false
|
57
23
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
24
|
requirements:
|
60
|
-
- - ~>
|
25
|
+
- - "~>"
|
61
26
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: bundler
|
65
|
-
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
|
-
requirements:
|
68
|
-
- - ~>
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: '1.0'
|
71
|
-
type: :development
|
72
|
-
prerelease: false
|
73
|
-
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
|
-
requirements:
|
76
|
-
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: '1.0'
|
27
|
+
version: '13.0'
|
79
28
|
- !ruby/object:Gem::Dependency
|
80
29
|
name: rspec
|
81
30
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
31
|
requirements:
|
84
|
-
- - ~>
|
32
|
+
- - "~>"
|
85
33
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
34
|
+
version: '3.0'
|
87
35
|
type: :development
|
88
36
|
prerelease: false
|
89
37
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
38
|
requirements:
|
92
|
-
- - ~>
|
39
|
+
- - "~>"
|
93
40
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
41
|
+
version: '3.0'
|
95
42
|
- !ruby/object:Gem::Dependency
|
96
43
|
name: sinatra
|
97
44
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
45
|
requirements:
|
100
|
-
- -
|
46
|
+
- - "~>"
|
101
47
|
- !ruby/object:Gem::Version
|
102
|
-
version: '1
|
48
|
+
version: '2.1'
|
103
49
|
type: :development
|
104
50
|
prerelease: false
|
105
51
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
52
|
requirements:
|
108
|
-
- -
|
53
|
+
- - "~>"
|
109
54
|
- !ruby/object:Gem::Version
|
110
|
-
version: '1
|
55
|
+
version: '2.1'
|
111
56
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
57
|
+
name: tilt
|
113
58
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
59
|
requirements:
|
116
|
-
- - ~>
|
60
|
+
- - "~>"
|
117
61
|
- !ruby/object:Gem::Version
|
118
|
-
version: '0
|
62
|
+
version: '2.0'
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 2.0.10
|
119
66
|
type: :development
|
120
67
|
prerelease: false
|
121
68
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
|
-
requirements:
|
124
|
-
- - ~>
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: '0.6'
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
name: citrus
|
129
|
-
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
69
|
requirements:
|
132
|
-
- - ~>
|
70
|
+
- - "~>"
|
133
71
|
- !ruby/object:Gem::Version
|
134
|
-
version: 2.
|
135
|
-
|
136
|
-
prerelease: false
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
|
-
requirements:
|
140
|
-
- - ~>
|
72
|
+
version: '2.0'
|
73
|
+
- - ">="
|
141
74
|
- !ruby/object:Gem::Version
|
142
|
-
version: 2.
|
75
|
+
version: 2.0.10
|
143
76
|
- !ruby/object:Gem::Dependency
|
144
|
-
name:
|
77
|
+
name: citrus
|
145
78
|
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
79
|
requirements:
|
148
|
-
- - ~>
|
80
|
+
- - "~>"
|
149
81
|
- !ruby/object:Gem::Version
|
150
|
-
version: '0
|
82
|
+
version: '3.0'
|
151
83
|
type: :runtime
|
152
84
|
prerelease: false
|
153
85
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
86
|
requirements:
|
156
|
-
- - ~>
|
87
|
+
- - "~>"
|
157
88
|
- !ruby/object:Gem::Version
|
158
|
-
version: '0
|
89
|
+
version: '3.0'
|
159
90
|
- !ruby/object:Gem::Dependency
|
160
91
|
name: quickl
|
161
92
|
requirement: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
93
|
requirements:
|
164
|
-
- - ~>
|
94
|
+
- - "~>"
|
165
95
|
- !ruby/object:Gem::Version
|
166
96
|
version: 0.4.3
|
167
97
|
type: :runtime
|
168
98
|
prerelease: false
|
169
99
|
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
100
|
requirements:
|
172
|
-
- - ~>
|
101
|
+
- - "~>"
|
173
102
|
- !ruby/object:Gem::Version
|
174
103
|
version: 0.4.3
|
175
104
|
- !ruby/object:Gem::Dependency
|
176
105
|
name: path
|
177
106
|
requirement: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
107
|
requirements:
|
180
|
-
- - ~>
|
108
|
+
- - "~>"
|
181
109
|
- !ruby/object:Gem::Version
|
182
|
-
version: '
|
110
|
+
version: '2.0'
|
183
111
|
type: :runtime
|
184
112
|
prerelease: false
|
185
113
|
version_requirements: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
114
|
requirements:
|
188
|
-
- - ~>
|
115
|
+
- - "~>"
|
189
116
|
- !ruby/object:Gem::Version
|
190
|
-
version: '
|
117
|
+
version: '2.0'
|
191
118
|
- !ruby/object:Gem::Dependency
|
192
|
-
name:
|
119
|
+
name: temple
|
193
120
|
requirement: !ruby/object:Gem::Requirement
|
194
|
-
none: false
|
195
121
|
requirements:
|
196
|
-
- - ~>
|
122
|
+
- - "~>"
|
197
123
|
- !ruby/object:Gem::Version
|
198
|
-
version: '
|
124
|
+
version: '0.6'
|
199
125
|
type: :runtime
|
200
126
|
prerelease: false
|
201
127
|
version_requirements: !ruby/object:Gem::Requirement
|
202
|
-
none: false
|
203
128
|
requirements:
|
204
|
-
- - ~>
|
129
|
+
- - "~>"
|
205
130
|
- !ruby/object:Gem::Version
|
206
|
-
version: '
|
207
|
-
description:
|
208
|
-
It'
|
209
|
-
|
210
|
-
help you generating web pages, sql queries, ruby code (that is, generating text
|
211
|
-
in
|
212
|
-
|
131
|
+
version: '0.6'
|
132
|
+
description: |-
|
133
|
+
WLang is a general-purpose *code generation*/*templating engine*. It's main aim is to
|
134
|
+
help you generating web pages, sql queries, ruby code (that is, generating text in
|
213
135
|
general) without having to worry too much about html entities encoding, sql back
|
214
|
-
|
215
|
-
quoting, string escaping and the like. WLang proposes a generic engine that you
|
216
|
-
can
|
217
|
-
|
136
|
+
quoting, string escaping and the like. WLang proposes a generic engine that you can
|
218
137
|
easily extend to fit your needs. It also proposes standard instantiations of this
|
219
|
-
|
220
|
-
engine for common tasks such as rendering HTML web pages.'
|
138
|
+
engine for common tasks such as rendering HTML web pages.
|
221
139
|
email:
|
222
140
|
- blambeau@gmail.com
|
223
141
|
- llambeau@gmail.com
|
@@ -229,13 +147,17 @@ extra_rdoc_files:
|
|
229
147
|
- CHANGELOG.md
|
230
148
|
- LICENCE.md
|
231
149
|
files:
|
232
|
-
- wlang.gemspec
|
233
|
-
- wlang.noespec
|
234
150
|
- CHANGELOG.md
|
235
151
|
- Gemfile
|
236
152
|
- Gemfile.lock
|
153
|
+
- LICENCE.md
|
154
|
+
- Manifest.txt
|
155
|
+
- README.md
|
156
|
+
- Rakefile
|
237
157
|
- bin/wlang
|
158
|
+
- lib/wlang.rb
|
238
159
|
- lib/wlang/command.rb
|
160
|
+
- lib/wlang/compiler.rb
|
239
161
|
- lib/wlang/compiler/autospacing.rb
|
240
162
|
- lib/wlang/compiler/dialect_enforcer.rb
|
241
163
|
- lib/wlang/compiler/filter.rb
|
@@ -246,31 +168,26 @@ files:
|
|
246
168
|
- lib/wlang/compiler/strconcat_flattener.rb
|
247
169
|
- lib/wlang/compiler/to_ruby_abstraction.rb
|
248
170
|
- lib/wlang/compiler/to_ruby_code.rb
|
249
|
-
- lib/wlang/compiler.rb
|
250
171
|
- lib/wlang/dialect.rb
|
251
172
|
- lib/wlang/dummy.rb
|
252
173
|
- lib/wlang/html.rb
|
253
174
|
- lib/wlang/loader.rb
|
175
|
+
- lib/wlang/scope.rb
|
254
176
|
- lib/wlang/scope/binding_scope.rb
|
255
177
|
- lib/wlang/scope/null_scope.rb
|
256
178
|
- lib/wlang/scope/object_scope.rb
|
257
179
|
- lib/wlang/scope/proc_scope.rb
|
258
180
|
- lib/wlang/scope/sinatra_scope.rb
|
259
|
-
- lib/wlang/scope.rb
|
260
|
-
- lib/wlang/source/front_matter.rb
|
261
181
|
- lib/wlang/source.rb
|
182
|
+
- lib/wlang/source/front_matter.rb
|
262
183
|
- lib/wlang/template.rb
|
263
|
-
- lib/wlang/tilt/wlang_template.rb
|
264
184
|
- lib/wlang/tilt.rb
|
185
|
+
- lib/wlang/tilt/wlang_template.rb
|
265
186
|
- lib/wlang/version.rb
|
266
|
-
- lib/wlang.rb
|
267
|
-
- LICENCE.md
|
268
|
-
- Manifest.txt
|
269
|
-
- Rakefile
|
270
|
-
- README.md
|
271
187
|
- spec/assumptions/test_core.rb
|
272
188
|
- spec/fixtures/dialect/foobar.rb
|
273
189
|
- spec/fixtures/dialect/upcasing.rb
|
190
|
+
- spec/fixtures/templates/front_matter.wlang
|
274
191
|
- spec/fixtures/templates/hello.wlang
|
275
192
|
- spec/fixtures/templates/hello_from_sinatra.wlang
|
276
193
|
- spec/fixtures/templates/hello_with_data.wlang
|
@@ -292,7 +209,6 @@ files:
|
|
292
209
|
- spec/integration/html/test_sharp.rb
|
293
210
|
- spec/integration/html/test_slash.rb
|
294
211
|
- spec/integration/html/test_star.rb
|
295
|
-
- spec/integration/sinatra/test_partials.rb
|
296
212
|
- spec/integration/test_dummy.rb
|
297
213
|
- spec/integration/test_examples.rb
|
298
214
|
- spec/integration/test_readme.rb
|
@@ -346,43 +262,36 @@ files:
|
|
346
262
|
- spec/unit/test_assumptions.rb
|
347
263
|
- spec/unit/test_scope.rb
|
348
264
|
- spec/unit/tilt/test_wlang_template.rb
|
349
|
-
- tasks/debug_mail.rake
|
350
|
-
- tasks/debug_mail.txt
|
351
265
|
- tasks/gem.rake
|
352
|
-
- tasks/
|
353
|
-
-
|
354
|
-
- tasks/yard.rake
|
266
|
+
- tasks/test.rake
|
267
|
+
- wlang.gemspec
|
355
268
|
homepage: http://github.com/blambeau/wlang
|
356
269
|
licenses: []
|
270
|
+
metadata: {}
|
357
271
|
post_install_message:
|
358
272
|
rdoc_options: []
|
359
273
|
require_paths:
|
360
274
|
- lib
|
361
275
|
required_ruby_version: !ruby/object:Gem::Requirement
|
362
|
-
none: false
|
363
276
|
requirements:
|
364
|
-
- -
|
277
|
+
- - ">="
|
365
278
|
- !ruby/object:Gem::Version
|
366
279
|
version: '0'
|
367
|
-
segments:
|
368
|
-
- 0
|
369
|
-
hash: -3178945114161789615
|
370
280
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
371
|
-
none: false
|
372
281
|
requirements:
|
373
|
-
- -
|
282
|
+
- - ">="
|
374
283
|
- !ruby/object:Gem::Version
|
375
284
|
version: '0'
|
376
285
|
requirements: []
|
377
|
-
|
378
|
-
rubygems_version: 1.8.25
|
286
|
+
rubygems_version: 3.2.1
|
379
287
|
signing_key:
|
380
|
-
specification_version:
|
288
|
+
specification_version: 4
|
381
289
|
summary: WLang is a powerful code generation and templating engine
|
382
290
|
test_files:
|
383
291
|
- spec/assumptions/test_core.rb
|
384
292
|
- spec/fixtures/dialect/foobar.rb
|
385
293
|
- spec/fixtures/dialect/upcasing.rb
|
294
|
+
- spec/fixtures/templates/front_matter.wlang
|
386
295
|
- spec/fixtures/templates/hello.wlang
|
387
296
|
- spec/fixtures/templates/hello_from_sinatra.wlang
|
388
297
|
- spec/fixtures/templates/hello_with_data.wlang
|
@@ -404,7 +313,6 @@ test_files:
|
|
404
313
|
- spec/integration/html/test_sharp.rb
|
405
314
|
- spec/integration/html/test_slash.rb
|
406
315
|
- spec/integration/html/test_star.rb
|
407
|
-
- spec/integration/sinatra/test_partials.rb
|
408
316
|
- spec/integration/test_dummy.rb
|
409
317
|
- spec/integration/test_examples.rb
|
410
318
|
- spec/integration/test_readme.rb
|