wahwah 1.6.1 → 1.6.2

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: d366d9e5b09b02f94de258c09e03b9d107dda83fe31052bf9b93696e669aac08
4
- data.tar.gz: 5a6cc11a98174b658d2b35d3440940023e7aec4a2cb964636c58930d9690338a
3
+ metadata.gz: b3a02fc03d0532cd3083005e42d0609cc56cec7648027367ba56fa13054538a7
4
+ data.tar.gz: df4d540b3bd4a721e99efc02ba19e19f369c1ba58ac6e29c6ad84a22fa6adf34
5
5
  SHA512:
6
- metadata.gz: 47ad25531fe9835c08f0db10ca919cb73f5688237d19586e7b4f0b7cfacd85c176d2e6555243a1ed566c092dcfea83f39fd9f5c9869240f9a0f3b4b2c056bd64
7
- data.tar.gz: 8284a87d145252d60146f5bf2a2fa42c0201422b72ecc4755388a65ff6d2e890b2d029059d9c5d7199b9dd7f873309e38b0890faeae8a3910b960e38556f4c53
6
+ metadata.gz: 2ce069bbe3e5c1db3735f0aa5cb7de9be1de9f0755b8fdce90a163473039041da63351457149e674a61181840fbe0066032fc03b270c6fca030a3c39ee80b64b
7
+ data.tar.gz: c7edf5a8987c8e54e46b521d3650fe84524dda3911e801ba85eb64ab4df4802e6ff43267b2fbca237924cf9eecc2948bd695e3f339cf48cf0f30eef213ee771c
@@ -55,6 +55,12 @@ module WahWah
55
55
  Ogg::FlacTag.new(identification_packet, comment_packet)
56
56
  end
57
57
 
58
+ # Eagerly calculate duration and bitrate when open from path
59
+ if from_path
60
+ @duration = parse_duration
61
+ @bitrate = parse_bitrate
62
+ end
63
+
58
64
  @bit_depth = parse_bit_depth
59
65
  end
60
66
 
data/lib/wahwah/tag.rb CHANGED
@@ -23,10 +23,12 @@ module WahWah
23
23
  :bitrate,
24
24
  :sample_rate,
25
25
  :bit_depth,
26
- :file_size
26
+ :file_size,
27
+ :from_path
27
28
  )
28
29
 
29
- def initialize(io)
30
+ def initialize(io, from_path: false)
31
+ @from_path = from_path
30
32
  @file_size = io.size
31
33
  @file_io = io
32
34
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WahWah
4
- VERSION = "1.6.1"
4
+ VERSION = "1.6.2"
5
5
  end
data/lib/wahwah.rb CHANGED
@@ -61,13 +61,13 @@ module WahWah
61
61
  }.freeze
62
62
 
63
63
  def self.open(path_or_io)
64
- with_io path_or_io do |io|
64
+ with_io path_or_io do |io, from_path|
65
65
  file_format = Helper.file_format io
66
66
 
67
67
  raise WahWahArgumentError, "No supported format found" unless support_formats.include? file_format
68
68
 
69
69
  FORMATE_MAPPING.each do |tag, formats|
70
- break const_get(tag).new(io) if formats.include?(file_format)
70
+ break const_get(tag).new(io, **from_path) if formats.include?(file_format)
71
71
  end
72
72
  end
73
73
  end
@@ -84,10 +84,11 @@ module WahWah
84
84
  raise WahWahArgumentError, "File is unreadable" unless File.readable? path_or_io
85
85
  raise WahWahArgumentError, "File is empty" unless File.size(path_or_io) > 0
86
86
 
87
- path_or_io.open(&block)
87
+ path_or_io.open do |io|
88
+ block.call(io, from_path: true)
89
+ end
88
90
  else
89
-
90
- block.call path_or_io
91
+ block.call(path_or_io, from_path: false)
91
92
  end
92
93
  end
93
94
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wahwah
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - aidewoode
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-07 00:00:00.000000000 Z
11
+ date: 2024-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler