pug-ruby 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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