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
@@ -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