nanoc 3.7.3 → 3.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +71 -46
  3. data/NEWS.md +14 -0
  4. data/lib/nanoc.rb +1 -1
  5. data/lib/nanoc/base/checksummer.rb +1 -1
  6. data/lib/nanoc/base/compilation/checksum_store.rb +1 -1
  7. data/lib/nanoc/base/compilation/compiled_content_cache.rb +1 -1
  8. data/lib/nanoc/base/compilation/compiler.rb +11 -10
  9. data/lib/nanoc/base/compilation/compiler_dsl.rb +4 -4
  10. data/lib/nanoc/base/compilation/dependency_tracker.rb +7 -7
  11. data/lib/nanoc/base/compilation/filter.rb +1 -1
  12. data/lib/nanoc/base/compilation/item_rep_proxy.rb +6 -5
  13. data/lib/nanoc/base/compilation/item_rep_recorder_proxy.rb +8 -7
  14. data/lib/nanoc/base/compilation/outdatedness_checker.rb +6 -6
  15. data/lib/nanoc/base/compilation/rule.rb +1 -1
  16. data/lib/nanoc/base/compilation/rule_memory_store.rb +1 -1
  17. data/lib/nanoc/base/compilation/rules_collection.rb +5 -5
  18. data/lib/nanoc/base/context.rb +1 -1
  19. data/lib/nanoc/base/core_ext/array.rb +1 -1
  20. data/lib/nanoc/base/core_ext/date.rb +1 -1
  21. data/lib/nanoc/base/core_ext/hash.rb +1 -1
  22. data/lib/nanoc/base/directed_graph.rb +3 -3
  23. data/lib/nanoc/base/memoization.rb +1 -1
  24. data/lib/nanoc/base/notification_center.rb +1 -1
  25. data/lib/nanoc/base/ordered_hash.rb +1 -1
  26. data/lib/nanoc/base/plugin_registry.rb +3 -3
  27. data/lib/nanoc/base/result_data/item_rep.rb +13 -11
  28. data/lib/nanoc/base/source_data/code_snippet.rb +2 -2
  29. data/lib/nanoc/base/source_data/data_source.rb +3 -3
  30. data/lib/nanoc/base/source_data/item.rb +8 -8
  31. data/lib/nanoc/base/source_data/item_array.rb +1 -1
  32. data/lib/nanoc/base/source_data/layout.rb +1 -1
  33. data/lib/nanoc/base/source_data/site.rb +27 -18
  34. data/lib/nanoc/base/store.rb +3 -3
  35. data/lib/nanoc/base/temp_filename_factory.rb +2 -2
  36. data/lib/nanoc/cli.rb +6 -6
  37. data/lib/nanoc/cli/cleaning_stream.rb +1 -1
  38. data/lib/nanoc/cli/command_runner.rb +4 -3
  39. data/lib/nanoc/cli/commands/autocompile.rb +3 -3
  40. data/lib/nanoc/cli/commands/check.rb +3 -3
  41. data/lib/nanoc/cli/commands/compile.rb +23 -23
  42. data/lib/nanoc/cli/commands/create-item.rb +5 -5
  43. data/lib/nanoc/cli/commands/create-layout.rb +14 -14
  44. data/lib/nanoc/cli/commands/create-site.rb +6 -6
  45. data/lib/nanoc/cli/commands/deploy.rb +8 -8
  46. data/lib/nanoc/cli/commands/nanoc.rb +3 -3
  47. data/lib/nanoc/cli/commands/prune.rb +3 -3
  48. data/lib/nanoc/cli/commands/shell.rb +4 -4
  49. data/lib/nanoc/cli/commands/show-data.rb +5 -5
  50. data/lib/nanoc/cli/commands/show-plugins.rb +5 -5
  51. data/lib/nanoc/cli/commands/show-rules.rb +4 -4
  52. data/lib/nanoc/cli/commands/sync.rb +1 -1
  53. data/lib/nanoc/cli/commands/update.rb +13 -13
  54. data/lib/nanoc/cli/commands/validate-css.rb +3 -3
  55. data/lib/nanoc/cli/commands/validate-html.rb +3 -3
  56. data/lib/nanoc/cli/commands/validate-links.rb +6 -6
  57. data/lib/nanoc/cli/commands/view.rb +4 -4
  58. data/lib/nanoc/cli/commands/watch.rb +11 -11
  59. data/lib/nanoc/cli/error_handler.rb +10 -10
  60. data/lib/nanoc/cli/logger.rb +1 -1
  61. data/lib/nanoc/cli/stream_cleaners/abstract.rb +1 -1
  62. data/lib/nanoc/data_sources/deprecated/last_fm.rb +5 -5
  63. data/lib/nanoc/data_sources/deprecated/twitter.rb +1 -1
  64. data/lib/nanoc/data_sources/filesystem.rb +16 -16
  65. data/lib/nanoc/data_sources/filesystem_unified.rb +1 -1
  66. data/lib/nanoc/data_sources/filesystem_verbose.rb +1 -1
  67. data/lib/nanoc/data_sources/static.rb +1 -1
  68. data/lib/nanoc/extra/auto_compiler.rb +2 -2
  69. data/lib/nanoc/extra/checking/check.rb +11 -1
  70. data/lib/nanoc/extra/checking/checks/external_links.rb +15 -7
  71. data/lib/nanoc/extra/checking/checks/internal_links.rb +3 -3
  72. data/lib/nanoc/extra/checking/checks/stale.rb +6 -6
  73. data/lib/nanoc/extra/checking/runner.rb +10 -9
  74. data/lib/nanoc/extra/chick.rb +2 -2
  75. data/lib/nanoc/extra/core_ext/enumerable.rb +1 -1
  76. data/lib/nanoc/extra/deployers/fog.rb +2 -2
  77. data/lib/nanoc/extra/deployers/rsync.rb +3 -3
  78. data/lib/nanoc/extra/file_proxy.rb +3 -3
  79. data/lib/nanoc/extra/jruby_nokogiri_warner.rb +1 -1
  80. data/lib/nanoc/extra/link_collector.rb +3 -3
  81. data/lib/nanoc/extra/piper.rb +2 -2
  82. data/lib/nanoc/extra/pruner.rb +4 -3
  83. data/lib/nanoc/extra/validators/links.rb +2 -2
  84. data/lib/nanoc/extra/validators/w3c.rb +1 -1
  85. data/lib/nanoc/extra/vcs.rb +5 -5
  86. data/lib/nanoc/extra/vcses/dummy.rb +1 -1
  87. data/lib/nanoc/filters/asciidoc.rb +1 -1
  88. data/lib/nanoc/filters/bluecloth.rb +1 -1
  89. data/lib/nanoc/filters/coffeescript.rb +1 -1
  90. data/lib/nanoc/filters/colorize_syntax.rb +19 -21
  91. data/lib/nanoc/filters/erubis.rb +1 -1
  92. data/lib/nanoc/filters/handlebars.rb +1 -1
  93. data/lib/nanoc/filters/less.rb +2 -2
  94. data/lib/nanoc/filters/markaby.rb +1 -1
  95. data/lib/nanoc/filters/mustache.rb +1 -1
  96. data/lib/nanoc/filters/rdoc.rb +1 -1
  97. data/lib/nanoc/filters/relativize_paths.rb +5 -5
  98. data/lib/nanoc/filters/rubypants.rb +1 -1
  99. data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +1 -1
  100. data/lib/nanoc/filters/typogruby.rb +1 -1
  101. data/lib/nanoc/filters/xsl.rb +1 -1
  102. data/lib/nanoc/helpers/blogging.rb +12 -12
  103. data/lib/nanoc/helpers/capturing.rb +3 -3
  104. data/lib/nanoc/helpers/html_escape.rb +6 -6
  105. data/lib/nanoc/helpers/tagging.rb +1 -1
  106. data/lib/nanoc/helpers/xml_sitemap.rb +4 -4
  107. data/lib/nanoc/tasks/clean.rake +1 -1
  108. data/lib/nanoc/tasks/clean.rb +1 -1
  109. data/lib/nanoc/tasks/deploy/rsync.rake +2 -2
  110. data/lib/nanoc/version.rb +1 -1
  111. data/tasks/rubocop.rake +1 -0
  112. data/test/base/core_ext/array_spec.rb +7 -7
  113. data/test/base/core_ext/hash_spec.rb +1 -1
  114. data/test/base/test_checksum_store.rb +1 -1
  115. data/test/base/test_compiler.rb +14 -14
  116. data/test/base/test_compiler_dsl.rb +13 -13
  117. data/test/base/test_context.rb +2 -2
  118. data/test/base/test_dependency_tracker.rb +42 -42
  119. data/test/base/test_directed_graph.rb +102 -102
  120. data/test/base/test_item.rb +21 -21
  121. data/test/base/test_item_array.rb +19 -19
  122. data/test/base/test_item_rep.rb +50 -50
  123. data/test/base/test_layout.rb +6 -6
  124. data/test/base/test_outdatedness_checker.rb +2 -2
  125. data/test/base/test_rule_context.rb +2 -2
  126. data/test/base/test_site.rb +5 -5
  127. data/test/cli/commands/test_compile.rb +7 -7
  128. data/test/cli/commands/test_create_site.rb +2 -2
  129. data/test/cli/commands/test_deploy.rb +10 -10
  130. data/test/cli/commands/test_prune.rb +2 -2
  131. data/test/cli/commands/test_sync.rb +1 -1
  132. data/test/cli/commands/test_watch.rb +7 -7
  133. data/test/cli/test_cleaning_stream.rb +4 -4
  134. data/test/cli/test_cli.rb +3 -3
  135. data/test/cli/test_error_handler.rb +3 -3
  136. data/test/data_sources/test_filesystem.rb +19 -19
  137. data/test/data_sources/test_filesystem_unified.rb +30 -30
  138. data/test/data_sources/test_filesystem_verbose.rb +3 -3
  139. data/test/data_sources/test_static.rb +9 -9
  140. data/test/extra/checking/checks/test_stale.rb +8 -8
  141. data/test/extra/checking/test_check.rb +11 -1
  142. data/test/extra/checking/test_dsl.rb +1 -1
  143. data/test/extra/core_ext/test_enumerable.rb +2 -2
  144. data/test/extra/deployers/test_fog.rb +10 -10
  145. data/test/extra/deployers/test_rsync.rb +2 -2
  146. data/test/extra/test_auto_compiler.rb +28 -28
  147. data/test/extra/test_filesystem_tools.rb +3 -3
  148. data/test/extra/test_link_collector.rb +39 -20
  149. data/test/extra/validators/test_w3c.rb +5 -5
  150. data/test/filters/test_asciidoc.rb +2 -2
  151. data/test/filters/test_bluecloth.rb +1 -1
  152. data/test/filters/test_coffeescript.rb +1 -1
  153. data/test/filters/test_colorize_syntax.rb +20 -13
  154. data/test/filters/test_erb.rb +1 -1
  155. data/test/filters/test_kramdown.rb +1 -1
  156. data/test/filters/test_less.rb +10 -10
  157. data/test/filters/test_markaby.rb +2 -2
  158. data/test/filters/test_maruku.rb +2 -2
  159. data/test/filters/test_pandoc.rb +3 -3
  160. data/test/filters/test_rainpress.rb +4 -4
  161. data/test/filters/test_rdiscount.rb +2 -2
  162. data/test/filters/test_rdoc.rb +1 -1
  163. data/test/filters/test_redcarpet.rb +5 -5
  164. data/test/filters/test_redcloth.rb +5 -5
  165. data/test/filters/test_relativize_paths.rb +33 -31
  166. data/test/filters/test_rubypants.rb +2 -2
  167. data/test/filters/test_sass.rb +8 -8
  168. data/test/filters/test_slim.rb +3 -3
  169. data/test/filters/test_uglify_js.rb +1 -1
  170. data/test/filters/test_yui_compressor.rb +3 -3
  171. data/test/gem_loader.rb +1 -1
  172. data/test/helper.rb +14 -16
  173. data/test/helpers/test_blogging.rb +28 -28
  174. data/test/helpers/test_breadcrumbs.rb +12 -12
  175. data/test/helpers/test_capturing.rb +7 -7
  176. data/test/helpers/test_filtering.rb +16 -16
  177. data/test/helpers/test_link_to.rb +3 -3
  178. data/test/helpers/test_rendering.rb +1 -1
  179. data/test/helpers/test_tagging.rb +11 -11
  180. data/test/helpers/test_xml_sitemap.rb +18 -18
  181. data/test/tasks/test_clean.rb +8 -8
  182. metadata +2 -2
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'create-site [options] path'
4
- aliases :create_site, :cs
5
- summary 'create a site'
3
+ usage 'create-site [options] path'
4
+ aliases :create_site, :cs
5
+ summary 'create a site'
6
6
  description "
7
7
  Create a new site at the given path. The site will use the `filesystem_unified` data source by default, but this can be changed using the `--datasource` commandline option.
8
8
  "
@@ -15,7 +15,7 @@ module Nanoc::CLI::Commands
15
15
 
16
16
  class << self
17
17
 
18
- protected
18
+ protected
19
19
 
20
20
  # Converts the given array to YAML format
21
21
  def array_to_yaml(array)
@@ -329,11 +329,11 @@ EOS
329
329
  puts "Created a blank nanoc site at '#{path}'. Enjoy!"
330
330
  end
331
331
 
332
- protected
332
+ protected
333
333
 
334
334
  # Creates a configuration file and a output directory for this site, as
335
335
  # well as a rakefile that loads the standard nanoc tasks.
336
- def site_create_minimal(data_source)
336
+ def site_create_minimal(_data_source)
337
337
  # Create output
338
338
  FileUtils.mkdir_p('output')
339
339
 
@@ -1,15 +1,15 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'deploy [options]'
4
- summary 'deploy the compiled site'
3
+ usage 'deploy [options]'
4
+ summary 'deploy the compiled site'
5
5
  description "
6
6
  Deploys the compiled site. The compiled site contents in the output directory will be uploaded to the destination, which is specified using the `--target` option.
7
7
  "
8
8
 
9
9
  option :t, :target, 'specify the location to deploy to (default: `default`)', :argument => :required
10
- flag :C, :'no-check', 'do not run the issue checks marked for deployment'
11
- flag :L, :list, 'list available locations to deploy to'
12
- flag :D, :'list-deployers', 'list available deployers'
10
+ flag :C, :'no-check', 'do not run the issue checks marked for deployment'
11
+ flag :L, :list, 'list available locations to deploy to'
12
+ flag :D, :'list-deployers', 'list available deployers'
13
13
  option :n, :'dry-run', 'show what would be deployed'
14
14
 
15
15
  module Nanoc::CLI::Commands
@@ -35,7 +35,7 @@ module Nanoc::CLI::Commands
35
35
 
36
36
  if options[:list]
37
37
  if deploy_configs.empty?
38
- puts 'No deployment configurations.'
38
+ puts 'No deployment configurations.'
39
39
  else
40
40
  puts 'Available deployment configurations:'
41
41
  deploy_configs.keys.each do |name|
@@ -70,10 +70,10 @@ module Nanoc::CLI::Commands
70
70
  # Check
71
71
  unless options[:'no-check']
72
72
  runner = Nanoc::Extra::Checking::Runner.new(site)
73
- if runner.has_dsl?
73
+ if runner.dsl_present?
74
74
  puts 'Running issue checks…'
75
75
  ok = runner.run_for_deploy
76
- if !ok
76
+ unless ok
77
77
  puts 'Issues found, deploy aborted.'
78
78
  return
79
79
  end
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'nanoc command [options] [arguments]'
3
+ usage 'nanoc command [options] [arguments]'
4
4
  summary 'nanoc, a static site compiler written in Ruby'
5
5
 
6
6
  opt :l, :color, 'enable color' do
@@ -12,7 +12,7 @@ opt :d, :debug, 'enable debugging' do
12
12
  Nanoc::CLI.debug = true
13
13
  end
14
14
 
15
- opt :h, :help, 'show the help message and quit' do |value, cmd|
15
+ opt :h, :help, 'show the help message and quit' do |_value, cmd|
16
16
  puts cmd.help
17
17
  exit 0
18
18
  end
@@ -35,6 +35,6 @@ opt :w, :warn, 'enable warnings' do
35
35
  $-w = true
36
36
  end
37
37
 
38
- run do |opts, args, cmd|
38
+ run do |_opts, _args, cmd|
39
39
  cmd.command_named('compile').run([])
40
40
  end
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'prune'
4
- summary 'remove files not managed by nanoc from the output directory'
3
+ usage 'prune'
4
+ summary 'remove files not managed by nanoc from the output directory'
5
5
  description <<-EOS
6
6
  Find all files in the output directory that do not correspond to an item
7
7
  managed by nanoc and remove them. Since this is a hazardous operation, an
@@ -33,7 +33,7 @@ module Nanoc::CLI::Commands
33
33
  end
34
34
  end
35
35
 
36
- protected
36
+ protected
37
37
 
38
38
  def prune_config
39
39
  site.config[:prune] || {}
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'shell'
4
- summary 'open a shell on the nanoc environment'
5
- aliases 'console'
3
+ usage 'shell'
4
+ summary 'open a shell on the nanoc environment'
5
+ aliases 'console'
6
6
  description "
7
7
  Open an IRB shell on a context that contains @items, @layouts, @config and @site.
8
8
  "
@@ -19,7 +19,7 @@ module Nanoc::CLI::Commands
19
19
  Nanoc::Context.new(env).pry
20
20
  end
21
21
 
22
- protected
22
+ protected
23
23
 
24
24
  def env
25
25
  {
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'show-data'
4
- aliases :debug
5
- summary 'show data in this site'
3
+ usage 'show-data'
4
+ aliases :debug
5
+ summary 'show data in this site'
6
6
  description <<-EOS
7
7
  Show information about all items, item representations and layouts in the
8
8
  current site, along with dependency information.
@@ -31,7 +31,7 @@ module Nanoc::CLI::Commands
31
31
  print_layouts(layouts, compiler)
32
32
  end
33
33
 
34
- protected
34
+ protected
35
35
 
36
36
  def sorted_with_prev(objects)
37
37
  prev = nil
@@ -89,7 +89,7 @@ module Nanoc::CLI::Commands
89
89
  end
90
90
  length = rep.raw_paths.keys.map { |s| s.to_s.length }.max
91
91
  rep.raw_paths.each do |snapshot_name, raw_path|
92
- puts " [ %-#{length}s ] %s" % [ snapshot_name, raw_path ]
92
+ puts " [ %-#{length}s ] %s" % [snapshot_name, raw_path]
93
93
  end
94
94
  end
95
95
  end
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
- summary 'show all available plugins'
4
- aliases :info
5
- usage 'show-plugins [options]'
3
+ summary 'show all available plugins'
4
+ aliases :info
5
+ usage 'show-plugins [options]'
6
6
  description <<-EOS
7
7
  Show a list of available plugins, including filters, data sources and VCSes.
8
8
  If the current directory contains a nanoc web site, the plugins defined in this site will be shown as well.
@@ -45,7 +45,7 @@ module Nanoc::CLI::Commands
45
45
  puts
46
46
 
47
47
  # Print plugins organised by subtype
48
- [ :builtin, :custom ].each do |type|
48
+ [:builtin, :custom].each do |type|
49
49
  # Find relevant plugins
50
50
  relevant_plugins = plugins_with_this_superclass[type]
51
51
 
@@ -71,7 +71,7 @@ module Nanoc::CLI::Commands
71
71
  end
72
72
  end
73
73
 
74
- private
74
+ private
75
75
 
76
76
  PLUGIN_CLASS_ORDER = [
77
77
  Nanoc::Filter,
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'show-rules [thing]'
4
- aliases :explain
5
- summary 'describe the rules for each item'
3
+ usage 'show-rules [thing]'
4
+ aliases :explain
5
+ summary 'describe the rules for each item'
6
6
  description "
7
7
  Prints the rules used for all items and layouts in the current site.
8
8
  "
@@ -25,7 +25,7 @@ module Nanoc::CLI::Commands
25
25
  site.layouts.each { |l| explain_layout(l) }
26
26
  end
27
27
 
28
- protected
28
+ protected
29
29
 
30
30
  def explain_item(item)
31
31
  puts "#{@c.c('Item ' + item.identifier, :bold, :yellow)}:"
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'sync'
3
+ usage 'sync'
4
4
  summary 'sync data sources'
5
5
  description <<-EOS
6
6
  Sync data source data. This command is useful for updating local item caches
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'update [options]'
3
+ usage 'update [options]'
4
4
  summary 'update the data stored by the data source to a newer version'
5
5
  description <<-EOS
6
6
  Update the data stored by the data source to a newer format. The format in
@@ -13,7 +13,7 @@ backup in case something goes wrong.
13
13
  EOS
14
14
 
15
15
  required :c, :vcs, 'select the VCS to use'
16
- flag :y, :yes, 'update the data without warning'
16
+ flag :y, :yes, 'update the data without warning'
17
17
 
18
18
  module Nanoc::CLI::Commands
19
19
 
@@ -37,21 +37,21 @@ module Nanoc::CLI::Commands
37
37
  $stderr.puts '** WARNING **'
38
38
  $stderr.puts '*************'
39
39
  $stderr.puts
40
- $stderr.puts 'Are you absolutely sure you want to update the ' +
41
- 'content for this site? Updating the site content ' +
42
- 'will change the structure of existing data. This ' +
43
- 'operation is destructive and cannot be reverted. ' +
44
- 'Please do not interrupt this operation; doing so can ' +
45
- 'result in data loss. As always, consider making a ' +
40
+ $stderr.puts 'Are you absolutely sure you want to update the ' \
41
+ 'content for this site? Updating the site content ' \
42
+ 'will change the structure of existing data. This ' \
43
+ 'operation is destructive and cannot be reverted. ' \
44
+ 'Please do not interrupt this operation; doing so can ' \
45
+ 'result in data loss. As always, consider making a ' \
46
46
  'backup copy.'
47
47
  $stderr.puts
48
- $stderr.puts 'If this nanoc site is versioned using a VCS ' +
49
- 'supported by nanoc, consider using the --vcs option ' +
50
- 'to have nanoc perform add/delete/move operations ' +
51
- 'using the specified VCS. To get a list of VCSes ' +
48
+ $stderr.puts 'If this nanoc site is versioned using a VCS ' \
49
+ 'supported by nanoc, consider using the --vcs option ' \
50
+ 'to have nanoc perform add/delete/move operations ' \
51
+ 'using the specified VCS. To get a list of VCSes ' \
52
52
  'supported by nanoc, issue the "info" command.'
53
53
  $stderr.puts
54
- $stderr.puts 'To continue, use the -y/--yes option, like "nanoc ' +
54
+ $stderr.puts 'To continue, use the -y/--yes option, like "nanoc ' \
55
55
  'update -y".'
56
56
  exit 1
57
57
  end
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'validate-css [options]'
4
- aliases :validate_css, :vcss
5
- summary 'validate the site’s CSS'
3
+ usage 'validate-css [options]'
4
+ aliases :validate_css, :vcss
5
+ summary 'validate the site’s CSS'
6
6
  be_hidden
7
7
  description "
8
8
  Validates the site’s CSS files.
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'validate-html [options]'
4
- aliases :validate_html, :vhtml
5
- summary 'validate the site’s HTML'
3
+ usage 'validate-html [options]'
4
+ aliases :validate_html, :vhtml
5
+ summary 'validate the site’s HTML'
6
6
  be_hidden
7
7
  description "
8
8
  Validates the site’s HTML files.
@@ -1,15 +1,15 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'validate-links [options]'
4
- aliases :validate_links, :vlink
5
- summary 'validate links in site'
3
+ usage 'validate-links [options]'
4
+ aliases :validate_links, :vlink
5
+ summary 'validate links in site'
6
6
  be_hidden
7
7
  description "
8
8
  Validates the site’s links. By default, both internal and external links will be checked.
9
9
  "
10
10
 
11
- flag :i, :internal, 'validate internal links only'
12
- flag :e, :external, 'validate external links only'
11
+ flag :i, :internal, 'validate internal links only'
12
+ flag :e, :external, 'validate external links only'
13
13
 
14
14
  module Nanoc::CLI::Commands
15
15
 
@@ -21,7 +21,7 @@ module Nanoc::CLI::Commands
21
21
  checks = []
22
22
  checks << 'ilinks' if options[:internal]
23
23
  checks << 'elinks' if options[:external]
24
- Nanoc::CLI.run [ 'check', checks ].flatten
24
+ Nanoc::CLI.run ['check', checks].flatten
25
25
  end
26
26
 
27
27
  end
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'view [options]'
4
- summary 'start the web server that serves static files'
3
+ usage 'view [options]'
4
+ summary 'start the web server that serves static files'
5
5
  description <<-EOS
6
6
  Start the static web server. Unless specified, the web server will run on port
7
7
  3000 and listen on all IP addresses. Running this static web server requires
@@ -57,7 +57,7 @@ module Nanoc::CLI::Commands
57
57
  handler.run(app, options_for_rack)
58
58
  end
59
59
 
60
- protected
60
+ protected
61
61
 
62
62
  def load_adsf
63
63
  # Load adsf
@@ -66,7 +66,7 @@ module Nanoc::CLI::Commands
66
66
  return
67
67
  rescue LoadError
68
68
  $stderr.puts "Could not find the required 'adsf' gem, " \
69
- "which is necessary for the view command."
69
+ 'which is necessary for the view command.'
70
70
  end
71
71
 
72
72
  # Check asdf
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
- usage 'watch [options]'
4
- summary 'start the watcher'
3
+ usage 'watch [options]'
4
+ summary 'start the watcher'
5
5
  be_hidden
6
6
  description <<-EOS
7
7
  Start the watcher. When a change is detected, the site will be recompiled.
@@ -114,25 +114,25 @@ module Nanoc::CLI::Commands
114
114
  end
115
115
  end
116
116
 
117
- protected
117
+ protected
118
118
 
119
- def have_tool_nix?(tool)
119
+ def nix_tool_present?(tool)
120
120
  !`which #{tool}`.empty?
121
121
  rescue Errno::ENOENT
122
122
  false
123
123
  end
124
124
 
125
- def have_tool_windows?(tool)
125
+ def windows_tool_present?(tool)
126
126
  !`where #{tool} 2> nul`.empty?
127
127
  rescue Errno::ENOENT
128
128
  false
129
129
  end
130
130
 
131
- def have_tool?(tool)
131
+ def tool_present?(tool)
132
132
  if self.on_windows?
133
- self.have_tool_windows?(tool)
133
+ self.windows_tool_present?(tool)
134
134
  else
135
- self.have_tool_nix?(tool)
135
+ self.nix_tool_present?(tool)
136
136
  end
137
137
  end
138
138
 
@@ -141,7 +141,7 @@ module Nanoc::CLI::Commands
141
141
  require 'terminal-notifier'
142
142
  'terminal-notify'
143
143
  rescue LoadError
144
- TOOLS.find { |t| have_tool?(t) }
144
+ TOOLS.find { |t| tool_present?(t) }
145
145
  end
146
146
  end
147
147
 
@@ -150,7 +150,7 @@ module Nanoc::CLI::Commands
150
150
  end
151
151
 
152
152
  def growlnotify_cmd_for(message)
153
- [ 'growlnotify', '-m', message ]
153
+ ['growlnotify', '-m', message]
154
154
  end
155
155
 
156
156
  def growlnotify(message)
@@ -158,7 +158,7 @@ module Nanoc::CLI::Commands
158
158
  end
159
159
 
160
160
  def growlnotify_windows_cmd_for(message)
161
- [ 'growlnotify', '/t:nanoc', message ]
161
+ ['growlnotify', '/t:nanoc', message]
162
162
  end
163
163
 
164
164
  def growlnotify_windows(message)
@@ -50,7 +50,7 @@ module Nanoc::CLI
50
50
  # @return [void]
51
51
  #
52
52
  # @api private
53
- def handle_while(&block)
53
+ def handle_while(&_block)
54
54
  # Set exit handler
55
55
  %w( INT TERM ).each do |signal|
56
56
  Signal.trap(signal) do
@@ -157,7 +157,7 @@ module Nanoc::CLI
157
157
  write_load_paths(stream, :verbose => true)
158
158
  end
159
159
 
160
- protected
160
+ protected
161
161
 
162
162
  # @return [Boolean] true if debug output is enabled, false if not
163
163
  #
@@ -184,7 +184,7 @@ module Nanoc::CLI
184
184
  # @return [Hash<String, Array>] A hash containing the gem names as keys and gem versions as value
185
185
  def gems_and_versions
186
186
  gems = {}
187
- Gem::Specification.find_all.sort_by { |s| [ s.name, s.version ] }.each do |spec|
187
+ Gem::Specification.find_all.sort_by { |s| [s.name, s.version] }.each do |spec|
188
188
  gems[spec.name] ||= []
189
189
  gems[spec.name] << spec.version.to_s
190
190
  end
@@ -248,11 +248,11 @@ module Nanoc::CLI
248
248
  end
249
249
  when RuntimeError
250
250
  if error.message =~ /^can't modify frozen/
251
- "You attempted to modify immutable data. Some data, such as " \
252
- "item/layout attributes and raw item/layout content, can not " \
253
- "be modified once compilation has started. (This was " \
254
- "unintentionally possible in 3.1.x and before, but has been " \
255
- "disabled in 3.2.x in order to allow compiler optimisations.)"
251
+ 'You attempted to modify immutable data. Some data, such as ' \
252
+ 'item/layout attributes and raw item/layout content, can not ' \
253
+ 'be modified once compilation has started. (This was ' \
254
+ 'unintentionally possible in 3.1.x and before, but has been ' \
255
+ 'disabled in 3.2.x in order to allow compiler optimisations.)'
256
256
  end
257
257
  end
258
258
  end
@@ -279,7 +279,7 @@ module Nanoc::CLI
279
279
  stream.puts "#{resolution}" if resolution
280
280
  end
281
281
 
282
- def write_compilation_stack(stream, error, params = {})
282
+ def write_compilation_stack(stream, _error, params = {})
283
283
  write_section_header(stream, 'Compilation stack', params)
284
284
 
285
285
  if stack.empty?
@@ -309,7 +309,7 @@ module Nanoc::CLI
309
309
  end
310
310
  end
311
311
 
312
- def write_issue_link(stream, params = {})
312
+ def write_issue_link(stream, _params = {})
313
313
  stream.puts
314
314
  stream.puts 'If you believe this is a bug in nanoc, please do report it at'
315
315
  stream.puts '-> https://github.com/nanoc/nanoc/issues/new <-'