darkroom 0.0.7 → 0.0.8

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