nanoc 3.7.4 → 3.7.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (284) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +19 -18
  3. data/LICENSE +1 -1
  4. data/NEWS.md +14 -0
  5. data/Rakefile +1 -1
  6. data/doc/yardoc_handlers/identifier.rb +1 -5
  7. data/lib/nanoc.rb +1 -3
  8. data/lib/nanoc/base.rb +1 -4
  9. data/lib/nanoc/base/checksummer.rb +10 -12
  10. data/lib/nanoc/base/compilation/checksum_store.rb +0 -4
  11. data/lib/nanoc/base/compilation/compiled_content_cache.rb +0 -4
  12. data/lib/nanoc/base/compilation/compiler.rb +27 -31
  13. data/lib/nanoc/base/compilation/compiler_dsl.rb +3 -7
  14. data/lib/nanoc/base/compilation/dependency_tracker.rb +2 -6
  15. data/lib/nanoc/base/compilation/filter.rb +1 -7
  16. data/lib/nanoc/base/compilation/item_rep_proxy.rb +0 -4
  17. data/lib/nanoc/base/compilation/item_rep_recorder_proxy.rb +0 -4
  18. data/lib/nanoc/base/compilation/outdatedness_checker.rb +0 -4
  19. data/lib/nanoc/base/compilation/outdatedness_reasons.rb +0 -6
  20. data/lib/nanoc/base/compilation/rule.rb +1 -5
  21. data/lib/nanoc/base/compilation/rule_context.rb +7 -11
  22. data/lib/nanoc/base/compilation/rule_memory_calculator.rb +0 -4
  23. data/lib/nanoc/base/compilation/rule_memory_store.rb +0 -4
  24. data/lib/nanoc/base/compilation/rules_collection.rb +5 -9
  25. data/lib/nanoc/base/context.rb +0 -3
  26. data/lib/nanoc/base/core_ext.rb +0 -1
  27. data/lib/nanoc/base/core_ext/array.rb +0 -2
  28. data/lib/nanoc/base/core_ext/hash.rb +0 -2
  29. data/lib/nanoc/base/core_ext/pathname.rb +0 -2
  30. data/lib/nanoc/base/core_ext/string.rb +0 -2
  31. data/lib/nanoc/base/directed_graph.rb +0 -4
  32. data/lib/nanoc/base/errors.rb +1 -39
  33. data/lib/nanoc/base/memoization.rb +0 -4
  34. data/lib/nanoc/base/notification_center.rb +1 -7
  35. data/lib/nanoc/base/plugin_registry.rb +4 -10
  36. data/lib/nanoc/base/result_data/item_rep.rb +8 -16
  37. data/lib/nanoc/base/source_data/code_snippet.rb +1 -5
  38. data/lib/nanoc/base/source_data/configuration.rb +0 -4
  39. data/lib/nanoc/base/source_data/data_source.rb +2 -5
  40. data/lib/nanoc/base/source_data/item.rb +3 -7
  41. data/lib/nanoc/base/source_data/item_array.rb +1 -5
  42. data/lib/nanoc/base/source_data/layout.rb +2 -6
  43. data/lib/nanoc/base/source_data/site.rb +20 -23
  44. data/lib/nanoc/base/store.rb +1 -5
  45. data/lib/nanoc/base/temp_filename_factory.rb +0 -4
  46. data/lib/nanoc/cli.rb +3 -5
  47. data/lib/nanoc/cli/ansi_string_colorizer.rb +6 -10
  48. data/lib/nanoc/cli/cleaning_stream.rb +2 -6
  49. data/lib/nanoc/cli/command_runner.rb +1 -5
  50. data/lib/nanoc/cli/commands/autocompile.rb +2 -6
  51. data/lib/nanoc/cli/commands/check.rb +0 -4
  52. data/lib/nanoc/cli/commands/compile.rb +12 -27
  53. data/lib/nanoc/cli/commands/create-item.rb +1 -5
  54. data/lib/nanoc/cli/commands/create-layout.rb +0 -4
  55. data/lib/nanoc/cli/commands/create-site.rb +2 -8
  56. data/lib/nanoc/cli/commands/deploy.rb +3 -7
  57. data/lib/nanoc/cli/commands/prune.rb +2 -6
  58. data/lib/nanoc/cli/commands/shell.rb +4 -8
  59. data/lib/nanoc/cli/commands/show-data.rb +3 -7
  60. data/lib/nanoc/cli/commands/show-plugins.rb +3 -7
  61. data/lib/nanoc/cli/commands/show-rules.rb +11 -15
  62. data/lib/nanoc/cli/commands/sync.rb +0 -4
  63. data/lib/nanoc/cli/commands/update.rb +1 -7
  64. data/lib/nanoc/cli/commands/validate-css.rb +0 -4
  65. data/lib/nanoc/cli/commands/validate-html.rb +0 -4
  66. data/lib/nanoc/cli/commands/validate-links.rb +0 -4
  67. data/lib/nanoc/cli/commands/view.rb +3 -7
  68. data/lib/nanoc/cli/commands/watch.rb +4 -10
  69. data/lib/nanoc/cli/error_handler.rb +9 -13
  70. data/lib/nanoc/cli/logger.rb +8 -12
  71. data/lib/nanoc/cli/stream_cleaners.rb +0 -4
  72. data/lib/nanoc/cli/stream_cleaners/abstract.rb +1 -5
  73. data/lib/nanoc/cli/stream_cleaners/ansi_colors.rb +0 -4
  74. data/lib/nanoc/cli/stream_cleaners/utf8.rb +1 -5
  75. data/lib/nanoc/data_sources.rb +2 -4
  76. data/lib/nanoc/data_sources/deprecated/delicious.rb +6 -10
  77. data/lib/nanoc/data_sources/deprecated/last_fm.rb +7 -11
  78. data/lib/nanoc/data_sources/deprecated/twitter.rb +2 -6
  79. data/lib/nanoc/data_sources/filesystem.rb +10 -13
  80. data/lib/nanoc/data_sources/filesystem_unified.rb +0 -4
  81. data/lib/nanoc/data_sources/filesystem_verbose.rb +0 -4
  82. data/lib/nanoc/data_sources/static.rb +4 -8
  83. data/lib/nanoc/extra.rb +2 -4
  84. data/lib/nanoc/extra/auto_compiler.rb +2 -6
  85. data/lib/nanoc/extra/checking.rb +0 -4
  86. data/lib/nanoc/extra/checking/check.rb +0 -4
  87. data/lib/nanoc/extra/checking/checks.rb +0 -2
  88. data/lib/nanoc/extra/checking/checks/css.rb +6 -6
  89. data/lib/nanoc/extra/checking/checks/external_links.rb +3 -11
  90. data/lib/nanoc/extra/checking/checks/html.rb +6 -6
  91. data/lib/nanoc/extra/checking/checks/internal_links.rb +3 -7
  92. data/lib/nanoc/extra/checking/checks/stale.rb +3 -7
  93. data/lib/nanoc/extra/checking/dsl.rb +0 -4
  94. data/lib/nanoc/extra/checking/issue.rb +0 -4
  95. data/lib/nanoc/extra/checking/runner.rb +4 -7
  96. data/lib/nanoc/extra/chick.rb +7 -17
  97. data/lib/nanoc/extra/core_ext.rb +0 -1
  98. data/lib/nanoc/extra/core_ext/pathname.rb +0 -4
  99. data/lib/nanoc/extra/core_ext/time.rb +0 -2
  100. data/lib/nanoc/extra/deployer.rb +0 -4
  101. data/lib/nanoc/extra/deployers.rb +0 -4
  102. data/lib/nanoc/extra/deployers/fog.rb +7 -11
  103. data/lib/nanoc/extra/deployers/rsync.rb +1 -5
  104. data/lib/nanoc/extra/file_proxy.rb +1 -5
  105. data/lib/nanoc/extra/filesystem_tools.rb +37 -12
  106. data/lib/nanoc/extra/jruby_nokogiri_warner.rb +0 -4
  107. data/lib/nanoc/extra/link_collector.rb +3 -7
  108. data/lib/nanoc/extra/piper.rb +0 -6
  109. data/lib/nanoc/extra/pruner.rb +1 -7
  110. data/lib/nanoc/extra/validators.rb +0 -4
  111. data/lib/nanoc/extra/validators/links.rb +0 -4
  112. data/lib/nanoc/extra/validators/w3c.rb +0 -4
  113. data/lib/nanoc/extra/vcs.rb +3 -7
  114. data/lib/nanoc/extra/vcses.rb +0 -2
  115. data/lib/nanoc/extra/vcses/bazaar.rb +0 -4
  116. data/lib/nanoc/extra/vcses/dummy.rb +0 -4
  117. data/lib/nanoc/extra/vcses/git.rb +0 -4
  118. data/lib/nanoc/extra/vcses/mercurial.rb +0 -4
  119. data/lib/nanoc/extra/vcses/subversion.rb +0 -4
  120. data/lib/nanoc/filters.rb +0 -2
  121. data/lib/nanoc/filters/asciidoc.rb +1 -5
  122. data/lib/nanoc/filters/bluecloth.rb +0 -2
  123. data/lib/nanoc/filters/coderay.rb +0 -2
  124. data/lib/nanoc/filters/coffeescript.rb +0 -4
  125. data/lib/nanoc/filters/colorize_syntax.rb +17 -15
  126. data/lib/nanoc/filters/erb.rb +1 -3
  127. data/lib/nanoc/filters/erubis.rb +2 -4
  128. data/lib/nanoc/filters/haml.rb +2 -4
  129. data/lib/nanoc/filters/handlebars.rb +0 -4
  130. data/lib/nanoc/filters/kramdown.rb +7 -4
  131. data/lib/nanoc/filters/less.rb +1 -3
  132. data/lib/nanoc/filters/markaby.rb +0 -2
  133. data/lib/nanoc/filters/maruku.rb +0 -2
  134. data/lib/nanoc/filters/mustache.rb +1 -5
  135. data/lib/nanoc/filters/pandoc.rb +0 -2
  136. data/lib/nanoc/filters/rainpress.rb +0 -2
  137. data/lib/nanoc/filters/rdiscount.rb +0 -2
  138. data/lib/nanoc/filters/rdoc.rb +0 -2
  139. data/lib/nanoc/filters/redcarpet.rb +0 -4
  140. data/lib/nanoc/filters/redcloth.rb +0 -2
  141. data/lib/nanoc/filters/relativize_paths.rb +2 -4
  142. data/lib/nanoc/filters/rubypants.rb +0 -2
  143. data/lib/nanoc/filters/sass.rb +2 -4
  144. data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +0 -2
  145. data/lib/nanoc/filters/slim.rb +2 -6
  146. data/lib/nanoc/filters/typogruby.rb +0 -4
  147. data/lib/nanoc/filters/uglify_js.rb +0 -2
  148. data/lib/nanoc/filters/xsl.rb +1 -5
  149. data/lib/nanoc/filters/yui_compressor.rb +0 -4
  150. data/lib/nanoc/helpers.rb +0 -2
  151. data/lib/nanoc/helpers/blogging.rb +12 -20
  152. data/lib/nanoc/helpers/breadcrumbs.rb +0 -4
  153. data/lib/nanoc/helpers/capturing.rb +2 -10
  154. data/lib/nanoc/helpers/filtering.rb +0 -4
  155. data/lib/nanoc/helpers/html_escape.rb +3 -7
  156. data/lib/nanoc/helpers/link_to.rb +0 -4
  157. data/lib/nanoc/helpers/rendering.rb +8 -12
  158. data/lib/nanoc/helpers/tagging.rb +0 -4
  159. data/lib/nanoc/helpers/text.rb +1 -5
  160. data/lib/nanoc/helpers/xml_sitemap.rb +3 -7
  161. data/lib/nanoc/tasks/clean.rb +1 -7
  162. data/lib/nanoc/tasks/deploy/rsync.rake +0 -2
  163. data/lib/nanoc/tasks/validate.rake +0 -4
  164. data/lib/nanoc/version.rb +1 -3
  165. data/nanoc.gemspec +12 -9
  166. data/tasks/rubocop.rake +1 -1
  167. data/tasks/test.rake +6 -7
  168. data/test/base/checksummer_spec.rb +28 -44
  169. data/test/base/core_ext/array_spec.rb +1 -9
  170. data/test/base/core_ext/hash_spec.rb +7 -19
  171. data/test/base/core_ext/pathname_spec.rb +2 -4
  172. data/test/base/core_ext/string_spec.rb +0 -4
  173. data/test/base/temp_filename_factory_spec.rb +0 -8
  174. data/test/base/test_checksum_store.rb +0 -2
  175. data/test/base/test_code_snippet.rb +0 -2
  176. data/test/base/test_compiler.rb +15 -17
  177. data/test/base/test_compiler_dsl.rb +7 -9
  178. data/test/base/test_context.rb +2 -4
  179. data/test/base/test_data_source.rb +0 -2
  180. data/test/base/test_dependency_tracker.rb +0 -2
  181. data/test/base/test_directed_graph.rb +2 -4
  182. data/test/base/test_filter.rb +5 -7
  183. data/test/base/test_item.rb +17 -13
  184. data/test/base/test_item_array.rb +2 -4
  185. data/test/base/test_item_rep.rb +79 -73
  186. data/test/base/test_layout.rb +3 -5
  187. data/test/base/test_memoization.rb +13 -21
  188. data/test/base/test_notification_center.rb +0 -2
  189. data/test/base/test_outdatedness_checker.rb +34 -36
  190. data/test/base/test_plugin.rb +0 -2
  191. data/test/base/test_rule.rb +3 -5
  192. data/test/base/test_rule_context.rb +4 -6
  193. data/test/base/test_site.rb +9 -17
  194. data/test/base/test_store.rb +2 -6
  195. data/test/cli/commands/test_check.rb +1 -3
  196. data/test/cli/commands/test_compile.rb +24 -15
  197. data/test/cli/commands/test_create_item.rb +1 -3
  198. data/test/cli/commands/test_create_layout.rb +0 -2
  199. data/test/cli/commands/test_create_site.rb +0 -3
  200. data/test/cli/commands/test_deploy.rb +9 -11
  201. data/test/cli/commands/test_help.rb +0 -2
  202. data/test/cli/commands/test_info.rb +0 -2
  203. data/test/cli/commands/test_prune.rb +6 -8
  204. data/test/cli/commands/test_sync.rb +0 -2
  205. data/test/cli/commands/test_update.rb +0 -2
  206. data/test/cli/commands/test_watch.rb +4 -6
  207. data/test/cli/test_cleaning_stream.rb +4 -6
  208. data/test/cli/test_cli.rb +9 -5
  209. data/test/cli/test_error_handler.rb +9 -7
  210. data/test/cli/test_logger.rb +0 -2
  211. data/test/data_sources/test_filesystem.rb +8 -10
  212. data/test/data_sources/test_filesystem_unified.rb +35 -34
  213. data/test/data_sources/test_filesystem_verbose.rb +31 -33
  214. data/test/data_sources/test_static.rb +20 -21
  215. data/test/extra/checking/checks/test_css.rb +23 -2
  216. data/test/extra/checking/checks/test_external_links.rb +2 -4
  217. data/test/extra/checking/checks/test_html.rb +4 -3
  218. data/test/extra/checking/checks/test_internal_links.rb +1 -3
  219. data/test/extra/checking/checks/test_stale.rb +4 -6
  220. data/test/extra/checking/test_check.rb +0 -2
  221. data/test/extra/checking/test_dsl.rb +1 -3
  222. data/test/extra/checking/test_runner.rb +0 -2
  223. data/test/extra/core_ext/test_pathname.rb +0 -3
  224. data/test/extra/core_ext/test_time.rb +0 -2
  225. data/test/extra/deployers/test_fog.rb +13 -15
  226. data/test/extra/deployers/test_rsync.rb +4 -6
  227. data/test/extra/test_auto_compiler.rb +47 -25
  228. data/test/extra/test_file_proxy.rb +1 -3
  229. data/test/extra/test_filesystem_tools.rb +47 -7
  230. data/test/extra/test_link_collector.rb +0 -2
  231. data/test/extra/test_piper.rb +3 -5
  232. data/test/extra/test_vcs.rb +0 -2
  233. data/test/extra/validators/test_links.rb +0 -1
  234. data/test/extra/validators/test_w3c.rb +2 -4
  235. data/test/filters/test_asciidoc.rb +0 -2
  236. data/test/filters/test_bluecloth.rb +0 -2
  237. data/test/filters/test_coderay.rb +2 -4
  238. data/test/filters/test_coffeescript.rb +0 -2
  239. data/test/filters/test_colorize_syntax.rb +16 -18
  240. data/test/filters/test_erb.rb +12 -14
  241. data/test/filters/test_erubis.rb +4 -6
  242. data/test/filters/test_haml.rb +7 -9
  243. data/test/filters/test_handlebars.rb +10 -12
  244. data/test/filters/test_kramdown.rb +13 -1
  245. data/test/filters/test_less.rb +9 -11
  246. data/test/filters/test_markaby.rb +0 -2
  247. data/test/filters/test_maruku.rb +0 -2
  248. data/test/filters/test_mustache.rb +4 -6
  249. data/test/filters/test_pandoc.rb +1 -3
  250. data/test/filters/test_rainpress.rb +1 -3
  251. data/test/filters/test_rdiscount.rb +1 -3
  252. data/test/filters/test_rdoc.rb +0 -2
  253. data/test/filters/test_redcarpet.rb +6 -8
  254. data/test/filters/test_redcloth.rb +1 -3
  255. data/test/filters/test_relativize_paths.rb +29 -34
  256. data/test/filters/test_rubypants.rb +0 -2
  257. data/test/filters/test_sass.rb +8 -10
  258. data/test/filters/test_slim.rb +2 -4
  259. data/test/filters/test_typogruby.rb +0 -3
  260. data/test/filters/test_uglify_js.rb +2 -4
  261. data/test/filters/test_xsl.rb +16 -18
  262. data/test/filters/test_yui_compressor.rb +3 -5
  263. data/test/fixtures/vcr_cassettes/css_run_parse_error.yml +65 -0
  264. data/test/gem_loader.rb +1 -1
  265. data/test/helper.rb +11 -15
  266. data/test/helpers/test_blogging.rb +61 -63
  267. data/test/helpers/test_breadcrumbs.rb +0 -2
  268. data/test/helpers/test_capturing.rb +4 -6
  269. data/test/helpers/test_filtering.rb +2 -4
  270. data/test/helpers/test_html_escape.rb +0 -2
  271. data/test/helpers/test_link_to.rb +5 -6
  272. data/test/helpers/test_rendering.rb +2 -4
  273. data/test/helpers/test_tagging.rb +9 -11
  274. data/test/helpers/test_text.rb +6 -8
  275. data/test/helpers/test_xml_sitemap.rb +11 -13
  276. data/test/tasks/test_clean.rb +0 -2
  277. data/test/test_gem.rb +1 -3
  278. metadata +15 -14
  279. data/Gemfile.lock +0 -252
  280. data/lib/nanoc/base/core_ext/date.rb +0 -29
  281. data/lib/nanoc/base/ordered_hash.rb +0 -228
  282. data/lib/nanoc/extra/core_ext/enumerable.rb +0 -33
  283. data/test/base/core_ext/date_spec.rb +0 -15
  284. data/test/extra/core_ext/test_enumerable.rb +0 -28
@@ -9,9 +9,7 @@ current site, along with dependency information.
9
9
  EOS
10
10
 
11
11
  module Nanoc::CLI::Commands
12
-
13
12
  class ShowData < ::Nanoc::CLI::CommandRunner
14
-
15
13
  def run
16
14
  load_site
17
15
 
@@ -35,7 +33,7 @@ module Nanoc::CLI::Commands
35
33
 
36
34
  def sorted_with_prev(objects)
37
35
  prev = nil
38
- objects.sort_by { |o| o.identifier }.each do |object|
36
+ objects.sort_by(&:identifier).each do |object|
39
37
  yield(object, prev)
40
38
  prev = object
41
39
  end
@@ -43,7 +41,7 @@ module Nanoc::CLI::Commands
43
41
 
44
42
  def sorted_reps_with_prev(items)
45
43
  prev = nil
46
- items.sort_by { |i| i.identifier }.each do |item|
44
+ items.sort_by(&:identifier).each do |item|
47
45
  item.reps.sort_by { |r| r.name.to_s }.each do |rep|
48
46
  yield(rep, prev)
49
47
  prev = rep
@@ -89,7 +87,7 @@ module Nanoc::CLI::Commands
89
87
  end
90
88
  length = rep.raw_paths.keys.map { |s| s.to_s.length }.max
91
89
  rep.raw_paths.each do |snapshot_name, raw_path|
92
- puts " [ %-#{length}s ] %s" % [snapshot_name, raw_path]
90
+ puts format(" [ %-#{length}s ] %s", snapshot_name, raw_path)
93
91
  end
94
92
  end
95
93
  end
@@ -124,9 +122,7 @@ module Nanoc::CLI::Commands
124
122
  puts
125
123
  end
126
124
  end
127
-
128
125
  end
129
-
130
126
  end
131
127
 
132
128
  runner Nanoc::CLI::Commands::ShowData
@@ -9,9 +9,7 @@ If the current directory contains a nanoc web site, the plugins defined in this
9
9
  EOS
10
10
 
11
11
  module Nanoc::CLI::Commands
12
-
13
12
  class ShowPlugins < ::Nanoc::CLI::CommandRunner
14
-
15
13
  def run
16
14
  # Check arguments
17
15
  if arguments.size != 0
@@ -35,8 +33,8 @@ module Nanoc::CLI::Commands
35
33
 
36
34
  PLUGIN_CLASS_ORDER.each do |superclass|
37
35
  plugins_with_this_superclass = {
38
- :builtin => plugins_builtin.select { |p| p[:superclass] == superclass },
39
- :custom => plugins_custom.select { |p| p[:superclass] == superclass }
36
+ builtin: plugins_builtin.select { |p| p[:superclass] == superclass },
37
+ custom: plugins_custom.select { |p| p[:superclass] == superclass }
40
38
  }
41
39
 
42
40
  # Print kind
@@ -59,7 +57,7 @@ module Nanoc::CLI::Commands
59
57
  # Print plugins
60
58
  relevant_plugins.sort_by { |k| k[:identifiers].join(', ') }.each do |plugin|
61
59
  # Display
62
- puts sprintf(
60
+ puts format(
63
61
  " %-#{max_identifiers_length}s (%s)",
64
62
  plugin[:identifiers].join(', '),
65
63
  plugin[:class].to_s.sub(/^::/, '')
@@ -90,9 +88,7 @@ module Nanoc::CLI::Commands
90
88
  def name_for_plugin_class(klass)
91
89
  PLUGIN_CLASSES[klass]
92
90
  end
93
-
94
91
  end
95
-
96
92
  end
97
93
 
98
94
  runner Nanoc::CLI::Commands::ShowPlugins
@@ -8,18 +8,16 @@ Prints the rules used for all items and layouts in the current site.
8
8
  "
9
9
 
10
10
  module Nanoc::CLI::Commands
11
-
12
11
  class ShowRules < ::Nanoc::CLI::CommandRunner
13
-
14
12
  def run
15
13
  require_site
16
14
 
17
15
  @c = Nanoc::CLI::ANSIStringColorizer
18
16
  @calc = site.compiler.rule_memory_calculator
19
17
 
20
- # TODO explain /foo/
21
- # TODO explain content/foo.html
22
- # TODO explain output/foo/index.html
18
+ # TODO: explain /foo/
19
+ # TODO: explain content/foo.html
20
+ # TODO: explain output/foo/index.html
23
21
 
24
22
  site.items.each { |i| explain_item(i) }
25
23
  site.layouts.each { |l| explain_layout(l) }
@@ -36,16 +34,16 @@ module Nanoc::CLI::Commands
36
34
  puts ' (nothing)'
37
35
  else
38
36
  @calc[rep].each do |mem|
39
- puts ' %s %s' % [
37
+ puts format(' %s %s',
40
38
  @c.c(format('%-10s', mem[0].to_s), :blue),
41
- mem[1..-1].map { |m| m.inspect }.join(', ')
42
- ]
39
+ mem[1..-1].map(&:inspect).join(', ')
40
+ )
43
41
  end
44
42
  if rep.raw_path
45
- puts ' %s %s' % [
43
+ puts format(' %s %s',
46
44
  @c.c(format('%-10s', 'write to'), :blue),
47
45
  rep.raw_path
48
- ]
46
+ )
49
47
  end
50
48
  end
51
49
  end
@@ -55,15 +53,13 @@ module Nanoc::CLI::Commands
55
53
  def explain_layout(layout)
56
54
  puts "#{@c.c('Layout ' + layout.identifier, :bold, :yellow)}:"
57
55
  puts " (from #{layout[:filename]})" if layout[:filename]
58
- puts ' %s %s' % [
56
+ puts format(' %s %s',
59
57
  @c.c(format('%-10s', 'filter'), :blue),
60
- @calc[layout].map { |m| m.inspect }.join(', ')
61
- ]
58
+ @calc[layout].map(&:inspect).join(', ')
59
+ )
62
60
  puts
63
61
  end
64
-
65
62
  end
66
-
67
63
  end
68
64
 
69
65
  runner Nanoc::CLI::Commands::ShowRules
@@ -8,9 +8,7 @@ for data sources which rely on slow external APIs.
8
8
  EOS
9
9
 
10
10
  module Nanoc::CLI::Commands
11
-
12
11
  class Sync < ::Nanoc::CLI::CommandRunner
13
-
14
12
  def run
15
13
  # Check arguments
16
14
  if arguments.size != 0
@@ -28,9 +26,7 @@ module Nanoc::CLI::Commands
28
26
  end
29
27
  end
30
28
  end
31
-
32
29
  end
33
-
34
30
  end
35
31
 
36
32
  runner Nanoc::CLI::Commands::Sync
@@ -16,9 +16,7 @@ required :c, :vcs, 'select the VCS to use'
16
16
  flag :y, :yes, 'update the data without warning'
17
17
 
18
18
  module Nanoc::CLI::Commands
19
-
20
19
  class Update < ::Nanoc::CLI::CommandRunner
21
-
22
20
  def run
23
21
  # Check arguments
24
22
  if arguments.size != 0
@@ -57,13 +55,9 @@ module Nanoc::CLI::Commands
57
55
  end
58
56
 
59
57
  # Update
60
- site.data_sources.each do |data_source|
61
- data_source.update
62
- end
58
+ site.data_sources.each(&:update)
63
59
  end
64
-
65
60
  end
66
-
67
61
  end
68
62
 
69
63
  runner Nanoc::CLI::Commands::Update
@@ -9,16 +9,12 @@ Validates the site’s CSS files.
9
9
  "
10
10
 
11
11
  module Nanoc::CLI::Commands
12
-
13
12
  class ValidateCSS < ::Nanoc::CLI::CommandRunner
14
-
15
13
  def run
16
14
  warn 'The `validate-css` command is deprecated. Please use the new `check` command instead.'
17
15
  Nanoc::CLI.run %w( check css )
18
16
  end
19
-
20
17
  end
21
-
22
18
  end
23
19
 
24
20
  runner Nanoc::CLI::Commands::ValidateCSS
@@ -9,16 +9,12 @@ Validates the site’s HTML files.
9
9
  "
10
10
 
11
11
  module Nanoc::CLI::Commands
12
-
13
12
  class ValidateHTML < ::Nanoc::CLI::CommandRunner
14
-
15
13
  def run
16
14
  warn 'The `validate-html` command is deprecated. Please use the new `check` command instead.'
17
15
  Nanoc::CLI.run %w( check html )
18
16
  end
19
-
20
17
  end
21
-
22
18
  end
23
19
 
24
20
  runner Nanoc::CLI::Commands::ValidateHTML
@@ -12,9 +12,7 @@ flag :i, :internal, 'validate internal links only'
12
12
  flag :e, :external, 'validate external links only'
13
13
 
14
14
  module Nanoc::CLI::Commands
15
-
16
15
  class ValidateLinks < ::Nanoc::CLI::CommandRunner
17
-
18
16
  def run
19
17
  warn 'The `validate-links` command is deprecated. Please use the new `check` command instead.'
20
18
 
@@ -23,9 +21,7 @@ module Nanoc::CLI::Commands
23
21
  checks << 'elinks' if options[:external]
24
22
  Nanoc::CLI.run ['check', checks].flatten
25
23
  end
26
-
27
24
  end
28
-
29
25
  end
30
26
 
31
27
  runner Nanoc::CLI::Commands::ValidateLinks
@@ -13,9 +13,7 @@ required :o, :host, 'specify the host to listen on (default: 0.0.0.0)'
13
13
  required :p, :port, 'specify the port to listen on (default: 3000)'
14
14
 
15
15
  module Nanoc::CLI::Commands
16
-
17
16
  class View < ::Nanoc::CLI::CommandRunner
18
-
19
17
  DEFAULT_HANDLER_NAME = :thin
20
18
 
21
19
  def run
@@ -27,8 +25,8 @@ module Nanoc::CLI::Commands
27
25
 
28
26
  # Set options
29
27
  options_for_rack = {
30
- :Port => (options[:port] || 3000).to_i,
31
- :Host => (options[:host] || '0.0.0.0')
28
+ Port: (options[:port] || 3000).to_i,
29
+ Host: (options[:host] || '0.0.0.0')
32
30
  }
33
31
 
34
32
  # Get handler
@@ -49,7 +47,7 @@ module Nanoc::CLI::Commands
49
47
  use Rack::ShowExceptions
50
48
  use Rack::Lint
51
49
  use Rack::Head
52
- use Adsf::Rack::IndexFileFinder, :root => site.config[:output_dir]
50
+ use Adsf::Rack::IndexFileFinder, root: site.config[:output_dir]
53
51
  run Rack::File.new(site.config[:output_dir])
54
52
  end.to_app
55
53
 
@@ -80,9 +78,7 @@ module Nanoc::CLI::Commands
80
78
  # Done
81
79
  exit 1
82
80
  end
83
-
84
81
  end
85
-
86
82
  end
87
83
 
88
84
  runner Nanoc::CLI::Commands::View
@@ -8,9 +8,7 @@ Start the watcher. When a change is detected, the site will be recompiled.
8
8
  EOS
9
9
 
10
10
  module Nanoc::CLI::Commands
11
-
12
11
  class Watch < ::Nanoc::CLI::CommandRunner
13
-
14
12
  def run
15
13
  warn 'WARNING: The `watch` command is deprecated. Please consider using `guard-nanoc` instead (see https://github.com/nanoc/guard-nanoc).'
16
14
 
@@ -44,7 +42,7 @@ module Nanoc::CLI::Commands
44
42
  begin
45
43
  site.compile
46
44
 
47
- # TODO include icon (--image misc/success-icon.png)
45
+ # TODO: include icon (--image misc/success-icon.png)
48
46
  notify_on_compilation_success = watcher_config.fetch(:notify_on_compilation_success) { true }
49
47
  if notify_on_compilation_success
50
48
  @notifier.notify('Compilation complete')
@@ -53,7 +51,7 @@ module Nanoc::CLI::Commands
53
51
  time_spent = ((Time.now - start) * 1000.0).round
54
52
  puts "done in #{format '%is %ims', *(time_spent.divmod(1000))}"
55
53
  rescue Exception => e
56
- # TODO include icon (--image misc/error-icon.png)
54
+ # TODO: include icon (--image misc/error-icon.png)
57
55
  notify_on_compilation_failure = watcher_config.fetch(:notify_on_compilation_failure) { true }
58
56
  if notify_on_compilation_failure
59
57
  @notifier.notify('Compilation failed')
@@ -84,7 +82,7 @@ module Nanoc::CLI::Commands
84
82
  end
85
83
 
86
84
  listener = Listen::Listener.new(*dirs_to_watch).change(&callback)
87
- listener_root = Listen::Listener.new('.', :filter => files_to_watch, :ignore => ignore_dir).change(&callback)
85
+ listener_root = Listen::Listener.new('.', filter: files_to_watch, ignore: ignore_dir).change(&callback)
88
86
 
89
87
  begin
90
88
  listener_root.start
@@ -97,7 +95,6 @@ module Nanoc::CLI::Commands
97
95
 
98
96
  # Allows sending user notifications in a cross-platform way.
99
97
  class Notifier
100
-
101
98
  # A list of commandline tool names that can be used to send notifications
102
99
  TOOLS = %w( growlnotify notify-send ) unless defined? TOOLS
103
100
 
@@ -146,7 +143,7 @@ module Nanoc::CLI::Commands
146
143
  end
147
144
 
148
145
  def terminal_notify(message)
149
- TerminalNotifier.notify(message, :title => 'nanoc')
146
+ TerminalNotifier.notify(message, title: 'nanoc')
150
147
  end
151
148
 
152
149
  def growlnotify_cmd_for(message)
@@ -172,11 +169,8 @@ module Nanoc::CLI::Commands
172
169
  def on_windows?
173
170
  Nanoc.on_windows?
174
171
  end
175
-
176
172
  end
177
-
178
173
  end
179
-
180
174
  end
181
175
 
182
176
  runner Nanoc::CLI::Commands::Watch
@@ -1,12 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::CLI
4
-
5
4
  # Catches errors and prints nice diagnostic messages, then exits.
6
5
  #
7
6
  # @api private
8
7
  class ErrorHandler
9
-
10
8
  # @option params [Nanoc::CLI::Command, nil] command The command that is
11
9
  # currently being executed, or nil if there is none
12
10
  def initialize(params = {})
@@ -146,15 +144,15 @@ module Nanoc::CLI
146
144
  stream.puts "Crashlog created at #{Time.now}"
147
145
 
148
146
  # Sections
149
- write_error_message(stream, error, :verbose => true)
150
- write_compilation_stack(stream, error, :verbose => true)
151
- write_stack_trace(stream, error, :verbose => true)
152
- write_version_information(stream, :verbose => true)
153
- write_system_information(stream, :verbose => true)
154
- write_installed_gems(stream, :verbose => true)
155
- write_environment(stream, :verbose => true)
156
- write_gemfile_lock(stream, :verbose => true)
157
- write_load_paths(stream, :verbose => true)
147
+ write_error_message(stream, error, verbose: true)
148
+ write_compilation_stack(stream, error, verbose: true)
149
+ write_stack_trace(stream, error, verbose: true)
150
+ write_version_information(stream, verbose: true)
151
+ write_system_information(stream, verbose: true)
152
+ write_installed_gems(stream, verbose: true)
153
+ write_environment(stream, verbose: true)
154
+ write_gemfile_lock(stream, verbose: true)
155
+ write_load_paths(stream, verbose: true)
158
156
  end
159
157
 
160
158
  protected
@@ -356,7 +354,5 @@ module Nanoc::CLI
356
354
  stream.puts " #{index}. #{i}"
357
355
  end
358
356
  end
359
-
360
357
  end
361
-
362
358
  end
@@ -3,19 +3,17 @@
3
3
  require 'singleton'
4
4
 
5
5
  module Nanoc::CLI
6
-
7
6
  # Nanoc::CLI::Logger is a singleton class responsible for generating
8
7
  # feedback in the terminal.
9
8
  class Logger
10
-
11
9
  # Maps actions (`:create`, `:update`, `:identical`, `:skip` and `:delete`)
12
10
  # onto their ANSI color codes.
13
11
  ACTION_COLORS = {
14
- :create => "\e[32m", # green
15
- :update => "\e[33m", # yellow
16
- :identical => '', # (nothing)
17
- :skip => '', # (nothing)
18
- :delete => "\e[31m" # red
12
+ create: "\e[32m", # green
13
+ update: "\e[33m", # yellow
14
+ identical: '', # (nothing)
15
+ skip: '', # (nothing)
16
+ delete: "\e[31m" # red
19
17
  }
20
18
 
21
19
  include Singleton
@@ -43,13 +41,13 @@ module Nanoc::CLI
43
41
  def file(level, action, name, duration = nil)
44
42
  log(
45
43
  level,
46
- '%s%12s%s %s%s' % [
44
+ format('%s%12s%s %s%s',
47
45
  ACTION_COLORS[action.to_sym],
48
46
  action,
49
47
  "\e[0m",
50
- duration.nil? ? '' : '[%2.2fs] ' % [duration],
48
+ duration.nil? ? '' : format('[%2.2fs] ', duration),
51
49
  name
52
- ]
50
+ )
53
51
  )
54
52
  end
55
53
 
@@ -69,7 +67,5 @@ module Nanoc::CLI
69
67
  # Log when level permits it
70
68
  io.puts(message) if @level == :low || @level == level
71
69
  end
72
-
73
70
  end
74
-
75
71
  end
@@ -1,13 +1,9 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::CLI
4
-
5
4
  module StreamCleaners
6
-
7
5
  autoload 'Abstract', 'nanoc/cli/stream_cleaners/abstract'
8
6
  autoload 'ANSIColors', 'nanoc/cli/stream_cleaners/ansi_colors'
9
7
  autoload 'UTF8', 'nanoc/cli/stream_cleaners/utf8'
10
-
11
8
  end
12
-
13
9
  end