nanoc 3.7.4 → 3.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Contains methods that will be executed by the site’s `Rules` file.
6
5
  class CompilerDSL
7
-
8
6
  # The current rules filename.
9
7
  #
10
8
  # @return [String] The current rules filename.
@@ -122,7 +120,7 @@ module Nanoc
122
120
  snapshot_name = params[:snapshot] || :last
123
121
 
124
122
  # Create rule
125
- rule = Rule.new(identifier_to_regex(identifier), rep_name, block, :snapshot_name => snapshot_name)
123
+ rule = Rule.new(identifier_to_regex(identifier), rep_name, block, snapshot_name: snapshot_name)
126
124
  @rules_collection.add_item_routing_rule(rule)
127
125
  end
128
126
 
@@ -199,7 +197,7 @@ module Nanoc
199
197
  # data source.
200
198
  item[:extension].nil? || (item[:content_filename].nil? && item.identifier =~ %r{#{item[:extension]}/$}) ? item.identifier.chop : item.identifier.chop + '.' + item[:extension]
201
199
  end
202
- routing_rule = Rule.new(identifier_to_regex(identifier), rep_name, routing_block, :snapshot_name => :last)
200
+ routing_rule = Rule.new(identifier_to_regex(identifier), rep_name, routing_block, snapshot_name: :last)
203
201
  @rules_collection.add_item_routing_rule(routing_rule)
204
202
  end
205
203
 
@@ -230,7 +228,7 @@ module Nanoc
230
228
  compilation_rule = Rule.new(identifier_to_regex(identifier), rep_name, proc {})
231
229
  @rules_collection.add_item_compilation_rule(compilation_rule)
232
230
 
233
- routing_rule = Rule.new(identifier_to_regex(identifier), rep_name, proc {}, :snapshot_name => :last)
231
+ routing_rule = Rule.new(identifier_to_regex(identifier), rep_name, proc {}, snapshot_name: :last)
234
232
  @rules_collection.add_item_routing_rule(routing_rule)
235
233
  end
236
234
 
@@ -271,7 +269,5 @@ module Nanoc
271
269
  identifier
272
270
  end
273
271
  end
274
-
275
272
  end
276
-
277
273
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Responsible for remembering dependencies between items and layouts. It is
6
5
  # used to speed up compilation by only letting an item be recompiled when it
7
6
  # is outdated or any of its dependencies (or dependencies’ dependencies,
@@ -20,7 +19,6 @@ module Nanoc
20
19
  #
21
20
  # @api private
22
21
  class DependencyTracker < ::Nanoc::Store
23
-
24
22
  # @return [Array<Nanoc::Item, Nanoc::Layout>] The list of items and
25
23
  # layouts that are being tracked by the dependency tracker
26
24
  attr_reader :objects
@@ -176,8 +174,8 @@ module Nanoc
176
174
 
177
175
  def data
178
176
  {
179
- :edges => @graph.edges,
180
- :vertices => @graph.vertices.map { |obj| obj && obj.reference }
177
+ edges: @graph.edges,
178
+ vertices: @graph.vertices.map { |obj| obj && obj.reference }
181
179
  }
182
180
  end
183
181
 
@@ -207,7 +205,5 @@ module Nanoc
207
205
  end
208
206
  end
209
207
  end
210
-
211
208
  end
212
-
213
209
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Nanoc::Filter is responsible for filtering items. It is the superclass
6
5
  # for all textual filters.
7
6
  #
@@ -27,7 +26,6 @@ module Nanoc
27
26
  #
28
27
  # @abstract Subclass and override {#run} to implement a custom filter.
29
28
  class Filter < Context
30
-
31
29
  TMP_BINARY_ITEMS_DIR = 'binary_items'
32
30
 
33
31
  # A hash containing variables that will be made available during
@@ -39,7 +37,6 @@ module Nanoc
39
37
  extend Nanoc::PluginRegistry::PluginMethods
40
38
 
41
39
  class << self
42
-
43
40
  # Sets the new type for the filter. The type can be `:binary` (default)
44
41
  # or `:text`. The given argument can either be a symbol indicating both
45
42
  # “from” and “to” types, or a hash where the only key is the “from” type
@@ -100,7 +97,6 @@ module Nanoc
100
97
  true
101
98
  end
102
99
  end
103
-
104
100
  end
105
101
 
106
102
  # Creates a new filter that has access to the given assigns.
@@ -135,7 +131,7 @@ module Nanoc
135
131
  # @return [String, void] If the filter output binary content, the return
136
132
  # value is undefined; if the filter outputs textual content, the return
137
133
  # value will be the filtered content.
138
- def run(_content_or_filename, _params = {})
134
+ def run(content_or_filename, params = {}) # rubocop:disable Lint/UnusedMethodArgument
139
135
  raise NotImplementedError.new('Nanoc::Filter subclasses must implement #run')
140
136
  end
141
137
 
@@ -186,7 +182,5 @@ module Nanoc
186
182
  raise Nanoc::Errors::UnmetDependency.new(rep) if rep
187
183
  end
188
184
  end
189
-
190
185
  end
191
-
192
186
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Represents an item representation, but provides an interface that is
6
5
  # easier to use when writing compilation and routing rules. It is also
7
6
  # responsible for fetching the necessary information from the compiler, such
@@ -10,7 +9,6 @@ module Nanoc
10
9
  # The API provided by item representation proxies allows layout identifiers
11
10
  # to be given as literals instead of as references to {Nanoc::Layout}.
12
11
  class ItemRepProxy
13
-
14
12
  extend Forwardable
15
13
 
16
14
  def_delegators :@item_rep, :item, :name, :binary, :binary?, :compiled_content, :has_snapshot?, :raw_path, :path
@@ -98,7 +96,5 @@ module Nanoc
98
96
  raise Nanoc::Errors::UnknownLayout.new(layout_identifier) if layout.nil?
99
97
  layout
100
98
  end
101
-
102
99
  end
103
-
104
100
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Represents a fake iem representation that does not actually perform any
6
5
  # actual filtering, layouting or snapshotting, but instead keeps track of
7
6
  # what would happen if a real item representation would have been used
@@ -15,7 +14,6 @@ module Nanoc
15
14
  #
16
15
  # @api private
17
16
  class ItemRepRecorderProxy
18
-
19
17
  extend Forwardable
20
18
 
21
19
  def_delegators :@item_rep, :item, :name, :binary, :binary?, :compiled_content, :has_snapshot?, :raw_path, :path, :assigns, :assigns=
@@ -97,7 +95,5 @@ module Nanoc
97
95
  true
98
96
  end
99
97
  alias_method :is_proxy?, :proxy?
100
-
101
98
  end
102
-
103
99
  end
@@ -1,12 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Responsible for determining whether an item or a layout is outdated.
6
5
  #
7
6
  # @api private
8
7
  class OutdatednessChecker
9
-
10
8
  extend Nanoc::Memoization
11
9
 
12
10
  # @option params [Nanoc::Site] :site (nil) The site this outdatedness
@@ -220,7 +218,5 @@ module Nanoc
220
218
  def site
221
219
  @site
222
220
  end
223
-
224
221
  end
225
-
226
222
  end
@@ -1,14 +1,11 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Module that contains all outdatedness reasons.
6
5
  module OutdatednessReasons
7
-
8
6
  # A generic outdatedness reason. An outdatedness reason is basically a
9
7
  # descriptive message that explains why a given object is outdated.
10
8
  class Generic
11
-
12
9
  # @return [String] A descriptive message for this outdatedness reason
13
10
  attr_reader :message
14
11
 
@@ -17,7 +14,6 @@ module Nanoc
17
14
  def initialize(message)
18
15
  @message = message
19
16
  end
20
-
21
17
  end
22
18
 
23
19
  CodeSnippetsModified = Generic.new(
@@ -40,7 +36,5 @@ module Nanoc
40
36
 
41
37
  SourceModified = Generic.new(
42
38
  'The source file of this item has been modified since the last time the site was compiled.')
43
-
44
39
  end
45
-
46
40
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Contains the processing information for a item.
6
5
  class Rule
7
-
8
6
  # @return [Regexp] The regex that determines which items this rule can be
9
7
  # applied to. This rule can be applied to items with a identifier
10
8
  # matching this regex.
@@ -67,9 +65,7 @@ module Nanoc
67
65
  raise ArgumentError, 'Required :compiler option is missing'
68
66
  end
69
67
  rep = Nanoc::ItemRepProxy.new(rep, compiler) unless rep.proxy?
70
- Nanoc::RuleContext.new(:rep => rep, :compiler => compiler).instance_eval(&@block)
68
+ Nanoc::RuleContext.new(rep: rep, compiler: compiler).instance_eval(&@block)
71
69
  end
72
-
73
70
  end
74
-
75
71
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Provides a context in which compilation and routing rules can be executed.
6
5
  # It provides access to the item representation that is being compiled or
7
6
  # routed.
@@ -17,7 +16,6 @@ module Nanoc
17
16
  #
18
17
  # @api private
19
18
  class RuleContext < Context
20
-
21
19
  # @option params [Nanoc::ItemRep] :rep The item representation that will
22
20
  # be processed in this rule context
23
21
  #
@@ -35,13 +33,13 @@ module Nanoc
35
33
  end
36
34
 
37
35
  super({
38
- :rep => rep,
39
- :item_rep => rep,
40
- :item => rep.item,
41
- :site => compiler.site,
42
- :config => compiler.site.config,
43
- :items => compiler.site.items,
44
- :layouts => compiler.site.layouts
36
+ rep: rep,
37
+ item_rep: rep,
38
+ item: rep.item,
39
+ site: compiler.site,
40
+ config: compiler.site.config,
41
+ items: compiler.site.items,
42
+ layouts: compiler.site.layouts
45
43
  })
46
44
  end
47
45
 
@@ -85,7 +83,5 @@ module Nanoc
85
83
  def snapshot(snapshot_name)
86
84
  rep.snapshot(snapshot_name)
87
85
  end
88
-
89
86
  end
90
-
91
87
  end
@@ -1,13 +1,11 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Calculates rule memories for objects that can be run through a rule (item
6
5
  # representations and layouts).
7
6
  #
8
7
  # @api private
9
8
  class RuleMemoryCalculator
10
-
11
9
  extend Nanoc::Memoization
12
10
 
13
11
  # @option params [Nanoc::RulesCollection] rules_collection The rules
@@ -35,7 +33,5 @@ module Nanoc
35
33
  result
36
34
  end
37
35
  memoize :[]
38
-
39
36
  end
40
-
41
37
  end
@@ -1,13 +1,11 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Stores rule memories for objects that can be run through a rule (item
6
5
  # representations and layouts).
7
6
  #
8
7
  # @api private
9
8
  class RuleMemoryStore < ::Nanoc::Store
10
-
11
9
  # @option params [Nanoc::Site] site The site where this rule memory store
12
10
  # belongs to
13
11
  def initialize(params = {})
@@ -47,7 +45,5 @@ module Nanoc
47
45
  def data=(new_data)
48
46
  @rule_memories = new_data
49
47
  end
50
-
51
48
  end
52
-
53
49
  end
@@ -1,12 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Keeps track of the rules in a site.
6
5
  #
7
6
  # @api private
8
7
  class RulesCollection
9
-
10
8
  # @return [String] the contents of the Rules file
11
9
  #
12
10
  # @api private
@@ -41,8 +39,8 @@ module Nanoc
41
39
 
42
40
  @item_compilation_rules = []
43
41
  @item_routing_rules = []
44
- @layout_filter_mapping = OrderedHash.new
45
- @preprocessors = OrderedHash.new
42
+ @layout_filter_mapping = {}
43
+ @preprocessors = {}
46
44
  end
47
45
 
48
46
  # Add the given rule to the list of item compilation rules.
@@ -101,8 +99,8 @@ module Nanoc
101
99
  def unload
102
100
  @item_compilation_rules = []
103
101
  @item_routing_rules = []
104
- @layout_filter_mapping = OrderedHash.new
105
- @preprocessors = OrderedHash.new
102
+ @layout_filter_mapping = {}
103
+ @preprocessors = {}
106
104
  end
107
105
 
108
106
  # Finds the first matching compilation rule for the given item
@@ -192,7 +190,7 @@ module Nanoc
192
190
  # @return [Array] The rule memory for the given item representation
193
191
  def new_rule_memory_for_rep(rep)
194
192
  recording_proxy = rep.to_recording_proxy
195
- compilation_rule_for(rep).apply_to(recording_proxy, :compiler => @compiler)
193
+ compilation_rule_for(rep).apply_to(recording_proxy, compiler: @compiler)
196
194
  recording_proxy.rule_memory << [:write, rep.path]
197
195
  make_rule_memory_serializable(recording_proxy.rule_memory)
198
196
  end
@@ -253,7 +251,5 @@ module Nanoc
253
251
  def rule_memory_calculator
254
252
  @compiler.rule_memory_calculator
255
253
  end
256
-
257
254
  end
258
-
259
255
  end
@@ -1,11 +1,9 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc
4
-
5
4
  # Provides a context and a binding for use in filters such as the ERB and
6
5
  # Haml ones.
7
6
  class Context
8
-
9
7
  # Creates a new context based off the contents of the hash.
10
8
  #
11
9
  # Each pair in the hash will be converted to an instance variable and an
@@ -42,6 +40,5 @@ module Nanoc
42
40
  def get_binding
43
41
  binding
44
42
  end
45
-
46
43
  end
47
44
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  require 'nanoc/base/core_ext/array'
4
- require 'nanoc/base/core_ext/date'
5
4
  require 'nanoc/base/core_ext/hash'
6
5
  require 'nanoc/base/core_ext/pathname'
7
6
  require 'nanoc/base/core_ext/string'
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::ArrayExtensions
4
-
5
4
  # Returns a new array where all items' keys are recursively converted to
6
5
  # symbols by calling {Nanoc::ArrayExtensions#symbolize_keys_recursively} or
7
6
  # {Nanoc::HashExtensions#symbolize_keys_recursively}.
@@ -66,7 +65,6 @@ module Nanoc::ArrayExtensions
66
65
  def checksum
67
66
  Nanoc::Checksummer.calc(self)
68
67
  end
69
-
70
68
  end
71
69
 
72
70
  class Array
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::HashExtensions
4
-
5
4
  # Returns a new hash where all keys are recursively converted to symbols by
6
5
  # calling {Nanoc::ArrayExtensions#symbolize_keys_recursively} or
7
6
  # {Nanoc::HashExtensions#symbolize_keys_recursively}.
@@ -68,7 +67,6 @@ module Nanoc::HashExtensions
68
67
  def checksum
69
68
  Nanoc::Checksummer.calc(self)
70
69
  end
71
-
72
70
  end
73
71
 
74
72
  class Hash