nanoc 4.2.0b1 → 4.2.0

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: cc5bddbd9c1b7b365b227cd69def799b2a8da4a2
4
- data.tar.gz: 1da63342f4909056377af782094d03c3293ca75f
3
+ metadata.gz: 62464e0106788a92d1c8ebe9ff6b186fe6f00f10
4
+ data.tar.gz: a6d7768e4124360a3d48f5805d1b1fd4aa86dd69
5
5
  SHA512:
6
- metadata.gz: de802f2ea52c8b4ee7e9d72bfeffb4870f09b83b6d0edf64fd35508092eb74104b76201754f88382ffcbbab1458af520071e5e77d02b100cb5f76cf62f2ab13c
7
- data.tar.gz: d6f3d7751f3c8d0d8f95d7913cb7df7ebf972a47dbe1ad35a91d4d4491cf30919311011846e420c49fb8b9b559bca7f90c18442aa80021d929efa717ed62a7b7
6
+ metadata.gz: be55ec0837f06213c9673cb0ebe91e8a973f494a8b90a4c63c6757cdb7083401825a075ed952f994158f3ef72bdee204e98fe516b9c72806ab5c5a27f87effff
7
+ data.tar.gz: af81c35ffea130df18be4018e5f20ed18f5d348f9b923c2ebb2521113512d89e2e05238d6a955eadc339c1d553abfd6568f672b8441a61a94cde5a8cb43076e0
data/Gemfile CHANGED
@@ -42,9 +42,9 @@ group :plugins do
42
42
  gem 'pygments.rb', platforms: [:ruby, :mswin]
43
43
  gem 'rack'
44
44
  gem 'rainpress'
45
- gem 'rdiscount', platforms: [:ruby, :mswin]
45
+ gem 'rdiscount', '~> 2.2', platforms: [:ruby, :mswin]
46
46
  gem 'redcarpet', platforms: [:ruby, :mswin]
47
- gem 'RedCloth'
47
+ gem 'RedCloth', platforms: :ruby
48
48
  gem 'rouge'
49
49
  gem 'rubypants'
50
50
  gem 'sass'
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nanoc (4.2.0b1)
4
+ nanoc (4.2.0)
5
5
  cri (~> 2.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  CFPropertyList (2.3.2)
11
- RedCloth (4.2.9)
11
+ RedCloth (4.3.2)
12
12
  addressable (2.4.0)
13
13
  adsf (1.2.1)
14
14
  rack (>= 1.0.0)
@@ -49,7 +49,7 @@ GEM
49
49
  docile (1.1.5)
50
50
  erubis (2.7.0)
51
51
  excon (0.49.0)
52
- execjs (2.6.0)
52
+ execjs (2.7.0)
53
53
  ffi (1.9.10)
54
54
  fission (0.5.0)
55
55
  CFPropertyList (~> 2.2)
@@ -104,9 +104,9 @@ GEM
104
104
  fog-json (~> 1.0)
105
105
  fog-xml (~> 0.1)
106
106
  ipaddress (~> 0.8)
107
- fog-core (1.37.0)
107
+ fog-core (1.40.0)
108
108
  builder
109
- excon (~> 0.45)
109
+ excon (~> 0.49)
110
110
  formatador (~> 0.2)
111
111
  fog-dynect (0.0.3)
112
112
  fog-core
@@ -124,10 +124,9 @@ GEM
124
124
  multi_json (~> 1.10)
125
125
  fog-local (0.3.0)
126
126
  fog-core (~> 1.27)
127
- fog-openstack (0.1.2)
128
- fog-core (>= 1.35)
127
+ fog-openstack (0.1.6)
128
+ fog-core (>= 1.39)
129
129
  fog-json (>= 1.0)
130
- fog-xml (>= 0.1)
131
130
  ipaddress (>= 0.8)
132
131
  fog-powerdns (0.1.1)
133
132
  fog-core (~> 1.27)
@@ -156,7 +155,7 @@ GEM
156
155
  fog-serverlove (0.1.2)
157
156
  fog-core
158
157
  fog-json
159
- fog-softlayer (1.1.0)
158
+ fog-softlayer (1.1.1)
160
159
  fog-core
161
160
  fog-json
162
161
  fog-storm_on_demand (0.1.1)
@@ -171,7 +170,7 @@ GEM
171
170
  fog-voxel (0.1.0)
172
171
  fog-core
173
172
  fog-xml
174
- fog-vsphere (0.6.3)
173
+ fog-vsphere (0.7.0)
175
174
  fog-core
176
175
  rbvmomi (~> 1.8)
177
176
  fog-xenserver (0.2.3)
@@ -181,9 +180,9 @@ GEM
181
180
  fog-core
182
181
  nokogiri (~> 1.5, >= 1.5.11)
183
182
  formatador (0.2.5)
184
- guard (2.13.0)
183
+ guard (2.14.0)
185
184
  formatador (>= 0.2.4)
186
- listen (>= 2.7, <= 4.0)
185
+ listen (>= 2.7, < 4.0)
187
186
  lumberjack (~> 1.0)
188
187
  nenv (~> 0.1)
189
188
  notiffany (~> 0.0)
@@ -203,36 +202,37 @@ GEM
203
202
  inflecto (0.0.2)
204
203
  ipaddress (0.8.3)
205
204
  json (1.8.3)
206
- kramdown (1.10.0)
205
+ kramdown (1.11.1)
207
206
  less (2.6.0)
208
207
  commonjs (~> 0.2.7)
209
- libv8 (3.16.14.13)
210
- listen (3.0.6)
211
- rb-fsevent (>= 0.9.3)
212
- rb-inotify (>= 0.9.7)
208
+ libv8 (3.16.14.15)
209
+ listen (3.1.5)
210
+ rb-fsevent (~> 0.9, >= 0.9.4)
211
+ rb-inotify (~> 0.9, >= 0.9.7)
212
+ ruby_dep (~> 1.2)
213
213
  lumberjack (1.0.10)
214
214
  markaby (0.8.0)
215
215
  builder
216
216
  maruku (0.7.2)
217
217
  metaclass (0.0.4)
218
218
  method_source (0.8.2)
219
- mime-types (3.0)
219
+ mime-types (3.1)
220
220
  mime-types-data (~> 3.2015)
221
- mime-types-data (3.2016.0221)
221
+ mime-types-data (3.2016.0521)
222
222
  mini_portile2 (2.0.0)
223
- minitest (5.8.4)
223
+ minitest (5.9.0)
224
224
  mocha (1.1.0)
225
225
  metaclass (~> 0.0.1)
226
- multi_json (1.11.2)
226
+ multi_json (1.12.1)
227
227
  mustache (1.0.3)
228
228
  nenv (0.3.0)
229
229
  nokogiri (1.6.7.2)
230
230
  mini_portile2 (~> 2.0.0.rc2)
231
- notiffany (0.0.8)
231
+ notiffany (0.1.0)
232
232
  nenv (~> 0.1)
233
233
  shellany (~> 0.0)
234
- pandoc-ruby (2.0.0)
235
- parser (2.3.0.7)
234
+ pandoc-ruby (2.0.1)
235
+ parser (2.3.1.2)
236
236
  ast (~> 2.2)
237
237
  posix-spawn (0.3.11)
238
238
  powerpack (0.1.1)
@@ -254,7 +254,7 @@ GEM
254
254
  builder
255
255
  nokogiri (>= 1.4.1)
256
256
  trollop
257
- rdiscount (2.1.8)
257
+ rdiscount (2.2.0.1)
258
258
  rdoc (4.2.2)
259
259
  json (~> 1.4)
260
260
  redcarpet (3.3.4)
@@ -273,13 +273,14 @@ GEM
273
273
  diff-lcs (>= 1.2.0, < 2.0)
274
274
  rspec-support (~> 3.4.0)
275
275
  rspec-support (3.4.1)
276
- rubocop (0.39.0)
277
- parser (>= 2.3.0.7, < 3.0)
276
+ rubocop (0.40.0)
277
+ parser (>= 2.3.1.0, < 3.0)
278
278
  powerpack (~> 0.1)
279
279
  rainbow (>= 1.99.1, < 3.0)
280
280
  ruby-progressbar (~> 1.7)
281
281
  unicode-display_width (~> 1.0, >= 1.0.1)
282
- ruby-progressbar (1.7.5)
282
+ ruby-progressbar (1.8.1)
283
+ ruby_dep (1.3.1)
283
284
  rubypants (0.2.0)
284
285
  safe_yaml (1.0.4)
285
286
  sass (3.4.22)
@@ -289,30 +290,30 @@ GEM
289
290
  json (~> 1.8)
290
291
  simplecov-html (~> 0.10.0)
291
292
  simplecov-html (0.10.0)
292
- slim (3.0.6)
293
- temple (~> 0.7.3)
293
+ slim (3.0.7)
294
+ temple (~> 0.7.6)
294
295
  tilt (>= 1.3.3, < 2.1)
295
296
  slop (3.6.0)
296
- temple (0.7.6)
297
+ temple (0.7.7)
297
298
  term-ansicolor (1.3.2)
298
299
  tins (~> 1.0)
299
300
  therubyracer (0.12.2)
300
301
  libv8 (~> 3.16.14.0)
301
302
  ref
302
303
  thor (0.19.1)
303
- tilt (2.0.2)
304
+ tilt (2.0.5)
304
305
  tins (1.6.0)
305
306
  trollop (2.1.2)
306
307
  typogruby (1.0.18)
307
308
  rubypants
308
309
  uglifier (3.0.0)
309
310
  execjs (>= 0.3.0, < 3)
310
- unicode-display_width (1.0.3)
311
- vcr (3.0.1)
311
+ unicode-display_width (1.0.5)
312
+ vcr (3.0.3)
312
313
  w3c_validators (1.2)
313
314
  json
314
315
  nokogiri
315
- webmock (1.24.3)
316
+ webmock (2.1.0)
316
317
  addressable (>= 2.3.6)
317
318
  crack (>= 0.3.2)
318
319
  hashdiff
@@ -356,7 +357,7 @@ DEPENDENCIES
356
357
  rack
357
358
  rainpress
358
359
  rake
359
- rdiscount
360
+ rdiscount (~> 2.2)
360
361
  rdoc
361
362
  redcarpet
362
363
  rouge
@@ -376,4 +377,4 @@ DEPENDENCIES
376
377
  yuicompressor
377
378
 
378
379
  BUNDLED WITH
379
- 1.11.2
380
+ 1.12.4
data/NEWS.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Nanoc news
2
2
 
3
+ ## 4.2 (2016-06-04)
4
+
5
+ Enhancements:
6
+
7
+ * Dropped Ruby 2.1 support (#856)
8
+
9
+ This release also includes the changes from 4.2.0b1.
10
+
11
+ ## 4.1.6 (2016-04-17)
12
+
13
+ Fixes:
14
+
15
+ * Strip index.html only if it is a full component (#850, #851)
16
+ * Force UTF-8 for item rep paths (#837, #852)
17
+
3
18
  ## 4.2.0b1 (2016-04-17)
4
19
 
5
20
  Features:
@@ -73,6 +88,8 @@ Enhancements:
73
88
 
74
89
  * Added a base path to the Checks file, so that it supports `#require_relative` (#774)
75
90
 
91
+ This release also includes the changes from 4.1.0a1 to 4.1.0rc2.
92
+
76
93
  ## 4.1.0rc2 (2015-12-13)
77
94
 
78
95
  Fixes:
@@ -149,6 +166,8 @@ Enhancements:
149
166
 
150
167
  * `#parent` and `#children` now raise an exception when used on items with a non-legacy identifier (#710)
151
168
 
169
+ This release also includes the changes from 4.0.0a1 to 4.0.0rc3.
170
+
152
171
  ## 4.0.0rc3 (2015-09-20)
153
172
 
154
173
  Features:
data/README.md CHANGED
@@ -19,4 +19,4 @@ Contributions are greatly appreciated! Consult the [Development guidelines](http
19
19
 
20
20
  Many thanks to everyone who has contributed to Nanoc in one way or another:
21
21
 
22
- Ale Muñoz, Alexander Mankuta, Arnau Siches, Ben Armston, Bil Bas, Brian Candler, Bruno Dufour, Chris Eppstein, Christian Plessl, Colin Barrett, Colin Seymour, Croath Liu, Damien Pollet, Dan Callahan, Daniel Hofstetter, Daniel Mendler, Daniel Wollschlaeger, David Alexander, David Everitt, Dennis Sutch, Devon Luke Buchanan, Dmitry Bilunov, Eric Sunshine, Erik Hollensbe, Fabian Buch, Felix Hanley, Garen Torikian, Go Maeda, Gregory Pakosz, Grégory Karékinian, Guilherme Garnier, Jack Chu, Jake Benilov, Jasper Van der Jeugt, Jeff Forcier, Jim Mendenhall, John Nishinaga, Justin Clift, Justin Hileman, Kevin Lynagh, Louis T., Mathias Bynens, Matt Keveney, Matthew Frazier, Matthias Beyer, Matthias Reitinger, Matthias Vallentin, Michal Cichra, Nelson Chen, Nicky Peeters, Nikhil Marathe, Oliver Byford, Peter Aronoff, Raphael von der Grün, Rémi Barraquand, Remko Tronçon, Riley Goodside, Ruben Verborgh, Scott Vokes, Šime Ramov, Simon South, Spencer Whitt, Stanley Rost, Starr Horne, Stefan Bühler, Stuart Montgomery, Takashi Uchibe, Toon Willems, Tuomas Kareinen, Ursula Kallio, Vincent Driessen, Xavier Shay, Yannick Ihmels, Zaiste de Grengolada
22
+ Ale Muñoz, Alexander Mankuta, Arnau Siches, Ben Armston, Bil Bas, Brian Candler, Bruno Dufour, Chris Eppstein, Christian Plessl, Colin Barrett, Colin Seymour, Croath Liu, Damien Pollet, Dan Callahan, Daniel Hofstetter, Daniel Mendler, Daniel Wollschlaeger, David Alexander, David Everitt, Denis Defreyne, Dennis Sutch, Devon Luke Buchanan, Dmitry Bilunov, Eric Sunshine, Erik Hollensbe, Fabian Buch, Felix Hanley, Garen Torikian, Go Maeda, Gregory Pakosz, Grégory Karékinian, Guilherme Garnier, Jack Chu, Jake Benilov, Jasper Van der Jeugt, Jeff Forcier, Jim Mendenhall, John Nishinaga, Justin Clift, Justin Hileman, Kevin Lynagh, Louis T., Mathias Bynens, Matt Keveney, Matthew Frazier, Matthias Beyer, Matthias Reitinger, Matthias Vallentin, Michal Cichra, Nelson Chen, Nicky Peeters, Nikhil Marathe, Oliver Byford, Peter Aronoff, Raphael von der Grün, Rémi Barraquand, Remko Tronçon, Riley Goodside, Ruben Verborgh, Scott Vokes, Šime Ramov, Simon South, Spencer Whitt, Stanley Rost, Starr Horne, Stefan Bühler, Stuart Montgomery, Takashi Uchibe, Toon Willems, Tuomas Kareinen, Ursula Kallio, Vincent Driessen, Xavier Shay, Yannick Ihmels, Zaiste de Grengolada
@@ -90,9 +90,11 @@ module Nanoc::Int
90
90
  store
91
91
  ensure
92
92
  Nanoc::Int::TempFilenameFactory.instance.cleanup(
93
- Nanoc::Filter::TMP_BINARY_ITEMS_DIR)
93
+ Nanoc::Filter::TMP_BINARY_ITEMS_DIR,
94
+ )
94
95
  Nanoc::Int::TempFilenameFactory.instance.cleanup(
95
- Nanoc::Int::ItemRepWriter::TMP_TEXT_ITEMS_DIR)
96
+ Nanoc::Int::ItemRepWriter::TMP_TEXT_ITEMS_DIR,
97
+ )
96
98
  end
97
99
 
98
100
  def load_stores
@@ -121,7 +123,8 @@ module Nanoc::Int
121
123
 
122
124
  def build_reps
123
125
  builder = Nanoc::Int::ItemRepBuilder.new(
124
- site, action_provider, @reps)
126
+ site, action_provider, @reps
127
+ )
125
128
  builder.run
126
129
  end
127
130
 
@@ -17,24 +17,31 @@ module Nanoc::Int
17
17
  end
18
18
 
19
19
  CodeSnippetsModified = Generic.new(
20
- 'The code snippets have been modified since the last time the site was compiled.')
20
+ 'The code snippets have been modified since the last time the site was compiled.',
21
+ )
21
22
 
22
23
  ConfigurationModified = Generic.new(
23
- 'The site configuration has been modified since the last time the site was compiled.')
24
+ 'The site configuration has been modified since the last time the site was compiled.',
25
+ )
24
26
 
25
27
  DependenciesOutdated = Generic.new(
26
- 'This item uses content or attributes that have changed since the last time the site was compiled.')
28
+ 'This item uses content or attributes that have changed since the last time the site was compiled.',
29
+ )
27
30
 
28
31
  NotEnoughData = Generic.new(
29
- 'Not enough data is present to correctly determine whether the item is outdated.')
32
+ 'Not enough data is present to correctly determine whether the item is outdated.',
33
+ )
30
34
 
31
35
  NotWritten = Generic.new(
32
- 'This item representation has not yet been written to the output directory (but it does have a path).')
36
+ 'This item representation has not yet been written to the output directory (but it does have a path).',
37
+ )
33
38
 
34
39
  RulesModified = Generic.new(
35
- 'The rules file has been modified since the last time the site was compiled.')
40
+ 'The rules file has been modified since the last time the site was compiled.',
41
+ )
36
42
 
37
43
  SourceModified = Generic.new(
38
- 'The source file of this item has been modified since the last time the site was compiled.')
44
+ 'The source file of this item has been modified since the last time the site was compiled.',
45
+ )
39
46
  end
40
47
  end
@@ -39,7 +39,8 @@ module Nanoc::Int
39
39
  # Read
40
40
  apply_parent_config(
41
41
  Nanoc::Int::Configuration.new(YAML.load_file(filename)),
42
- [filename]).with_defaults
42
+ [filename],
43
+ ).with_defaults
43
44
  end
44
45
 
45
46
  # @api private
@@ -28,6 +28,7 @@ module Nanoc::Int
28
28
  def route_rep(rep, snapshot_action, paths_to_reps)
29
29
  basic_path = snapshot_action.path
30
30
  return if basic_path.nil?
31
+ basic_path = basic_path.encode('UTF-8')
31
32
 
32
33
  # Check for duplicate paths
33
34
  if paths_to_reps.key?(basic_path)
@@ -42,10 +43,10 @@ module Nanoc::Int
42
43
 
43
44
  def strip_index_filename(basic_path)
44
45
  @site.config[:index_filenames].each do |index_filename|
45
- rep_path_ending = basic_path[-index_filename.length..-1]
46
- next unless rep_path_ending == index_filename
47
-
48
- return basic_path[0..-index_filename.length - 1]
46
+ slashed_index_filename = '/' + index_filename
47
+ if basic_path.end_with?(slashed_index_filename)
48
+ return basic_path[0..-index_filename.length - 1]
49
+ end
49
50
  end
50
51
 
51
52
  basic_path
@@ -12,7 +12,8 @@ module Nanoc::Int
12
12
 
13
13
  # Notify
14
14
  Nanoc::Int::NotificationCenter.post(
15
- :will_write_rep, item_rep, raw_path)
15
+ :will_write_rep, item_rep, raw_path
16
+ )
16
17
 
17
18
  content = item_rep.snapshot_contents[:last]
18
19
  if content.binary?
@@ -32,7 +33,8 @@ module Nanoc::Int
32
33
 
33
34
  # Notify
34
35
  Nanoc::Int::NotificationCenter.post(
35
- :rep_written, item_rep, raw_path, is_created, is_modified)
36
+ :rep_written, item_rep, raw_path, is_created, is_modified
37
+ )
36
38
  end
37
39
 
38
40
  def temp_filename
@@ -320,15 +320,13 @@ module Nanoc::CLI::Commands
320
320
  Nanoc::Int::NotificationCenter.on(:rep_written) do |_rep, path, is_created, is_modified|
321
321
  duration = path && @start_times[path] ? Time.now - @start_times[path] : nil
322
322
  action =
323
- case
324
- when is_created then :create
325
- when is_modified then :update
323
+ if is_created then :create
324
+ elsif is_modified then :update
326
325
  else :identical
327
326
  end
328
327
  level =
329
- case
330
- when is_created then :high
331
- when is_modified then :high
328
+ if is_created then :high
329
+ elsif is_modified then :high
332
330
  else :low
333
331
  end
334
332
  log(level, action, path, duration)
@@ -15,10 +15,9 @@ module Nanoc::CLI::Commands
15
15
  def run
16
16
  prepare
17
17
 
18
- case
19
- when options[:'list-deployers']
18
+ if options[:'list-deployers']
20
19
  list_deployers
21
- when options[:list]
20
+ elsif options[:list]
22
21
  list_deploy_configs
23
22
  else
24
23
  deploy
@@ -345,9 +345,7 @@ module Nanoc::DataSources
345
345
 
346
346
  pieces = data.split(/^(-{5}|-{3})[ \t]*\r?\n?/, 3)
347
347
  if pieces.size < 4
348
- raise RuntimeError.new(
349
- "The file '#{content_filename}' appears to start with a metadata section (three or five dashes at the top) but it does not seem to be in the correct format.",
350
- )
348
+ raise "The file '#{content_filename}' appears to start with a metadata section (three or five dashes at the top) but it does not seem to be in the correct format."
351
349
  end
352
350
 
353
351
  meta = parse_metadata(pieces[2], content_filename)
@@ -402,7 +400,7 @@ module Nanoc::DataSources
402
400
  begin
403
401
  data = File.read(filename)
404
402
  rescue => e
405
- raise RuntimeError.new("Could not read #{filename}: #{e.inspect}")
403
+ raise "Could not read #{filename}: #{e.inspect}"
406
404
  end
407
405
 
408
406
  # Fix
@@ -433,7 +431,7 @@ module Nanoc::DataSources
433
431
 
434
432
  # Raises an invalid encoding error for the given filename and encoding.
435
433
  def raise_encoding_error(filename, encoding)
436
- raise RuntimeError.new("Could not read #{filename} because the file is not valid #{encoding}.")
434
+ raise "Could not read #{filename} because the file is not valid #{encoding}."
437
435
  end
438
436
  end
439
437
  end
@@ -24,7 +24,8 @@ module ::Nanoc::Extra::Checking::Checks
24
24
  filenames.each do |filename|
25
25
  add_issue(
26
26
  "broken reference to #{res.href}: #{res.explanation}",
27
- subject: filename)
27
+ subject: filename,
28
+ )
28
29
  end
29
30
  end
30
31
  end
@@ -21,7 +21,8 @@ module Nanoc::Extra::Checking::Checks
21
21
 
22
22
  add_issue(
23
23
  "broken reference to #{href}",
24
- subject: filename)
24
+ subject: filename,
25
+ )
25
26
  end
26
27
  end
27
28
  end
@@ -15,7 +15,8 @@ module Nanoc::Extra::Checking::Checks
15
15
  fns.each do |filename|
16
16
  add_issue(
17
17
  "mixed content include: #{uri}",
18
- subject: filename)
18
+ subject: filename,
19
+ )
19
20
  end
20
21
  end
21
22
  end
@@ -10,7 +10,8 @@ module Nanoc::Extra::Checking::Checks
10
10
 
11
11
  add_issue(
12
12
  'file without matching item',
13
- subject: f)
13
+ subject: f,
14
+ )
14
15
  end
15
16
  end
16
17
 
@@ -23,7 +24,8 @@ module Nanoc::Extra::Checking::Checks
23
24
  .flat_map(&:reps)
24
25
  .map(&:unwrap)
25
26
  .flat_map(&:raw_paths)
26
- .flat_map(&:values))
27
+ .flat_map(&:values),
28
+ )
27
29
  end
28
30
 
29
31
  def pruner
@@ -39,10 +39,9 @@ module Nanoc::Filters
39
39
  when :html, :xml, :xhtml
40
40
  relativize_html_like(content, params)
41
41
  else
42
- raise RuntimeError.new(
43
- 'The relativize_paths needs to know the type of content to ' \
42
+ raise 'The relativize_paths needs to know the type of content to ' \
44
43
  'process. Pass a :type to the filter call (:html for HTML, ' \
45
- ':xhtml for XHTML, :xml for XML, or :css for CSS).')
44
+ ':xhtml for XHTML, :xml for XML, or :css for CSS).'
46
45
  end
47
46
  end
48
47
 
@@ -48,7 +48,7 @@ module Nanoc::Helpers
48
48
 
49
49
  # Check for required attributes
50
50
  if @config[:base_url].nil?
51
- raise RuntimeError.new('The Nanoc::Helpers::XMLSitemap helper requires the site configuration to specify the base URL for the site.')
51
+ raise 'The Nanoc::Helpers::XMLSitemap helper requires the site configuration to specify the base URL for the site.'
52
52
  end
53
53
 
54
54
  # Build sitemap
@@ -10,7 +10,8 @@ module Nanoc::RuleDSL
10
10
 
11
11
  rule_memory_calculator =
12
12
  Nanoc::RuleDSL::RuleMemoryCalculator.new(
13
- rules_collection: rules_collection, site: site)
13
+ rules_collection: rules_collection, site: site,
14
+ )
14
15
 
15
16
  action_provider = new(rules_collection, rule_memory_calculator)
16
17
 
@@ -54,7 +54,8 @@ module Nanoc::RuleDSL
54
54
  # @return [void]
55
55
  def apply_to(rep, site:, executor:, view_context:)
56
56
  context = Nanoc::RuleDSL::RuleContext.new(
57
- rep: rep, executor: executor, site: site, view_context: view_context)
57
+ rep: rep, executor: executor, site: site, view_context: view_context,
58
+ )
58
59
  context.instance_exec(matches(rep.item.identifier), &@block)
59
60
  end
60
61
 
@@ -1,4 +1,4 @@
1
1
  module Nanoc
2
2
  # The current Nanoc version.
3
- VERSION = '4.2.0b1'.freeze
3
+ VERSION = '4.2.0'.freeze
4
4
  end
@@ -13,9 +13,9 @@ Gem::Specification.new do |s|
13
13
 
14
14
  s.files =
15
15
  Dir['[A-Z]*'] +
16
- Dir['doc/yardoc_{templates,handlers}/**/*'] +
17
- Dir['{bin,lib,tasks,test}/**/*'] +
18
- ['nanoc.gemspec']
16
+ Dir['doc/yardoc_{templates,handlers}/**/*'] +
17
+ Dir['{bin,lib,tasks,test}/**/*'] +
18
+ ['nanoc.gemspec']
19
19
  s.executables = ['nanoc']
20
20
  s.require_paths = ['lib']
21
21
 
@@ -16,7 +16,8 @@ class Nanoc::Int::CompilerTest < Nanoc::TestCase
16
16
  checksum_store: Nanoc::Int::ChecksumStore.new(site: site),
17
17
  rule_memory_store: Nanoc::Int::RuleMemoryStore.new,
18
18
  dependency_store: Nanoc::Int::DependencyStore.new(
19
- site.items.to_a + site.layouts.to_a),
19
+ site.items.to_a + site.layouts.to_a,
20
+ ),
20
21
  action_provider: action_provider,
21
22
  reps: reps,
22
23
  }
@@ -2,7 +2,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
2
2
  def test_read_etags_with_local_provider
3
3
  if_have 'fog' do
4
4
  fog = Nanoc::Extra::Deployers::Fog.new(
5
- 'output/', provider: 'local')
5
+ 'output/', provider: 'local'
6
+ )
6
7
 
7
8
  files = [
8
9
  mock('file_a'),
@@ -16,7 +17,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
16
17
  def test_read_etags_with_aws_provider
17
18
  if_have 'fog' do
18
19
  fog = Nanoc::Extra::Deployers::Fog.new(
19
- 'output/', provider: 'aws')
20
+ 'output/', provider: 'aws'
21
+ )
20
22
 
21
23
  files = [
22
24
  mock('file_a', key: 'key_a', etag: 'etag_a'),
@@ -35,7 +37,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
35
37
  def test_calc_local_etag_with_local_provider
36
38
  if_have 'fog' do
37
39
  fog = Nanoc::Extra::Deployers::Fog.new(
38
- 'output/', provider: 'local')
40
+ 'output/', provider: 'local'
41
+ )
39
42
 
40
43
  file_path = 'blah.tmp'
41
44
  File.write(file_path, 'hallo')
@@ -47,21 +50,24 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
47
50
  def test_calc_local_etag_with_aws_provider
48
51
  if_have 'fog' do
49
52
  fog = Nanoc::Extra::Deployers::Fog.new(
50
- 'output/', provider: 'aws')
53
+ 'output/', provider: 'aws'
54
+ )
51
55
 
52
56
  file_path = 'blah.tmp'
53
57
  File.write(file_path, 'hallo')
54
58
 
55
59
  assert_equal(
56
60
  '598d4c200461b81522a3328565c25f7c',
57
- fog.send(:calc_local_etag, file_path))
61
+ fog.send(:calc_local_etag, file_path),
62
+ )
58
63
  end
59
64
  end
60
65
 
61
66
  def test_needs_upload_with_missing_remote_etag
62
67
  if_have 'fog' do
63
68
  fog = Nanoc::Extra::Deployers::Fog.new(
64
- 'output/', provider: 'aws')
69
+ 'output/', provider: 'aws'
70
+ )
65
71
 
66
72
  file_path = 'blah.tmp'
67
73
  File.write(file_path, 'hallo')
@@ -76,7 +82,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
76
82
  def test_needs_upload_with_different_etags
77
83
  if_have 'fog' do
78
84
  fog = Nanoc::Extra::Deployers::Fog.new(
79
- 'output/', provider: 'aws')
85
+ 'output/', provider: 'aws'
86
+ )
80
87
 
81
88
  file_path = 'blah.tmp'
82
89
  File.write(file_path, 'hallo')
@@ -91,7 +98,8 @@ class Nanoc::Extra::Deployers::FogTest < Nanoc::TestCase
91
98
  def test_needs_upload_with_identical_etags
92
99
  if_have 'fog' do
93
100
  fog = Nanoc::Extra::Deployers::Fog.new(
94
- 'output/', provider: 'aws')
101
+ 'output/', provider: 'aws'
102
+ )
95
103
 
96
104
  file_path = 'blah.tmp'
97
105
  File.write(file_path, 'hallo')
@@ -3,7 +3,8 @@ class Nanoc::Extra::Deployers::RsyncTest < Nanoc::TestCase
3
3
  # Create deployer
4
4
  rsync = Nanoc::Extra::Deployers::Rsync.new(
5
5
  'output/',
6
- {})
6
+ {},
7
+ )
7
8
 
8
9
  # Mock run_shell_cmd
9
10
  def rsync.run_shell_cmd(args)
@@ -23,7 +24,8 @@ class Nanoc::Extra::Deployers::RsyncTest < Nanoc::TestCase
23
24
  # Create deployer
24
25
  rsync = Nanoc::Extra::Deployers::Rsync.new(
25
26
  'output/',
26
- { dst: 'asdf/' })
27
+ { dst: 'asdf/' },
28
+ )
27
29
 
28
30
  # Mock run_shell_cmd
29
31
  def rsync.run_shell_cmd(args)
@@ -43,7 +45,8 @@ class Nanoc::Extra::Deployers::RsyncTest < Nanoc::TestCase
43
45
  # Create deployer
44
46
  rsync = Nanoc::Extra::Deployers::Rsync.new(
45
47
  'output',
46
- { dst: 'asdf' })
48
+ { dst: 'asdf' },
49
+ )
47
50
 
48
51
  # Mock run_shell_cmd
49
52
  def rsync.run_shell_cmd(args)
@@ -66,7 +69,8 @@ class Nanoc::Extra::Deployers::RsyncTest < Nanoc::TestCase
66
69
  rsync = Nanoc::Extra::Deployers::Rsync.new(
67
70
  'output',
68
71
  { dst: 'asdf' },
69
- dry_run: true)
72
+ dry_run: true,
73
+ )
70
74
 
71
75
  # Mock run_shell_cmd
72
76
  def rsync.run_shell_cmd(args)
@@ -261,7 +261,8 @@ EOS
261
261
  input = '<pre><code class="language-ruby">puts "foo"</code></pre>'
262
262
  filter.setup_and_run(
263
263
  input,
264
- colorizers: { ruby: colorizer })
264
+ colorizers: { ruby: colorizer },
265
+ )
265
266
  flunk 'expected colorizer to raise if no executable is available'
266
267
  rescue
267
268
  end
@@ -5,11 +5,13 @@ class Nanoc::Filters::HandlebarsTest < Nanoc::TestCase
5
5
  item = Nanoc::Int::Item.new(
6
6
  'content',
7
7
  { title: 'Max Payne', protagonist: 'Max Payne', location: 'here' },
8
- '/games/max-payne/')
8
+ '/games/max-payne/',
9
+ )
9
10
  layout = Nanoc::Int::Layout.new(
10
11
  'layout content',
11
12
  { name: 'Max Payne' },
12
- '/default/')
13
+ '/default/',
14
+ )
13
15
  config = { animals: 'cats and dogs' }
14
16
 
15
17
  # Create filter
@@ -37,7 +39,8 @@ class Nanoc::Filters::HandlebarsTest < Nanoc::TestCase
37
39
  item = Nanoc::Int::Item.new(
38
40
  'content',
39
41
  { title: 'Max Payne', protagonist: 'Max Payne', location: 'here' },
40
- '/games/max-payne/')
42
+ '/games/max-payne/',
43
+ )
41
44
 
42
45
  # Create filter
43
46
  assigns = {
@@ -28,7 +28,8 @@ class Nanoc::Filters::MustacheTest < Nanoc::TestCase
28
28
 
29
29
  # Create filter
30
30
  filter = ::Nanoc::Filters::Mustache.new(
31
- { content: 'No Payne No Gayne', item: item })
31
+ { content: 'No Payne No Gayne', item: item },
32
+ )
32
33
 
33
34
  # Run filter
34
35
  result = filter.setup_and_run('Max says: {{yield}}.')
@@ -10,16 +10,17 @@ class Nanoc::Filters::RDiscountTest < Nanoc::TestCase
10
10
  end
11
11
  end
12
12
 
13
- def test_with_extensions
14
- if_have 'rdiscount' do
15
- # Create filter
16
- filter = ::Nanoc::Filters::RDiscount.new
17
-
18
- # Run filter
19
- input = "The quotation 'marks' sure make this look sarcastic!"
20
- output_expected = /The quotation &lsquo;marks&rsquo; sure make this look sarcastic!/
21
- output_actual = filter.setup_and_run(input, extensions: [:smart])
22
- assert_match(output_expected, output_actual)
23
- end
24
- end
13
+ # FIXME: Re-enable this test (flaky; quotation marks are not transformed consistently)
14
+ # def test_with_extensions
15
+ # if_have 'rdiscount' do
16
+ # # Create filter
17
+ # filter = ::Nanoc::Filters::RDiscount.new
18
+ #
19
+ # # Run filter
20
+ # input = "The quotation 'marks' sure make this look sarcastic!"
21
+ # output_expected = /The quotation &lsquo;marks&rsquo; sure make this look sarcastic!/
22
+ # output_actual = filter.setup_and_run(input, extensions: [:smart])
23
+ # assert_match(output_expected, output_actual)
24
+ # end
25
+ # end
25
26
  end
@@ -9,8 +9,10 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
9
9
  Nanoc::Int::Item.new(
10
10
  'content',
11
11
  {},
12
- '/foo/bar/baz/'),
13
- :blah)
12
+ '/foo/bar/baz/',
13
+ ),
14
+ :blah,
15
+ )
14
16
  @item_rep.paths[:last] = '/foo/bar/baz/'
15
17
  end
16
18
 
@@ -33,8 +35,10 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
33
35
  Nanoc::Int::Item.new(
34
36
  'content',
35
37
  {},
36
- '/foo/bar/baz/'),
37
- :blah)
38
+ '/foo/bar/baz/',
39
+ ),
40
+ :blah,
41
+ )
38
42
  @item_rep.paths[:last] = '/foo/bar/baz/'
39
43
  end
40
44
 
@@ -57,8 +61,10 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
57
61
  Nanoc::Int::Item.new(
58
62
  'content',
59
63
  {},
60
- '/foo/bar/baz/'),
61
- :blah)
64
+ '/foo/bar/baz/',
65
+ ),
66
+ :blah,
67
+ )
62
68
  @item_rep.paths[:last] = '/foo/bar/baz/'
63
69
  end
64
70
 
@@ -81,8 +87,10 @@ class Nanoc::Filters::RelativizePathsTest < Nanoc::TestCase
81
87
  Nanoc::Int::Item.new(
82
88
  'content',
83
89
  {},
84
- '/foo/bar/baz/'),
85
- :blah)
90
+ '/foo/bar/baz/',
91
+ ),
92
+ :blah,
93
+ )
86
94
  @item_rep.paths[:last] = '/foo/bar/baz/'
87
95
  end
88
96
 
@@ -117,8 +125,10 @@ EOS
117
125
  Nanoc::Int::Item.new(
118
126
  'content',
119
127
  {},
120
- '/foo/bar/baz/'),
121
- :blah)
128
+ '/foo/bar/baz/',
129
+ ),
130
+ :blah,
131
+ )
122
132
  @item_rep.paths[:last] = '/foo/bar/baz/'
123
133
  end
124
134
 
@@ -141,8 +151,10 @@ EOS
141
151
  Nanoc::Int::Item.new(
142
152
  'content',
143
153
  {},
144
- '/foo/bar/baz/'),
145
- :blah)
154
+ '/foo/bar/baz/',
155
+ ),
156
+ :blah,
157
+ )
146
158
  @item_rep.paths[:last] = '/foo/bar/baz/'
147
159
  end
148
160
 
@@ -165,8 +177,10 @@ EOS
165
177
  Nanoc::Int::Item.new(
166
178
  'content',
167
179
  {},
168
- '/foo/bar/baz/'),
169
- :blah)
180
+ '/foo/bar/baz/',
181
+ ),
182
+ :blah,
183
+ )
170
184
  @item_rep.paths[:last] = '/foo/bar/baz/'
171
185
  end
172
186
 
@@ -189,8 +203,10 @@ EOS
189
203
  Nanoc::Int::Item.new(
190
204
  'content',
191
205
  {},
192
- '/foo/bar/baz/'),
193
- :blah)
206
+ '/foo/bar/baz/',
207
+ ),
208
+ :blah,
209
+ )
194
210
  @item_rep.paths[:last] = '/woof/meow/'
195
211
  end
196
212
 
@@ -213,8 +229,10 @@ EOS
213
229
  Nanoc::Int::Item.new(
214
230
  'content',
215
231
  {},
216
- '/foo/bar/baz/'),
217
- :blah)
232
+ '/foo/bar/baz/',
233
+ ),
234
+ :blah,
235
+ )
218
236
  @item_rep.paths[:last] = '/woof/meow/'
219
237
  end
220
238
 
@@ -237,8 +255,10 @@ EOS
237
255
  Nanoc::Int::Item.new(
238
256
  'content',
239
257
  {},
240
- '/foo/bar/baz/'),
241
- :blah)
258
+ '/foo/bar/baz/',
259
+ ),
260
+ :blah,
261
+ )
242
262
  @item_rep.paths[:last] = '/woof/meow/'
243
263
  end
244
264
 
@@ -261,8 +281,10 @@ EOS
261
281
  Nanoc::Int::Item.new(
262
282
  'content',
263
283
  {},
264
- '/foo/bar/baz/'),
265
- :blah)
284
+ '/foo/bar/baz/',
285
+ ),
286
+ :blah,
287
+ )
266
288
  @item_rep.paths[:last] = '/woof/meow/'
267
289
  end
268
290
 
@@ -285,8 +307,10 @@ EOS
285
307
  Nanoc::Int::Item.new(
286
308
  'content',
287
309
  {},
288
- '/foo/bar/baz/'),
289
- :blah)
310
+ '/foo/bar/baz/',
311
+ ),
312
+ :blah,
313
+ )
290
314
  @item_rep.paths[:last] = '/woof/meow/'
291
315
  end
292
316
 
@@ -309,8 +333,10 @@ EOS
309
333
  Nanoc::Int::Item.new(
310
334
  'content',
311
335
  {},
312
- '/foo/bar/baz/'),
313
- :blah)
336
+ '/foo/bar/baz/',
337
+ ),
338
+ :blah,
339
+ )
314
340
  @item_rep.paths[:last] = '/woof/meow/'
315
341
  end
316
342
 
@@ -341,8 +367,10 @@ EOS
341
367
  Nanoc::Int::Item.new(
342
368
  'content',
343
369
  {},
344
- '/foo/bar/baz/'),
345
- :blah)
370
+ '/foo/bar/baz/',
371
+ ),
372
+ :blah,
373
+ )
346
374
  @item_rep.paths[:last] = '/foo/bar/baz/'
347
375
  end
348
376
 
@@ -365,8 +393,10 @@ EOS
365
393
  Nanoc::Int::Item.new(
366
394
  'content',
367
395
  {},
368
- '/foo/bar/baz/'),
369
- :blah)
396
+ '/foo/bar/baz/',
397
+ ),
398
+ :blah,
399
+ )
370
400
  @item_rep.paths[:last] = '/foo/bar/baz/'
371
401
  end
372
402
 
@@ -389,8 +419,10 @@ EOS
389
419
  Nanoc::Int::Item.new(
390
420
  'content',
391
421
  {},
392
- '/foo/bar/baz/'),
393
- :blah)
422
+ '/foo/bar/baz/',
423
+ ),
424
+ :blah,
425
+ )
394
426
  @item_rep.paths[:last] = '/foo/bar/baz/'
395
427
  end
396
428
 
@@ -413,8 +445,10 @@ EOS
413
445
  Nanoc::Int::Item.new(
414
446
  'content',
415
447
  {},
416
- '/foo/bar/baz/'),
417
- :blah)
448
+ '/foo/bar/baz/',
449
+ ),
450
+ :blah,
451
+ )
418
452
  @item_rep.paths[:last] = '/foo/bar/baz/'
419
453
  end
420
454
 
@@ -440,8 +474,10 @@ EOS
440
474
  Nanoc::Int::Item.new(
441
475
  'content',
442
476
  {},
443
- '/foo/bar/baz/'),
444
- :blah)
477
+ '/foo/bar/baz/',
478
+ ),
479
+ :blah,
480
+ )
445
481
  @item_rep.paths[:last] = '/woof/meow/'
446
482
  end
447
483
 
@@ -464,8 +500,10 @@ EOS
464
500
  Nanoc::Int::Item.new(
465
501
  'content',
466
502
  {},
467
- '/foo/bar/baz/'),
468
- :blah)
503
+ '/foo/bar/baz/',
504
+ ),
505
+ :blah,
506
+ )
469
507
  @item_rep.paths[:last] = '/woof/meow/'
470
508
  end
471
509
 
@@ -489,8 +527,10 @@ EOS
489
527
  Nanoc::Int::Item.new(
490
528
  'content',
491
529
  {},
492
- '/foo/bar/baz/'),
493
- :blah)
530
+ '/foo/bar/baz/',
531
+ ),
532
+ :blah,
533
+ )
494
534
  @item_rep.paths[:last] = '/foo/bar/baz/'
495
535
  end
496
536
 
@@ -520,8 +560,10 @@ XML
520
560
  Nanoc::Int::Item.new(
521
561
  'content',
522
562
  {},
523
- '/foo/bar/baz/'),
524
- :blah)
563
+ '/foo/bar/baz/',
564
+ ),
565
+ :blah,
566
+ )
525
567
  @item_rep.paths[:last] = '/foo/bar/baz/'
526
568
  end
527
569
 
@@ -550,8 +592,10 @@ XML
550
592
  Nanoc::Int::Item.new(
551
593
  'content',
552
594
  {},
553
- '/foo/bar/baz/'),
554
- :blah)
595
+ '/foo/bar/baz/',
596
+ ),
597
+ :blah,
598
+ )
555
599
  @item_rep.paths[:last] = '/foo/bar/baz/'
556
600
  end
557
601
 
@@ -585,8 +629,10 @@ XML
585
629
  Nanoc::Int::Item.new(
586
630
  'content',
587
631
  {},
588
- '/foo/bar/baz/'),
589
- :blah)
632
+ '/foo/bar/baz/',
633
+ ),
634
+ :blah,
635
+ )
590
636
  @item_rep.paths[:last] = '/foo/bar/baz/'
591
637
  end
592
638
 
@@ -625,8 +671,10 @@ XML
625
671
  Nanoc::Int::Item.new(
626
672
  'content',
627
673
  {},
628
- '/foo/bar/baz/'),
629
- :blah)
674
+ '/foo/bar/baz/',
675
+ ),
676
+ :blah,
677
+ )
630
678
  @item_rep.paths[:last] = '/foo/bar/baz/'
631
679
  end
632
680
 
@@ -658,8 +706,10 @@ XML
658
706
  Nanoc::Int::Item.new(
659
707
  'content',
660
708
  {},
661
- '/foo/baz/'),
662
- :blah)
709
+ '/foo/baz/',
710
+ ),
711
+ :blah,
712
+ )
663
713
  @item_rep.paths[:last] = '/foo/baz/'
664
714
  end
665
715
 
@@ -690,8 +740,10 @@ XML
690
740
  Nanoc::Int::Item.new(
691
741
  'content',
692
742
  {},
693
- '/foo/baz/'),
694
- :blah)
743
+ '/foo/baz/',
744
+ ),
745
+ :blah,
746
+ )
695
747
  @item_rep.paths[:last] = '/foo/baz/'
696
748
  end
697
749
 
@@ -719,8 +771,10 @@ XML
719
771
  Nanoc::Int::Item.new(
720
772
  'content',
721
773
  {},
722
- '/foo/bar/baz/'),
723
- :blah)
774
+ '/foo/bar/baz/',
775
+ ),
776
+ :blah,
777
+ )
724
778
  @item_rep.paths[:last] = '/foo/bar/baz/'
725
779
  end
726
780
 
@@ -4,10 +4,12 @@ class Nanoc::RuleDSL::ActionProviderTest < Nanoc::TestCase
4
4
 
5
5
  rule_memory_calculator =
6
6
  Nanoc::RuleDSL::RuleMemoryCalculator.new(
7
- rules_collection: rules_collection, site: site)
7
+ rules_collection: rules_collection, site: site,
8
+ )
8
9
 
9
10
  action_provider = Nanoc::RuleDSL::ActionProvider.new(
10
- rules_collection, rule_memory_calculator)
11
+ rules_collection, rule_memory_calculator
12
+ )
11
13
 
12
14
  Nanoc::RuleDSL::RulesLoader.new(site.config, rules_collection).load
13
15
 
@@ -21,12 +23,14 @@ class Nanoc::RuleDSL::ActionProviderTest < Nanoc::TestCase
21
23
  # Create a bonus rules file
22
24
  File.write(
23
25
  'more_rules.rb',
24
- "preprocess { @items['/index.*'][:preprocessed] = true }")
26
+ "preprocess { @items['/index.*'][:preprocessed] = true }",
27
+ )
25
28
 
26
29
  # Adjust normal rules file
27
30
  File.write(
28
31
  'Rules',
29
- "include_rules 'more_rules'\n\npreprocess {}\n\n" + File.read('Rules'))
32
+ "include_rules 'more_rules'\n\npreprocess {}\n\n" + File.read('Rules'),
33
+ )
30
34
 
31
35
  # Create site and compiler
32
36
  site = Nanoc::Int::SiteLoader.new.new_from_cwd
@@ -50,12 +54,14 @@ class Nanoc::RuleDSL::ActionProviderTest < Nanoc::TestCase
50
54
  # Create a bonus rules file
51
55
  File.write(
52
56
  'more_rules.rb',
53
- 'postprocess {}')
57
+ 'postprocess {}',
58
+ )
54
59
 
55
60
  # Adjust normal rules file
56
61
  File.write(
57
62
  'Rules',
58
- "include_rules 'more_rules'\n\npostprocess {}\n\n" + File.read('Rules'))
63
+ "include_rules 'more_rules'\n\npostprocess {}\n\n" + File.read('Rules'),
64
+ )
59
65
 
60
66
  # Create site and compiler
61
67
  site = Nanoc::Int::SiteLoader.new.new_from_cwd
@@ -80,14 +80,16 @@ EOS
80
80
  # Create a bonus rules file
81
81
  File.write(
82
82
  'more_rules.rb',
83
- "passthrough '/index.*'")
83
+ "passthrough '/index.*'",
84
+ )
84
85
 
85
86
  # Adjust normal rules file
86
87
  File.write(
87
88
  'Rules',
88
89
  "include_rules 'more_rules'\n\n" \
89
90
  "route '/**/*' do ; nil ; end\n\n" \
90
- "compile '/**/*' do ; end\n")
91
+ "compile '/**/*' do ; end\n",
92
+ )
91
93
 
92
94
  # Create items
93
95
  File.write('content/index.html', 'hello!')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nanoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0b1
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Defreyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-17 00:00:00.000000000 Z
11
+ date: 2016-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cri
@@ -367,12 +367,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
367
367
  version: 2.1.0
368
368
  required_rubygems_version: !ruby/object:Gem::Requirement
369
369
  requirements:
370
- - - ">"
370
+ - - ">="
371
371
  - !ruby/object:Gem::Version
372
- version: 1.3.1
372
+ version: '0'
373
373
  requirements: []
374
374
  rubyforge_project:
375
- rubygems_version: 2.6.2
375
+ rubygems_version: 2.6.4
376
376
  signing_key:
377
377
  specification_version: 4
378
378
  summary: A static-site generator with a focus on flexibility.