nanoc-core 4.12.19 → 4.12.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 335b65420add649070e6039d804ea84e64b08971860ad0a68f5c0d618a8e0c7f
4
- data.tar.gz: de87b4aa5a63db41455b0872c2aa11dc2244092a5fdfb2aad91ce7cf0cc6c7f6
3
+ metadata.gz: d6675a38101ebd10dc14bdea793786af898d8824034f13386ae3ebd1b66ca6f5
4
+ data.tar.gz: b4618d8ac489152d3bd30274365aea2fccda7a96f75875b25dbca604d0fac9a8
5
5
  SHA512:
6
- metadata.gz: 4fe24428563ad00a6bd055a6497e4871825db82d8233d7058ee5f67ec749f7034434d5a65c54f62d03c564e24149178667babb86abf7059afaeb0fd55a382e66
7
- data.tar.gz: 916affac84faa3b85957454f2833ffc486474474bea5c26af9c47e8a5ea7209e9049345400b24b50706d0fde5ab491a9b8aa901b8221d74b4d365831f4be781e
6
+ metadata.gz: 5db81b09e8c17f60baa6b190bb52864bf2ba526cb38c5e6d304c46021c00e6a0ed6aa7d9e8d55221398cd5dee7535e910ed5859fba7084bdb5950ace2a4eb6c6
7
+ data.tar.gz: 8c90d0f5dea91f2bd4d5d67f5280a34428f58553689cfc9b5576222a5a37378f46bf0668c4400426f3e2008320d106db7617ccaa8166045c7f66d033f14374fc
@@ -61,14 +61,19 @@ module Nanoc
61
61
 
62
62
  private
63
63
 
64
- def update(obj, digest, visited = Immutable::Set.new)
65
- digest.update(obj.class.to_s)
66
-
67
- if visited.include?(obj)
68
- digest.update('<recur>')
64
+ def update(obj, digest, visited = {})
65
+ num = visited[obj]
66
+ if num
67
+ # If there already is an entry for this object, refer to it by its number.
68
+ digest.update("@#{num}")
69
69
  else
70
- digest.update('<')
71
- behavior_for(obj).update(obj, digest) { |o| update(o, digest, visited.add(obj)) }
70
+ # This object isn’t known yet. Assign it a new number.
71
+ num = visited.length
72
+ visited[obj] = num
73
+
74
+ digest.update(obj.class.to_s)
75
+ digest.update("##{num}<")
76
+ behavior_for(obj).update(obj, digest) { |o| update(o, digest, visited) }
72
77
  digest.update('>')
73
78
  end
74
79
  end
@@ -21,7 +21,7 @@ module Nanoc
21
21
  # that lacks some options, the default value will be taken from
22
22
  # `DEFAULT_CONFIG`.
23
23
  DEFAULT_CONFIG = {
24
- text_extensions: %w[adoc asciidoc atom css erb haml htm html js less markdown md php rb sass scss tex txt xhtml xml coffee hb handlebars mustache ms slim rdoc].sort,
24
+ text_extensions: %w[adoc asciidoc atom css erb haml htm html js less markdown md org php rb sass scss tex txt xhtml xml coffee hb handlebars mustache ms slim rdoc].sort,
25
25
  lib_dirs: %w[lib],
26
26
  commands_dirs: %w[commands],
27
27
  output_dir: 'output',
@@ -10,19 +10,23 @@ module Nanoc
10
10
  #
11
11
  # @return [Array] The converted array
12
12
  def __nanoc_symbolize_keys_recursively
13
- array = []
14
- each do |element|
15
- array << (element.respond_to?(:__nanoc_symbolize_keys_recursively) ? element.__nanoc_symbolize_keys_recursively : element)
13
+ map do |element|
14
+ if element.respond_to?(:__nanoc_symbolize_keys_recursively)
15
+ element.__nanoc_symbolize_keys_recursively
16
+ else
17
+ element
18
+ end
16
19
  end
17
- array
18
20
  end
19
21
 
20
22
  def __nanoc_stringify_keys_recursively
21
- array = []
22
- each do |element|
23
- array << (element.respond_to?(:__nanoc_stringify_keys_recursively) ? element.__nanoc_stringify_keys_recursively : element)
23
+ map do |element|
24
+ if element.respond_to?(:__nanoc_stringify_keys_recursively)
25
+ element.__nanoc_stringify_keys_recursively
26
+ else
27
+ element
28
+ end
24
29
  end
25
- array
26
30
  end
27
31
 
28
32
  # Freezes the contents of the array, as well as all array elements. The
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Nanoc
4
4
  module Core
5
- VERSION = '4.12.19'
5
+ VERSION = '4.12.21'
6
6
  end
7
7
  end
data/lib/nanoc/core.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Ruby stdlib
4
+ require 'base64'
4
5
  require 'fiber'
5
6
  require 'find'
6
7
  require 'pstore'
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nanoc-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.12.19
4
+ version: 4.12.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Defreyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-08 00:00:00.000000000 Z
11
+ date: 2024-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.2'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: concurrent-ruby
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -303,12 +317,12 @@ files:
303
317
  - lib/nanoc/core/view_context_for_pre_compilation.rb
304
318
  - lib/nanoc/core/view_context_for_shell.rb
305
319
  - lib/nanoc/core/yaml_loader.rb
306
- homepage: https://nanoc.ws/
320
+ homepage: https://nanoc.app/
307
321
  licenses:
308
322
  - MIT
309
323
  metadata:
310
324
  rubygems_mfa_required: 'true'
311
- source_code_uri: https://github.com/nanoc/nanoc/tree/nanoc-core-v4.12.19/nanoc-core
325
+ source_code_uri: https://github.com/nanoc/nanoc/tree/nanoc-core-v4.12.21/nanoc-core
312
326
  post_install_message:
313
327
  rdoc_options: []
314
328
  require_paths:
@@ -324,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
324
338
  - !ruby/object:Gem::Version
325
339
  version: '0'
326
340
  requirements: []
327
- rubygems_version: 3.4.22
341
+ rubygems_version: 3.5.9
328
342
  signing_key:
329
343
  specification_version: 4
330
344
  summary: Core of Nanoc