jekyll_frontmatter_tests 0.0.8 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c9e76205b63d8e4f08abe86ad6a2aa28e6d29842
4
- data.tar.gz: c3ec5df610e5fd02c70e72facd953b731c0db75f
3
+ metadata.gz: d5c718f92a10c456fc3de9200cb9ee118be1ae6d
4
+ data.tar.gz: 30a742446ac86710459c13c3134f30dbf73b7bc2
5
5
  SHA512:
6
- metadata.gz: acd380e46f385ca0a2bded057d9fcecd665fdce5ad075660e23acd33c5b9b83edff1009520892ba906bb347d4e4b94bc2d2ec500188971307753979500d0e240
7
- data.tar.gz: d3796f082cee72b41f6ea2695a1901ed7faf2a31a575a134de39a58f2b4c6b957dabae5e5cd7b7f28bc3b9799bbdeab731b502789a19e5ec6633dc26269339a5
6
+ metadata.gz: 4b04dc99b1c587aa6f31fa96d519035584742fc8b85d243bd13cbf521066f5c717793c3c331e61f5b7e88eb563de0f15b5dd565622e06d12c4480c5ef431c903
7
+ data.tar.gz: 009eacfd2f6f535fa7a8402198e52761ad588a8bd3d9143066466bac8bcc3c4f5ef8f17e57ac67c00c1610d2a0ca1403f2423ed24be19baf1757432554860bf5
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ ruby RUBY_VERSION
4
+
5
+ gemspec
@@ -0,0 +1,28 @@
1
+ Gem::Specification.new do |s|
2
+ s.description = 'Tests the frontmatter of posts and other collection documents against a schema'
3
+ s.summary = 'Tests jekyll documents for proper frontmatter'
4
+ s.name = 'jekyll_frontmatter_tests'
5
+ s.date = '2015-09-10'
6
+ s.license = 'CC0'
7
+ s.authors = ['Greg Boone']
8
+ s.email = ['gregory.boone@gsa.gov']
9
+ s.version = '0.0.13'
10
+ s.files = %w{
11
+ jekyll-frontmatter-tests.gemspec
12
+ Gemfile
13
+ } +
14
+ Dir.glob("lib/**/*")
15
+ s.homepage = 'https://rubygems.org/gems/jekyll_frontmatter_tests'
16
+ s.bindir = 'bin'
17
+ s.post_install_message = "Happy testing!"
18
+ s.add_dependency "jekyll", [">= 2.0", "< 4.0"]
19
+ s.add_development_dependency "bundler", "~> 1.7"
20
+ s.add_development_dependency "rspec", "~> 3.0"
21
+ s.add_development_dependency "pry", '~> 0'
22
+ s.add_development_dependency "capybara", '~> 2.11'
23
+ s.add_development_dependency "chromedriver-helper", '~> 1.0'
24
+ s.add_development_dependency "rack-jekyll", '~> 0.5'
25
+ s.add_development_dependency "rb-readline", '~> 0.5.3'
26
+ s.add_development_dependency "selenium-webdriver", '~> 3.0'
27
+ s.add_development_dependency "rubocop", '~> 0.47.1'
28
+ end
@@ -1,207 +1,14 @@
1
1
  require 'yaml'
2
- class FrontmatterTests < Jekyll::Command
3
- class << self
4
- # Public: Load a schema from file.
5
- #
6
- # file - a string containing a filename
7
- #
8
- # Used throughout to load a specific file. In the future the directories
9
- # where these schema files are located could be loaded from _config.yml
10
- #
11
- # Returns a hash loaded from the YAML doc or exits 1 if no schema file
12
- # exists.
13
- def loadschema(file)
14
- schema = File.join(@schema['path'], file)
15
- if File.exists?(schema)
16
- YAML.load_file(schema)
17
- else
18
- puts "No schema for #{file}"
19
- exit 1
20
- end
21
- end
22
-
23
- # Public: processes a collection against a schema
24
- #
25
- # schmea - the hash-representation of a schema file
26
- #
27
- # Opens each file in the collection's expected directory and checks the
28
- # file's frontmatter for the expected keys and the expected format of the
29
- # values.
30
- #
31
- # Returns true or false depending on the success of the check.
32
- def process(schema)
33
- dir = File.join(schema['config']['path'])
34
- passfail = Array.new
35
- Dir.open(dir).each do |f|
36
- file = File.open(File.join(dir, f))
37
- unless schema['config']['ignore'].include?(f)
38
- data = YAML.load_file(file)
39
- passfail.push check_keys(data, schema.keys, f)
40
- passfail.push check_types(data, schema)
41
- end
42
- end
43
- passfail.keep_if { |p| p == false }
44
- if passfail.empty?
45
- return true
46
- else
47
- puts "There were #{passfail.count} errors".red
48
- return false
49
- end
50
- end
51
-
52
- # Public: checks a hash for expected keys
53
- #
54
- # target - the hash under test
55
- # keys - an array of keys the data is expected to have, usually loaded from
56
- # a schema file by loadschema()
57
- # title - A string representing `data`'s name
58
- def check_keys(target, keys, title)
59
- keys = keys - ['config']
60
- unless target.respond_to?('keys')
61
- puts "The file #{title} is missing all frontmatter.".red
62
- return false
63
- end
64
- diff = keys - target.keys
65
- if diff.empty?
66
- return true
67
- else
68
- puts "\nThe file #{title} is missing the following keys:".red
69
- for k in diff
70
- puts " * #{k}".red
71
- end
72
- return false
73
- end
74
- end
75
-
76
- # Public: tests all documents that are "posts"
77
- #
78
- # Loads a schema called _posts.yml and processes all post documents against
79
- # it.
80
- def test_posts
81
- puts 'testing posts'.green
82
- yepnope = Array.new.push process(loadschema('_posts.yml'))
83
- puts 'Finished testing'.green
84
- yepnope
85
- end
86
-
87
- # Public: Tests only specific collection documents
88
- #
89
- # collections - a comma separated string of collection names.
90
- #
91
- # `collections` is split into an array and each document is loaded and
92
- # processed against its respective schema.
93
- def test_collections(collections)
94
- yepnope = Array.new
95
- for c in collections
96
- puts "Testing #{c}".green
97
- yepnope.push process(loadschema("_#{c}.yml"))
98
- puts "Finished testing #{c}".green
99
- end
100
- yepnope
101
- end
102
-
103
- # Public: Tests all collections described by a schema file at
104
- # `deploy/tests/scema`
105
- def test_everything
106
- schema = Dir.open(@schema['path'])
107
- yepnope = Array.new
108
- schema.each { |s|
109
- if s.start_with?('_')
110
- puts "Testing #{s}".green
111
- yepnope.push process(loadschema(s))
112
- puts "Finished testing #{s}".green
113
- end
114
- }
115
- yepnope
116
- end
117
-
118
- # Public: Processes options passed throguh the command line, runs
119
- # the appropriate tests.
120
- #
121
- # args - command line arguments (example: jekyll test [ARG])
122
- # options - command line options (example: jekyll test -[option] [value])
123
- #
124
- # Depending on the flag passed (see `init_with_program`), runs the expected # test.
125
- #
126
- # Example: the following comamnd `jekyll test -p` will pass ``{'posts' =>
127
- # true}` as `options`. This will cause `test_frontmatter` to
128
- # compare all docs in _posts with the provided schema.
129
- #
130
- # The test runner pushes the result of each test into a `results` array and # exits `1` if any tests fail or `0` if all is well.
131
- def test_frontmatter(args, options)
132
-
133
- puts 'starting tests'
134
- if options['posts']
135
- results = test_posts
136
- elsif options['collections']
137
- collections = options['collections'].split(',')
138
- results = test_collections(collections)
139
- else
140
- results = test_everything
141
- end
142
- unless results.find_index{ |r| r == false }
143
- puts 'Tests finished!'
144
- exit 0
145
- else
146
- puts "The test exited with errors, see above."
147
- exit 1
148
- end
149
- end
150
-
151
- # Internal: fired when `jekyll test` is run.
152
- #
153
- # When `jekyll test` runs, `test_frontmatter` is fired with options and args
154
- # passed from the command line.
155
- def init_with_program(prog)
156
- config = Jekyll.configuration
157
- unless config.key?('frontmatter_tests')
158
- config['frontmatter_tests'] = {'path' => File.join("deploy", "tests", "schema")}
159
- end
160
- @schema ||= config['frontmatter_tests']
161
- prog.command(:test) do |c|
162
- c.syntax "test [options]"
163
- c.description 'Test your site for frontmatter.'
164
-
165
- c.option 'posts', '-p', 'Target only posts'
166
- c.option 'collections', '-c [COLLECTION]', 'Target a specific collection'
167
- c.option 'all', '-a', 'Test all collections (Default)'
168
-
169
- c.action do |args, options|
170
- if options.empty?
171
- options = {"all" => true}
172
- end
173
- test_frontmatter(args, options)
174
- end
175
- end
176
- end
177
- # Internal: eventually, validate that the *values* match expected types
178
- #
179
- # For example, if we expect the `date` key to be in yyyy-mm-dd format, validate
180
- # that it's been entered in that format. If we expect authors to be an array,
181
- # make sure we're getting an array.
182
- def check_types(data, schema)
183
- unless data.respond_to?('keys')
184
- return false
185
- end
186
- for s in schema
187
- key = s[0]
188
- if s[1].class == Hash
189
- type = s[1]['type']
190
- else
191
- type = s[1]
192
- end
193
-
194
- if type == "Array" and data[key].class == Array
195
- return true
196
- elsif type == "String" and data[key].class == String
197
- return true
198
- elsif type == "Date"
199
- return true
200
- else
201
- puts " * Data is of the wrong type for key #{key}, expected #{type} but was #{data[key].class}\n\n"
202
- return false
203
- end
204
- end
205
- end
206
- end
207
- end
2
+ require 'jekyll'
3
+
4
+ require_relative 'jekyll_frontmatter_tests/jekyll_frontmatter_tests_config'
5
+ require_relative 'jekyll_frontmatter_tests/jekyll_frontmatter_tests_initializer'
6
+ require_relative 'jekyll_frontmatter_tests/jekyll_frontmatter_tests_tester'
7
+ require_relative 'jekyll_frontmatter_tests/jekyll_frontmatter_tests_loader'
8
+ require_relative 'jekyll_frontmatter_tests/jekyll_frontmatter_tests_processor'
9
+ require_relative 'jekyll_frontmatter_tests/jekyll_frontmatter_tests_validator'
10
+ require_relative 'jekyll_frontmatter_tests/jekyll_frontmatter_tests_helper'
11
+
12
+ module Boolean; end
13
+ class TrueClass; include Boolean; end
14
+ class FalseClass; include Boolean; end
@@ -0,0 +1,13 @@
1
+ require 'jekyll'
2
+
3
+ class FrontmatterTests < Jekyll::Command
4
+ class << self
5
+ def schema_config
6
+ config = Jekyll.configuration
7
+ unless config.key?('frontmatter_tests')
8
+ config['frontmatter_tests'] = { 'path' => File.join('deploy', 'tests', 'schema') }
9
+ end
10
+ config['frontmatter_tests']
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,27 @@
1
+ require 'pry'
2
+ require 'yaml'
3
+
4
+ class FrontmatterTests < Jekyll::Command
5
+ class << self
6
+ def one_of?(data, schema)
7
+ if schema.instance_of?(Array) && data.instance_of?(Array)
8
+ (schema & data).count == data.count
9
+ elsif schema.include? '.yml'
10
+ schema_list = YAML.load_file(File.join(Dir.pwd, 'tests', 'schema', schema))
11
+ (schema_list & data).count == data.count
12
+ elsif schema.instance_of?(String) && data.instance_of?(Array)
13
+ false
14
+ else
15
+ schema == data
16
+ end
17
+ end
18
+
19
+ def required?(key, schema)
20
+ if schema['config']
21
+ !schema['config']['optional'].include? key
22
+ else
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ require 'pry'
2
+ require 'yaml'
3
+ require 'jekyll'
4
+
5
+ class FrontmatterTests < Jekyll::Command
6
+ class << self
7
+ # Internal: fired when `jekyll test` is run.
8
+ #
9
+ # When `jekyll test` runs, `test_frontmatter` is fired with options and args
10
+ # passed from the command line.
11
+ def init_with_program(prog)
12
+ prog.command(:test) do |c|
13
+ c.syntax 'test [options]'
14
+ c.description 'Test your site for frontmatter.'
15
+
16
+ c.option 'posts', '-p', 'Target only posts'
17
+ c.option 'collections', '-c [COLLECTION]', 'Target a specific collection'
18
+ c.option 'all', '-a', 'Test all collections (Default)'
19
+
20
+ c.action do |args, options|
21
+ options = { 'all' => true } if options.empty?
22
+ test_frontmatter(args, options)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ require 'pry'
2
+ require 'yaml'
3
+
4
+ class FrontmatterTests < Jekyll::Command
5
+ class << self
6
+ # Public: Load a schema from file.
7
+ #
8
+ # file - a string containing a filename
9
+ #
10
+ # Used throughout to load a specific file. In the future the directories
11
+ # where these schema files are located could be loaded from _config.yml
12
+ #
13
+ # Returns a hash loaded from the YAML doc or exits 1 if no schema file
14
+ # exists.
15
+ def load_schema(file)
16
+ # binding.pry
17
+ schema = File.join(Dir.pwd, schema_config['path'], file)
18
+ # binding.pry
19
+ if File.exist?(schema)
20
+ YAML.load_file(schema)
21
+ else
22
+ puts "No schema for #{file}"
23
+ exit 1
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,38 @@
1
+ require 'pry'
2
+ require 'yaml'
3
+
4
+ class FrontmatterTests < Jekyll::Command
5
+ class << self
6
+ # Public: processes a collection against a schema
7
+ #
8
+ # schema - the hash-representation of a schema file
9
+ #
10
+ # Opens each file in the collection's expected directory and checks the
11
+ # file's frontmatter for the expected keys and the expected format of the
12
+ # values.
13
+ #
14
+ # NOTE - As it iterates through files, subdirectories will be ignored
15
+ #
16
+ # Returns true or false depending on the success of the check.
17
+ def process(schema)
18
+ dir = File.join(schema['config']['path'])
19
+ passfail = []
20
+ Dir.open(dir).each do |f|
21
+ next if File.directory?(File.join(dir, f))
22
+ file = File.open(File.join(dir, f))
23
+ next if schema['config']['ignore'].include?(f)
24
+ data = YAML.load_file(file)
25
+
26
+ passfail.push check_keys(data, schema.keys, f)
27
+ passfail.push check_types(data, schema, File.join(dir, f))
28
+ end
29
+ passfail.keep_if { |p| p == false }
30
+ if passfail.empty?
31
+ return true
32
+ else
33
+ puts "There were #{passfail.count} errors".red
34
+ return false
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,79 @@
1
+ require 'pry'
2
+ require 'yaml'
3
+
4
+ class FrontmatterTests < Jekyll::Command
5
+ class << self
6
+ # Public: Processes options passed throguh the command line, runs
7
+ # the appropriate tests.
8
+ #
9
+ # args - command line arguments (example: jekyll test [ARG])
10
+ # options - command line options (example: jekyll test -[option] [value])
11
+ #
12
+ # Depending on the flag passed (see `init_with_program`), runs the expected # test.
13
+ #
14
+ # Example: the following comamnd `jekyll test -p` will pass ``{'posts' =>
15
+ # true}` as `options`. This will cause `test_frontmatter` to
16
+ # compare all docs in _posts with the provided schema.
17
+ #
18
+ # The test runner pushes the result of each test into a `results` array and # exits `1` if any tests fail or `0` if all is well.
19
+ def test_frontmatter(_args, options)
20
+ puts 'starting tests'
21
+ if options['posts']
22
+ results = test_posts
23
+ elsif options['collections']
24
+ collections = options['collections'].split(',')
25
+ results = test_collections(collections)
26
+ else
27
+ results = test_everything
28
+ end
29
+ if results.find_index { |r| r == false }
30
+ puts 'The test exited with errors, see above.'
31
+ exit 1
32
+ else
33
+ puts 'Tests finished!'
34
+ exit 0
35
+ end
36
+ end
37
+
38
+ # Public: tests all documents that are "posts"
39
+ #
40
+ # Loads a schema called _posts.yml and processes all post documents against
41
+ # it.
42
+ def test_posts
43
+ puts 'testing posts'.green
44
+ yepnope = [].push process(load_schema('_posts.yml'))
45
+ puts 'Finished testing'.green
46
+ yepnope
47
+ end
48
+
49
+ # Public: Tests only specific collection documents
50
+ #
51
+ # collections - a comma separated string of collection names.
52
+ #
53
+ # `collections` is split into an array and each document is loaded and
54
+ # processed against its respective schema.
55
+ def test_collections(collections)
56
+ yepnope = []
57
+ for c in collections
58
+ puts "Testing #{c}".green
59
+ yepnope.push process(load_schema("_#{c}.yml"))
60
+ puts "Finished testing #{c}".green
61
+ end
62
+ yepnope
63
+ end
64
+
65
+ # Public: Tests all collections described by a schema file at
66
+ # `deploy/tests/schema`
67
+ def test_everything
68
+ schema = Dir.open(schema_config['path'])
69
+ yepnope = []
70
+ schema.each do |s|
71
+ next unless s.start_with?('_')
72
+ puts "Testing #{s}".green
73
+ yepnope.push process(load_schema(s))
74
+ puts "Finished testing #{s}".green
75
+ end
76
+ yepnope
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,77 @@
1
+ require 'pry'
2
+ require 'yaml'
3
+
4
+ class FrontmatterTests < Jekyll::Command
5
+ class << self
6
+ # Public: checks a hash for expected keys
7
+ #
8
+ # target - the hash under test
9
+ # keys - an array of keys the data is expected to have, usually loaded from
10
+ # a schema file by loadschema()
11
+ # title - A string representing `data`'s name
12
+ def check_keys(target, keys, title)
13
+ keys -= ['config']
14
+ unless target.respond_to?('keys')
15
+ puts "The file #{title} is missing all frontmatter.".red
16
+ return false
17
+ end
18
+ diff = keys - target.keys
19
+ if diff.empty?
20
+ return true
21
+ else
22
+ puts "\nThe file #{title} is missing the following keys:".red
23
+ for k in diff
24
+ puts " * #{k}".red
25
+ end
26
+ return false
27
+ end
28
+ end
29
+
30
+ # Internal: eventually, validate that the *values* match expected types
31
+ #
32
+ # For example, if we expect the `date` key to be in yyyy-mm-dd format, validate
33
+ # that it's been entered in that format. If we expect authors to be an array,
34
+ # make sure we're getting an array.
35
+ def check_types(data, schema, file)
36
+ return false unless data.respond_to?('keys')
37
+ schema.each do |s|
38
+ key = s[0]
39
+ value = s[1]
40
+ type = if value.class == Hash
41
+ value['type']
42
+ else
43
+ value
44
+ end
45
+ next unless required?(key, schema)
46
+ if key == 'config'
47
+ next
48
+ elsif value.class == Hash
49
+ if value.keys.include? 'one_of'
50
+ if !one_of?(data[key], value['one_of'])
51
+ puts " * '#{data[key]}' was not in the list " \
52
+ "of expected values in #{file}.".red
53
+ puts " expected one of the following: #{s[1]['one_of']}\n".red
54
+ return false
55
+ else
56
+ next
57
+ end
58
+ else
59
+ next
60
+ end
61
+ elsif type == 'Array' && data[key].class == Array
62
+ next
63
+ elsif type == 'Boolean' && data[key].is_a?(Boolean)
64
+ next
65
+ elsif type == 'String' && data[key].class == String
66
+ next
67
+ elsif type == 'Date'
68
+ next
69
+ else
70
+ puts " * '#{key}' is not a valid key in #{file}. " \
71
+ "Expected #{type} but was #{data[key].class}\n\n"
72
+ return false
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_frontmatter_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Greg Boone
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-29 00:00:00.000000000 Z
11
+ date: 2015-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -72,6 +72,90 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: capybara
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.11'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.11'
89
+ - !ruby/object:Gem::Dependency
90
+ name: chromedriver-helper
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rack-jekyll
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.5'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.5'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rb-readline
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: 0.5.3
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: 0.5.3
131
+ - !ruby/object:Gem::Dependency
132
+ name: selenium-webdriver
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '3.0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: rubocop
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 0.47.1
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 0.47.1
75
159
  description: Tests the frontmatter of posts and other collection documents against
76
160
  a schema
77
161
  email:
@@ -80,12 +164,21 @@ executables: []
80
164
  extensions: []
81
165
  extra_rdoc_files: []
82
166
  files:
167
+ - Gemfile
168
+ - jekyll-frontmatter-tests.gemspec
83
169
  - lib/jekyll_frontmatter_tests.rb
170
+ - lib/jekyll_frontmatter_tests/jekyll_frontmatter_tests_config.rb
171
+ - lib/jekyll_frontmatter_tests/jekyll_frontmatter_tests_helper.rb
172
+ - lib/jekyll_frontmatter_tests/jekyll_frontmatter_tests_initializer.rb
173
+ - lib/jekyll_frontmatter_tests/jekyll_frontmatter_tests_loader.rb
174
+ - lib/jekyll_frontmatter_tests/jekyll_frontmatter_tests_processor.rb
175
+ - lib/jekyll_frontmatter_tests/jekyll_frontmatter_tests_tester.rb
176
+ - lib/jekyll_frontmatter_tests/jekyll_frontmatter_tests_validator.rb
84
177
  homepage: https://rubygems.org/gems/jekyll_frontmatter_tests
85
178
  licenses:
86
179
  - CC0
87
180
  metadata: {}
88
- post_install_message:
181
+ post_install_message: Happy testing!
89
182
  rdoc_options: []
90
183
  require_paths:
91
184
  - lib
@@ -101,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
194
  version: '0'
102
195
  requirements: []
103
196
  rubyforge_project:
104
- rubygems_version: 2.4.5.1
197
+ rubygems_version: 2.6.8
105
198
  signing_key:
106
199
  specification_version: 4
107
200
  summary: Tests jekyll documents for proper frontmatter