framy_mp3 0.1.0 → 0.1.1

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: df66f43f7b69142cbcf47b685af5818122f20a8d8f89418a324fae40118b25e2
4
- data.tar.gz: bbe6bd841b4ea275bbfa5c3be04234ae2cd255819fc13f826e72eb9ae9ef1a5b
3
+ metadata.gz: f7219d3a54810ab772dde3b6836534fc4b4af890f03ad52fa1f72d38a1315706
4
+ data.tar.gz: 63b0905ef720cfd03af0504627b21150063009493e6ae02720c52dae587dff69
5
5
  SHA512:
6
- metadata.gz: 4159ee84fb1f841a24fe2f0736652d4bec04e1b82a17c792897f712d932b032c014faf96a10ce9d91db97b1d856d7e1f6674209b28a7d144a8a6dcb8349aab37
7
- data.tar.gz: 227b895ccc1187f952d2f87bd5afc359ba10780d05cc2e7908bf991af93ea2353b8759fb12947cf35ddda124611bac6b33accd297deb35616e314ff3461503c6
6
+ metadata.gz: ab5891df203bf7e8a8c09130e908ff28cc809d07970e1c03a7c99ed04633cb97f6c1639a37a6b889f145d289aecbbbce56ffc604e0f6c98bd38acb85fb1f5a23
7
+ data.tar.gz: 031f8a00e8a657e0c30ccb37f23a3ccddc1e4ff728636638dd4770780d9c93e79dd35a5ad000887c9b3b168ce0641eb207c5d10390e975dffd1e3d6dc4be1754
@@ -1,12 +1,35 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- framy_mp3 (0.1.0)
4
+ framy_mp3 (0.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ coderay (1.1.2)
10
+ diff-lcs (1.3)
11
+ method_source (0.9.0)
12
+ pry (0.11.3)
13
+ coderay (~> 1.1.0)
14
+ method_source (~> 0.9.0)
9
15
  rake (10.5.0)
16
+ rspec (3.7.0)
17
+ rspec-core (~> 3.7.0)
18
+ rspec-expectations (~> 3.7.0)
19
+ rspec-mocks (~> 3.7.0)
20
+ rspec-core (3.7.1)
21
+ rspec-support (~> 3.7.0)
22
+ rspec-expectations (3.7.0)
23
+ diff-lcs (>= 1.2.0, < 2.0)
24
+ rspec-support (~> 3.7.0)
25
+ rspec-mocks (3.7.0)
26
+ diff-lcs (>= 1.2.0, < 2.0)
27
+ rspec-support (~> 3.7.0)
28
+ rspec-nc (0.3.0)
29
+ rspec (>= 3)
30
+ terminal-notifier (>= 1.4)
31
+ rspec-support (3.7.1)
32
+ terminal-notifier (2.0.0)
10
33
 
11
34
  PLATFORMS
12
35
  ruby
@@ -14,7 +37,10 @@ PLATFORMS
14
37
  DEPENDENCIES
15
38
  bundler (~> 1.16)
16
39
  framy_mp3!
40
+ pry
17
41
  rake (~> 10.0)
42
+ rspec
43
+ rspec-nc
18
44
 
19
45
  BUNDLED WITH
20
46
  1.16.1
data/README.md CHANGED
@@ -22,12 +22,6 @@ Or install it yourself as:
22
22
 
23
23
  TODO: Write usage instructions here
24
24
 
25
- ## Development
26
-
27
- After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
28
-
29
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
30
-
31
25
  ## Contributing
32
26
 
33
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/framy_mp3.
27
+ Bug reports and pull requests are welcome on GitHub at https://github.com/kobsy/framy_mp3.
data/Rakefile CHANGED
@@ -1,2 +1,9 @@
1
+ require "rspec/core/rake_task"
1
2
  require "bundler/gem_tasks"
2
- task :default => :spec
3
+
4
+ RSpec::Core::RakeTask.new(:spec) do |task|
5
+ task.rspec_opts = %w{--color --format documentation}
6
+ end
7
+
8
+ task default: :spec
9
+ task test: :spec
@@ -20,5 +20,8 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.16"
23
+ spec.add_development_dependency "pry"
23
24
  spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "rspec"
26
+ spec.add_development_dependency "rspec-nc"
24
27
  end
@@ -36,6 +36,13 @@ module FramyMP3
36
36
  end
37
37
  alias to_s to_blob
38
38
 
39
+ def dup
40
+ super.tap do |new_file|
41
+ new_file.instance_variable_set :@frames, frames.map(&:dup)
42
+ new_file.instance_variable_set :@tags, tags.map(&:dup)
43
+ end
44
+ end
45
+
39
46
  def variable_bitrate?
40
47
  initial_bitrate = frames.first.bitrate
41
48
  frames[1..-1].any? do |frame|
@@ -125,7 +132,7 @@ module FramyMP3
125
132
 
126
133
  # Nothing found. Shift the buffer forward by one byte and try again.
127
134
  buffer.shift
128
- next_byte = stream.read(1)&.unpack("C")
135
+ next_byte = stream.read(1)&.unpack("C")&.first
129
136
  return if next_byte.nil?
130
137
  buffer << next_byte
131
138
  end
@@ -227,7 +227,7 @@ module FramyMP3
227
227
  xing_frame.data = ([ 0 ] * length).pack("C")
228
228
  StringIO.open(xing_frame.data, "r+b") do |xing_data|
229
229
  # Copy over the frame header
230
- xing_data.write header
230
+ xing_data.write header.pack("C4")
231
231
 
232
232
  # Determine the Xing header offset
233
233
  offset = 4 + side_information_size
@@ -1,4 +1,4 @@
1
1
  module FramyMP3
2
- VERSION = "0.1.0".freeze
2
+ VERSION = "0.1.1".freeze
3
3
 
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: framy_mp3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Kobs
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-14 00:00:00.000000000 Z
11
+ date: 2018-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,34 @@ dependencies:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-nc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  description:
42
84
  email:
43
85
  - matt.kobs@cph.org