darkroom 0.0.7 → 0.0.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5162b1e81dd2a8a33dd280928539a3b12d549811dabfb6df542a84bd994c020a
4
- data.tar.gz: a780ff9279b4ed705716de0a2112699bb2780df8ec187c704e89ded2fab863a0
3
+ metadata.gz: 7ff7abd45467a1fd1e3f3ae707ad1ff04ff45c9e0a4f4a512fb24fc6bd794879
4
+ data.tar.gz: 03f15709d9310d94068f3706e02ac1d4998887cf3c5bb09f3463eb72875a1ae9
5
5
  SHA512:
6
- metadata.gz: bf8d935a547d44d57ff873bd236f0d719547e28eb481147e474a34b4794f17555b5c3086b8da3cf660a32505f3a736e09c20aee114c8198ca16a99ed68afd209
7
- data.tar.gz: 5fecd0018770f57f845dd2376323cd9e9e9f2f8edd5880ce695addbeb2ae685ad32e3f2b7ef526769bdc5ee06e59ee8498d490525ae1895da300a7f04ab94d65
6
+ metadata.gz: bd87bd335cb7abb1e3bf26365d0dca2247b5d5450c82ded04d16709d97031bdcf2e4e59cf345c2f5a18218be05157ee2dc4c9f1d5ef27ed07ab433bf33a968aa
7
+ data.tar.gz: d1141e492dcedde15aca909de9354756d95db7ecf4b925421711589eeef96df973126e7d603ccde93ee6d078252ea56eba6d89c9c594eef00c9ff55a3fcb666c
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
@@ -61,7 +61,7 @@ class Darkroom
61
61
  @extension = File.extname(@path).downcase
62
62
  @delegate = Darkroom.delegate(@extension) or raise(UnrecognizedExtensionError.new(@path))
63
63
 
64
- @keys = {}
64
+ @ran = Set.new
65
65
 
66
66
  if @delegate.compile_delegate && !intermediate
67
67
  @delegate = @delegate.compile_delegate
@@ -283,13 +283,16 @@ class Darkroom
283
283
  # error was recorded during the last processing run.
284
284
  #
285
285
  def modified?
286
- return @modified if ran?(:modified)
286
+ @modified_key == @darkroom.process_key ? (return @modified) : @modified_key = @darkroom.process_key
287
287
 
288
288
  begin
289
289
  @modified = !!@error
290
290
  @modified ||= (@mtime != (@mtime = File.mtime(@file)))
291
291
  @modified ||= @intermediate_asset.modified? if @intermediate_asset
292
- @modified ||= @dependencies.any? { |d| d.modified? } if @dependencies
292
+ @modified ||= dependencies.any? { |d| d.modified? }
293
+
294
+ @ran.clear if @modified
295
+
293
296
  @modified
294
297
  rescue Errno::ENOENT
295
298
  @modified = true
@@ -382,7 +385,11 @@ class Darkroom
382
385
  # Returns all dependencies (including dependencies of dependencies).
383
386
  #
384
387
  def dependencies
385
- @dependencies = accumulate(:own_dependencies) unless ran?(:dependencies)
388
+ unless ran?(:dependencies)
389
+ parse
390
+ @dependencies = accumulate(:own_dependencies)
391
+ end
392
+
386
393
  @dependencies
387
394
  end
388
395
 
@@ -399,7 +406,11 @@ class Darkroom
399
406
  # Returns all imports (including imports of imports).
400
407
  #
401
408
  def imports
402
- @imports = accumulate(:own_imports) unless ran?(:imports)
409
+ unless ran?(:imports)
410
+ parse
411
+ @imports = accumulate(:own_imports)
412
+ end
413
+
403
414
  @imports
404
415
  end
405
416
 
@@ -502,10 +513,9 @@ class Darkroom
502
513
  @own_content = compiled if compiled.kind_of?(String)
503
514
  rescue => e
504
515
  @errors << e
516
+ ensure
517
+ @own_content.freeze
505
518
  end
506
- ensure
507
- @own_content.freeze
508
- dependencies # Ensure dependency array gets built.
509
519
  end
510
520
 
511
521
  ##
@@ -551,11 +561,13 @@ class Darkroom
551
561
  # [name] Name of the method.
552
562
  #
553
563
  def ran?(name)
554
- if @keys[name] == @darkroom.process_key
564
+ modified?
565
+
566
+ if @ran.member?(name)
555
567
  true
556
568
  else
557
- @keys[name] = @darkroom.process_key
558
- name == :modified ? false : !modified?
569
+ @ran << name
570
+ false
559
571
  end
560
572
  end
561
573
 
@@ -120,7 +120,7 @@ class Darkroom
120
120
  compile do |parse_data:, path:, own_content:|
121
121
  next unless Darkroom.javascript_iife
122
122
 
123
- (parse_data[:imports] || []).each do |import_path, items|
123
+ (parse_data[:imports] || []).reverse_each do |import_path, items|
124
124
  mod_suffix = nil
125
125
  prefix = '{ ' if items.size != 1
126
126
  suffix = ' }' if items.size != 1
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Darkroom
4
- VERSION = '0.0.7'
4
+ VERSION = '0.0.8'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: darkroom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nate Pickens
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-15 00:00:00.000000000 Z
11
+ date: 2023-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler