pug-ruby 1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: be027b8c14e9788bac1f212ef1f2b75c275f2334
4
+ data.tar.gz: f67f06fb7e0f3c50fe5bd9bcc45c93a9f0ebb396
5
+ SHA512:
6
+ metadata.gz: 64a162f930c8f41dca937990fc11c5d808cc6fdb48b50059218d8bde5503c9d40f0e32b0b06e9d70ace036585789c526f2684b48b177de06bf43252766741b55
7
+ data.tar.gz: 1a8f9c0edb89455693a40e3d2f1de5db1c0450f6ce17a9ce5fae9484a2eb294d228042d0783c7ba108ae239fe34e7905610290e3cc8ff62b965e404f9cae8163
@@ -0,0 +1,7 @@
1
+ *.gem
2
+ *.lock
3
+ .bundle
4
+ .ruby-version
5
+ pkg/
6
+ tmp/
7
+ /.idea/
@@ -0,0 +1,20 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 2.3.1
5
+
6
+ cache: bundler
7
+
8
+ branches:
9
+ only:
10
+ - master
11
+
12
+ env:
13
+ - RAILS_ENV=test RAKE_ENV=test
14
+
15
+ before_script:
16
+ - npm install jade
17
+ - npm install pug-cli
18
+
19
+ script:
20
+ - bundle exec rake test
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
3
+ gem 'test-unit'
@@ -0,0 +1,50 @@
1
+ ## Ruby wrapper for the Pug/Jade template engine
2
+
3
+ ## About
4
+ This gem is wrapper for Pug/Jade command line interface. You can compile both Jade templates ([version 1.x](https://github.com/pugjs/pug/tree/v1.x.x)) and Pug ([version 2.x](https://github.com/pugjs/pug)).
5
+ <br>
6
+ ```ruby
7
+ Jade.compile(source, options)
8
+ Pug.compile(source, options)
9
+ ```
10
+
11
+ ## Installing gem
12
+ Run `gem install pug-ruby -v '~> 1.0'`. Add `require 'pug-ruby'` to your code.
13
+
14
+
15
+ **If you are using bundler.**
16
+ <br>
17
+ Add to your Gemfile:
18
+ ```ruby
19
+ gem 'pug-ruby', '~> 1.0'
20
+ ```
21
+
22
+ ## Installing Jade
23
+ Install Jade globally via npm:
24
+ ```bash
25
+ npm install -g jade
26
+ ```
27
+
28
+ ## Installing Pug
29
+ Install Pug globally via npm:
30
+ ```bash
31
+ npm install -g pug-cli
32
+ ```
33
+
34
+ ## Configuring Pug and Jade
35
+ Access Pug and Jade configurations:
36
+ ```ruby
37
+ Jade.config.compile_debug = false
38
+ Pug.config.compile_debug = false
39
+ ```
40
+
41
+ Refer to official website for configuration options meaning:
42
+ <br>
43
+ [pugjs.org](https://pugjs.org)
44
+ <br>
45
+ [jade-lang.com (sorry, webarchive only)](http://web.archive.org/web/*/jade-lang.com)
46
+
47
+ ## Running Tests
48
+ 1. Install both Pug and Jade
49
+ 2. Install gem dependencies: `bundle install`
50
+ 3. Finally run tests: `bundle exec rake test`
@@ -0,0 +1,9 @@
1
+ require 'rake/testtask'
2
+ require 'bundler/gem_tasks'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'test'
6
+ end
7
+
8
+ desc 'Run test suite'
9
+ task default: :test
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+ require 'open3'
3
+ require 'json'
4
+ require 'shellwords'
5
+
6
+ module Jade
7
+ class << self
8
+ def compile(source, options = {})
9
+ check_executable!
10
+
11
+ source = source.read if source.respond_to?(:read)
12
+ options = config.to_hash.merge(options)
13
+
14
+ # http://web.archive.org/web/*/http://jade-lang.com/command-line/
15
+ cmd = ['jade']
16
+
17
+ options[:compileDebug] = options[:compile_debug]
18
+ options[:nameAfterFile] = options[:name_after_file]
19
+
20
+ options.respond_to?(:compact) ? options.compact : options.delete_if { |k, v| v.nil? }
21
+
22
+ # Command line arguments take precedence over json options
23
+ # https://github.com/jadejs/jade/blob/master/bin/jade.js
24
+ cmd.push('--obj', JSON.generate(options))
25
+
26
+ cmd.push('--out', escape(options[:out])) if options[:out]
27
+ cmd.push('--path', escape(options[:filename])) if options[:filename]
28
+ cmd.push('--basedir', escape(options[:basedir])) if options[:basedir]
29
+ cmd.push('--pretty') if options[:pretty]
30
+ cmd.push('--client') if options[:client]
31
+ cmd.push('--name', escape(options[:name])) if options[:name]
32
+ cmd.push('--no-debug') unless options[:compile_debug]
33
+ cmd.push('--extension', escape(options[:extension])) if options[:extension]
34
+ cmd.push('--hierarchy', escape(options[:hierarchy])) if options[:hierarchy]
35
+ cmd.push('--name-after-file', escape(options[:name_after_file])) if options[:name_after_file]
36
+ cmd.push('--doctype', escape(options[:doctype])) if options[:doctype]
37
+
38
+ stdout, stderr, exit_status = Open3.capture3(*cmd, stdin_data: source)
39
+ raise CompileError.new(stderr) unless exit_status.success?
40
+
41
+ if options[:client]
42
+ %{ (function(jade) { #{stdout}; return #{options[:name]}; }).call(this, jade); }
43
+ else
44
+ stdout
45
+ end
46
+ end
47
+
48
+ def check_executable!
49
+ unless @executable_checked
50
+ `jade --version`
51
+ unless $?.success?
52
+ raise ExecutableError, 'No jade executable found in your system. Did you forget to "npm install -g jade"?'
53
+ end
54
+ @executable_checked = true
55
+ end
56
+ end
57
+
58
+ protected
59
+ def escape(string)
60
+ Shellwords.escape(string)
61
+ end
62
+ end
63
+
64
+ class CompileError < StandardError
65
+ end
66
+
67
+ class ExecutableError < StandardError
68
+ end
69
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+ module Jade
3
+ class Config
4
+ # http://web.archive.org/web/20160404025722/http://jade-lang.com/api/
5
+ # http://web.archive.org/web/20160618141847/http://jade-lang.com/command-line/
6
+ attr_accessor :filename
7
+ attr_accessor :doctype
8
+ attr_accessor :pretty
9
+ attr_accessor :self
10
+ attr_accessor :debug
11
+ attr_accessor :compile_debug
12
+ attr_accessor :cache
13
+ attr_accessor :globals
14
+ attr_accessor :client
15
+ attr_accessor :name
16
+ attr_accessor :name_after_file
17
+ attr_accessor :out
18
+ attr_accessor :extension
19
+ attr_accessor :hierarchy
20
+
21
+ def initialize
22
+ @filename = nil
23
+ @doctype = nil
24
+ @pretty = false
25
+ @self = false
26
+ @debug = false
27
+ @compile_debug = false
28
+ @cache = false
29
+ @globals = []
30
+ @client = false
31
+ @name = 'template'
32
+ @name_after_file = nil
33
+ @out = nil
34
+ @extension = nil
35
+ @hierarchy = false
36
+ end
37
+
38
+ def to_hash
39
+ %i( filename doctype pretty
40
+ self debug compile_debug
41
+ cache globals client
42
+ name name_after_file out
43
+ extension hierarchy ).each_with_object({}) { |x, y| y[x] = send(x) }
44
+ end
45
+ end
46
+
47
+ class << self; attr_accessor :config; end
48
+ self.config = Config.new
49
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ require 'jade-ruby/config'
3
+ require 'jade-ruby/compile'
4
+ require 'pug-ruby/config'
5
+ require 'pug-ruby/compile'
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+ require 'open3'
3
+ require 'json'
4
+ require 'shellwords'
5
+
6
+ module Pug
7
+ class << self
8
+ def compile(source, options = {})
9
+ check_executable!
10
+
11
+ source = source.read if source.respond_to?(:read)
12
+ options = config.to_hash.merge(options)
13
+
14
+ # https://github.com/pugjs/pug-cli
15
+ cmd = ['pug']
16
+
17
+ options[:compileDebug] = options[:compile_debug]
18
+ options[:nameAfterFile] = options[:name_after_file]
19
+ options[:inlineRuntimeFunctions] = options[:inline_runtime_functions]
20
+
21
+ options.respond_to?(:compact) ? options.compact : options.delete_if { |k, v| v.nil? }
22
+
23
+ # Command line arguments take precedence over json options
24
+ # https://github.com/pugjs/pug-cli/blob/master/index.js
25
+ cmd.push('--obj', JSON.generate(options))
26
+
27
+ cmd.push('--out', escape(options[:out])) if options[:out]
28
+ cmd.push('--path', escape(options[:filename])) if options[:filename]
29
+ cmd.push('--basedir', escape(options[:basedir])) if options[:basedir]
30
+ cmd.push('--pretty') if options[:pretty]
31
+ cmd.push('--client') if options[:client]
32
+ cmd.push('--name', escape(options[:name])) if options[:name]
33
+ cmd.push('--no-debug') unless options[:compile_debug]
34
+ cmd.push('--extension', escape(options[:extension])) if options[:extension]
35
+ cmd.push('--silent') if options[:silent]
36
+ cmd.push('--name-after-file', escape(options[:name_after_file])) if options[:name_after_file]
37
+ cmd.push('--doctype', escape(options[:doctype])) if options[:doctype]
38
+
39
+ stdout, stderr, exit_status = Open3.capture3(*cmd, stdin_data: source)
40
+
41
+ raise CompileError.new(stderr) unless exit_status.success?
42
+
43
+ if options[:client]
44
+ if options[:inline_runtime_functions]
45
+ %{ (function() { #{stdout}; return #{options[:name]}; }).call(this); }
46
+ else
47
+ %{ (function(pug) { #{stdout}; return #{options[:name]}; }).call(this, pug); }
48
+ end
49
+ else
50
+ stdout
51
+ end
52
+ end
53
+
54
+ def check_executable!
55
+ unless @executable_checked
56
+ `pug --version`
57
+ unless $?.success?
58
+ raise ExecutableError, 'No pug executable found in your system. Did you forget to "npm install -g pug-cli"?'
59
+ end
60
+ @executable_checked = true
61
+ end
62
+ end
63
+
64
+ protected
65
+ def escape(string)
66
+ Shellwords.escape(string)
67
+ end
68
+ end
69
+
70
+ class CompileError < StandardError
71
+ end
72
+
73
+ class ExecutableError < StandardError
74
+ end
75
+ end
76
+
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+ module Pug
3
+ class Config
4
+ # https://pugjs.org/api/reference.html
5
+ # https://github.com/pugjs/pug-cli
6
+ attr_accessor :filename
7
+ attr_accessor :basedir
8
+ attr_accessor :doctype
9
+ attr_accessor :pretty
10
+ attr_accessor :self
11
+ attr_accessor :debug
12
+ attr_accessor :compile_debug
13
+ attr_accessor :globals
14
+ attr_accessor :inline_runtime_functions
15
+ attr_accessor :name
16
+ attr_accessor :name_after_file
17
+ attr_accessor :out
18
+ attr_accessor :extension
19
+ attr_accessor :silent
20
+
21
+ def initialize
22
+ @filename = nil
23
+ @basedir = nil
24
+ @doctype = nil
25
+ @pretty = false
26
+ @self = false
27
+ @debug = false
28
+ @compile_debug = false
29
+ @globals = []
30
+ @inline_runtime_functions = true
31
+ @name = 'template'
32
+ @name_after_file = nil
33
+ @out = nil
34
+ @extension = nil
35
+ @silent = true
36
+ end
37
+
38
+ def to_hash
39
+ %i( filename basedir doctype
40
+ pretty self debug
41
+ compile_debug globals inline_runtime_functions
42
+ name name_after_file out
43
+ extension silent ).each_with_object({}) { |x, y| y[x] = send(x) }
44
+ end
45
+ end
46
+
47
+ singleton_class.class_exec { attr_accessor :config }
48
+ self.config = Config.new
49
+ end
50
+
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ Gem::Specification.new do |s|
3
+ s.name = 'pug-ruby'
4
+ s.version = '1.0.1'
5
+ s.author = 'Yaroslav Konoplov'
6
+ s.email = 'eahome00@gmail.com'
7
+ s.summary = 'Ruby wrapper for the Pug/Jade template engine.'
8
+ s.description = 'Ruby wrapper for the Pug/Jade template engine.'
9
+ s.homepage = 'https://github.com/yivo/pug-ruby'
10
+ s.license = 'MIT'
11
+
12
+ s.executables = `git ls-files -z -- bin/*`.split("\x0").map{ |f| File.basename(f) }
13
+ s.files = `git ls-files -z`.split("\x0")
14
+ s.test_files = `git ls-files -z -- {test,spec,features}/*`.split("\x0")
15
+ s.require_paths = ['lib']
16
+
17
+ s.add_development_dependency 'bundler', '~> 1.7'
18
+ s.add_development_dependency 'rake', '~> 10.0'
19
+ end
@@ -0,0 +1,8 @@
1
+ //- index.jade
2
+ extends ./layout.jade
3
+
4
+ block title
5
+ title Article title
6
+
7
+ block content
8
+ h1 Article content
@@ -0,0 +1,9 @@
1
+ //- layout.jade
2
+ doctype html
3
+ html
4
+ head
5
+ block title
6
+ title This is default title
7
+ body
8
+ block content
9
+ h1 This is default content
@@ -0,0 +1,3 @@
1
+ //- includes/footer.jade
2
+ footer.footer#footer
3
+ p Copyright (c) me
@@ -0,0 +1,4 @@
1
+ //- includes/header.jade
2
+ header.header#header
3
+ navigation.menu
4
+ a(href='/') Home
@@ -0,0 +1,10 @@
1
+ //- index.jade
2
+ doctype html
3
+ html
4
+ head
5
+ title My site
6
+ body
7
+ include ./includes/header.jade
8
+ h1 Welcome!
9
+ p Welcome to my site.
10
+ include ./includes/footer.jade
@@ -0,0 +1,16 @@
1
+ doctype html
2
+ html(lang='en')
3
+ head
4
+ title=pageTitle
5
+ script(type='text/javascript').
6
+ if (foo) bar(1 + 5);
7
+ body
8
+ h1 Jade - node template engine
9
+ #container.col
10
+ if youAreUsingJade
11
+ p You are amazing
12
+ else
13
+ p Get on it!
14
+ p.
15
+ Jade is a terse and simple templating language with a
16
+ strong focus on performance and powerful features.
@@ -0,0 +1,8 @@
1
+ //- index.pug
2
+ extends ./layout.pug
3
+
4
+ block title
5
+ title Article title
6
+
7
+ block content
8
+ h1 Article content
@@ -0,0 +1,9 @@
1
+ //- layout.pug
2
+ doctype html
3
+ html
4
+ head
5
+ block title
6
+ title This is default title
7
+ body
8
+ block content
9
+ h1 This is default content
@@ -0,0 +1,3 @@
1
+ //- includes/footer.pug
2
+ footer.footer#footer
3
+ p Copyright (c) me
@@ -0,0 +1,4 @@
1
+ //- includes/header.pug
2
+ header.header#header
3
+ navigation.menu
4
+ a(href='/') Home
@@ -0,0 +1,10 @@
1
+ //- index.pug
2
+ doctype html
3
+ html
4
+ head
5
+ title My site
6
+ body
7
+ include ./includes/header.pug
8
+ h1 Welcome!
9
+ p Welcome to my site.
10
+ include ./includes/footer.pug
@@ -0,0 +1,16 @@
1
+ doctype html
2
+ html(lang='en')
3
+ head
4
+ title=pageTitle
5
+ script(type='text/javascript').
6
+ if (foo) bar(1 + 5);
7
+ body
8
+ h1 Jade - node template engine
9
+ #container.col
10
+ if youAreUsingJade
11
+ p You are amazing
12
+ else
13
+ p Get on it!
14
+ p.
15
+ Jade is a terse and simple templating language with a
16
+ strong focus on performance and powerful features.
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+ require 'pug-ruby'
3
+ require 'test/unit'
4
+
5
+ class JadeTest < Test::Unit::TestCase
6
+
7
+ def test_compile
8
+ file = expand_path('index.jade')
9
+ template = File.read(file)
10
+ result = Jade.compile(template, client: true)
11
+ assert_match_template_function(result)
12
+ assert_no_match_doctype(result)
13
+ end
14
+
15
+ def test_compile_with_io
16
+ io = StringIO.new("div\n | Hello, world!")
17
+ assert_equal(Jade.compile("div\n | Hello, world!"), Jade.compile(io))
18
+ end
19
+
20
+ def test_compilation_error
21
+ assert_raise(Jade::CompileError) { Jade.compile("else\n div") }
22
+ end
23
+
24
+ def test_includes
25
+ file = expand_path('includes/index.jade')
26
+ template = File.read(file)
27
+ result = Jade.compile(template, filename: file, client: false)
28
+ assert_match_doctype(result)
29
+ end
30
+
31
+ def test_extends
32
+ file = expand_path('extends/layout.jade')
33
+ template = File.read(file)
34
+ result = Jade.compile(template, filename: file, client: false)
35
+ assert_match_doctype(result)
36
+ end
37
+
38
+ def test_includes_client
39
+ file = expand_path('includes/index.jade')
40
+ template = File.read(file)
41
+ result = Jade.compile(template, filename: file, client: true)
42
+ assert_match_template_function(result)
43
+ assert_no_match_doctype(result)
44
+ end
45
+
46
+ def test_extends_client
47
+ file = expand_path('extends/layout.jade')
48
+ template = File.read(file)
49
+ result = Jade.compile(template, filename: file, client: true)
50
+ assert_match_template_function(result)
51
+ assert_no_match_doctype(result)
52
+ end
53
+
54
+ protected
55
+ def expand_path(relative_path)
56
+ File.expand_path(File.join('..', 'jade', relative_path), __FILE__)
57
+ end
58
+
59
+ def assert_match_doctype(string)
60
+ assert_match(/^\s*<!DOCTYPE html>/, string)
61
+ end
62
+
63
+ def assert_no_match_doctype(string)
64
+ assert_no_match(/^\s*<!DOCTYPE html>/, string)
65
+ end
66
+
67
+ def assert_match_template_function(string)
68
+ assert_match(/function\s+#{Jade.config.name}\s*\(locals\)\s*\{.*\}/m, string)
69
+ end
70
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+ require 'pug-ruby'
3
+ require 'test/unit'
4
+
5
+ class PugTest < Test::Unit::TestCase
6
+
7
+ def test_compile
8
+ file = expand_path('index.pug')
9
+ template = File.read(file)
10
+ result = Pug.compile(template, client: true)
11
+ assert_match_template_function(result)
12
+ assert_no_match_doctype(result)
13
+ end
14
+
15
+ def test_compile_with_io
16
+ io = StringIO.new("div\n | Hello, world!")
17
+ assert_equal(Pug.compile("div\n | Hello, world!"), Pug.compile(io))
18
+ end
19
+
20
+ def test_compilation_error
21
+ assert_raise(Pug::CompileError) { Pug.compile("else\n div") }
22
+ end
23
+
24
+ def test_includes
25
+ file = expand_path('includes/index.pug')
26
+ template = File.read(file)
27
+ result = Pug.compile(template, filename: file, client: false)
28
+ assert_match_doctype(result)
29
+ end
30
+
31
+ def test_extends
32
+ file = expand_path('extends/layout.pug')
33
+ template = File.read(file)
34
+ result = Pug.compile(template, filename: file, client: false)
35
+ assert_match_doctype(result)
36
+ end
37
+
38
+ def test_includes_client
39
+ file = expand_path('includes/index.pug')
40
+ template = File.read(file)
41
+ result = Pug.compile(template, filename: file, client: true)
42
+ assert_match_template_function(result)
43
+ assert_no_match_doctype(result)
44
+ end
45
+
46
+ def test_extends_client
47
+ file = expand_path('extends/layout.pug')
48
+ template = File.read(file)
49
+ result = Pug.compile(template, filename: file, client: true)
50
+ assert_match_template_function(result)
51
+ assert_no_match_doctype(result)
52
+ end
53
+
54
+ protected
55
+ def expand_path(relative_path)
56
+ File.expand_path(File.join('..', 'pug', relative_path), __FILE__)
57
+ end
58
+
59
+ def assert_match_doctype(string)
60
+ assert_match(/^\s*<!DOCTYPE html>/, string)
61
+ end
62
+
63
+ def assert_no_match_doctype(string)
64
+ assert_no_match(/^\s*<!DOCTYPE html>/, string)
65
+ end
66
+
67
+ def assert_match_template_function(string)
68
+ assert_match(/function\s+#{Pug.config.name}\s*\(locals\)\s*\{.*\}/m, string)
69
+ end
70
+ end
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pug-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Yaroslav Konoplov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-09-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: Ruby wrapper for the Pug/Jade template engine.
42
+ email: eahome00@gmail.com
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - ".gitignore"
48
+ - ".travis.yml"
49
+ - Gemfile
50
+ - README.md
51
+ - Rakefile
52
+ - lib/jade-ruby/compile.rb
53
+ - lib/jade-ruby/config.rb
54
+ - lib/pug-ruby.rb
55
+ - lib/pug-ruby/compile.rb
56
+ - lib/pug-ruby/config.rb
57
+ - pug-ruby.gemspec
58
+ - test/jade/extends/index.jade
59
+ - test/jade/extends/layout.jade
60
+ - test/jade/includes/includes/footer.jade
61
+ - test/jade/includes/includes/header.jade
62
+ - test/jade/includes/index.jade
63
+ - test/jade/index.jade
64
+ - test/pug/extends/index.pug
65
+ - test/pug/extends/layout.pug
66
+ - test/pug/includes/includes/footer.pug
67
+ - test/pug/includes/includes/header.pug
68
+ - test/pug/includes/index.pug
69
+ - test/pug/index.pug
70
+ - test/test-jade.rb
71
+ - test/test-pug.rb
72
+ homepage: https://github.com/yivo/pug-ruby
73
+ licenses:
74
+ - MIT
75
+ metadata: {}
76
+ post_install_message:
77
+ rdoc_options: []
78
+ require_paths:
79
+ - lib
80
+ required_ruby_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ requirements: []
91
+ rubyforge_project:
92
+ rubygems_version: 2.5.1
93
+ signing_key:
94
+ specification_version: 4
95
+ summary: Ruby wrapper for the Pug/Jade template engine.
96
+ test_files:
97
+ - test/jade/extends/index.jade
98
+ - test/jade/extends/layout.jade
99
+ - test/jade/includes/includes/footer.jade
100
+ - test/jade/includes/includes/header.jade
101
+ - test/jade/includes/index.jade
102
+ - test/jade/index.jade
103
+ - test/pug/extends/index.pug
104
+ - test/pug/extends/layout.pug
105
+ - test/pug/includes/includes/footer.pug
106
+ - test/pug/includes/includes/header.pug
107
+ - test/pug/includes/index.pug
108
+ - test/pug/index.pug
109
+ - test/test-jade.rb
110
+ - test/test-pug.rb