zip_tricks 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,43 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe ZipTricks::WriteAndTell do
4
+ it 'maintains the count of bytes written' do
5
+ adapter = described_class.new('')
6
+ expect(adapter.tell).to be_zero
7
+
8
+ adapter << 'hello'
9
+ adapter << ''
10
+ adapter << '!'
11
+ expect(adapter.tell).to eq(6)
12
+ end
13
+
14
+ it 'is able to write frozen String objects in different encodings, converting them to binary' do
15
+ strs = [
16
+ [12, 123, 0, 3].pack("C*"),
17
+ "текста кусок",
18
+ "текста замороженный кусок".freeze,
19
+ [12, 123, 0, 3].pack("C*"),
20
+ ]
21
+
22
+ buf = 'превед'.force_encoding(Encoding::BINARY)
23
+ writer = described_class.new(buf)
24
+ strs.each {|s| writer << s }
25
+ expect(writer.tell).to eq(79)
26
+ expect(buf.bytesize).to eq(91) # It already contained some bytes
27
+ end
28
+
29
+ it 'advances the internal pointer using advance_position_by' do
30
+ str = ''
31
+
32
+ adapter = described_class.new(str)
33
+ expect(adapter.tell).to be_zero
34
+
35
+ adapter << 'hello'
36
+ adapter << ''
37
+ adapter << '!'
38
+ expect(adapter.tell).to eq(6)
39
+ adapter.advance_position_by(128981)
40
+ expect(adapter.tell).to eq(6 + 128981)
41
+ expect(str).to eq('hello!')
42
+ end
43
+ end
@@ -0,0 +1,90 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: zip_tricks 2.5.0 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "zip_tricks"
9
+ s.version = "2.5.0"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Julik Tarkhanov"]
14
+ s.date = "2016-05-17"
15
+ s.description = "Makes rubyzip stream, for real"
16
+ s.email = "me@julik.nl"
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ ".rspec",
24
+ ".travis.yml",
25
+ ".yardopts",
26
+ "Gemfile",
27
+ "LICENSE.txt",
28
+ "README.md",
29
+ "Rakefile",
30
+ "lib/zip_tricks.rb",
31
+ "lib/zip_tricks/block_deflate.rb",
32
+ "lib/zip_tricks/block_write.rb",
33
+ "lib/zip_tricks/manifest.rb",
34
+ "lib/zip_tricks/null_writer.rb",
35
+ "lib/zip_tricks/rack_body.rb",
36
+ "lib/zip_tricks/stored_size_estimator.rb",
37
+ "lib/zip_tricks/stream_crc32.rb",
38
+ "lib/zip_tricks/streamer.rb",
39
+ "lib/zip_tricks/write_and_tell.rb",
40
+ "spec/spec_helper.rb",
41
+ "spec/zip_tricks/block_deflate_spec.rb",
42
+ "spec/zip_tricks/block_write_spec.rb",
43
+ "spec/zip_tricks/manifest_spec.rb",
44
+ "spec/zip_tricks/rack_body_spec.rb",
45
+ "spec/zip_tricks/stored_size_estimator_spec.rb",
46
+ "spec/zip_tricks/stream_crc32_spec.rb",
47
+ "spec/zip_tricks/streamer_spec.rb",
48
+ "spec/zip_tricks/war-and-peace.txt",
49
+ "spec/zip_tricks/write_and_tell_spec.rb",
50
+ "zip_tricks.gemspec"
51
+ ]
52
+ s.homepage = "http://github.com/wetransfer/zip_tricks"
53
+ s.licenses = ["MIT"]
54
+ s.rubygems_version = "2.2.2"
55
+ s.summary = "Makes rubyzip stream, for real"
56
+
57
+ if s.respond_to? :specification_version then
58
+ s.specification_version = 4
59
+
60
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
+ s.add_runtime_dependency(%q<rubyzip>, ["~> 1.1.7"])
62
+ s.add_runtime_dependency(%q<very_tiny_state_machine>, ["~> 2"])
63
+ s.add_development_dependency(%q<rake>, ["~> 10.4"])
64
+ s.add_development_dependency(%q<rspec>, ["< 3.3", "~> 3.2.0"])
65
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
66
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
67
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
68
+ s.add_development_dependency(%q<range_utils>, [">= 0"])
69
+ else
70
+ s.add_dependency(%q<rubyzip>, ["~> 1.1.7"])
71
+ s.add_dependency(%q<very_tiny_state_machine>, ["~> 2"])
72
+ s.add_dependency(%q<rake>, ["~> 10.4"])
73
+ s.add_dependency(%q<rspec>, ["< 3.3", "~> 3.2.0"])
74
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
75
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
76
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
77
+ s.add_dependency(%q<range_utils>, [">= 0"])
78
+ end
79
+ else
80
+ s.add_dependency(%q<rubyzip>, ["~> 1.1.7"])
81
+ s.add_dependency(%q<very_tiny_state_machine>, ["~> 2"])
82
+ s.add_dependency(%q<rake>, ["~> 10.4"])
83
+ s.add_dependency(%q<rspec>, ["< 3.3", "~> 3.2.0"])
84
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
85
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
86
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
87
+ s.add_dependency(%q<range_utils>, [">= 0"])
88
+ end
89
+ end
90
+
metadata ADDED
@@ -0,0 +1,192 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zip_tricks
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.5.0
5
+ platform: ruby
6
+ authors:
7
+ - Julik Tarkhanov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-05-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubyzip
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.1.7
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.1.7
27
+ - !ruby/object:Gem::Dependency
28
+ name: very_tiny_state_machine
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.4'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.3'
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: 3.2.0
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "<"
70
+ - !ruby/object:Gem::Version
71
+ version: '3.3'
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 3.2.0
75
+ - !ruby/object:Gem::Dependency
76
+ name: rdoc
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.12'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.12'
89
+ - !ruby/object:Gem::Dependency
90
+ name: bundler
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: jeweler
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 2.0.1
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: 2.0.1
117
+ - !ruby/object:Gem::Dependency
118
+ name: range_utils
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ description: Makes rubyzip stream, for real
132
+ email: me@julik.nl
133
+ executables: []
134
+ extensions: []
135
+ extra_rdoc_files:
136
+ - LICENSE.txt
137
+ - README.md
138
+ files:
139
+ - ".document"
140
+ - ".rspec"
141
+ - ".travis.yml"
142
+ - ".yardopts"
143
+ - Gemfile
144
+ - LICENSE.txt
145
+ - README.md
146
+ - Rakefile
147
+ - lib/zip_tricks.rb
148
+ - lib/zip_tricks/block_deflate.rb
149
+ - lib/zip_tricks/block_write.rb
150
+ - lib/zip_tricks/manifest.rb
151
+ - lib/zip_tricks/null_writer.rb
152
+ - lib/zip_tricks/rack_body.rb
153
+ - lib/zip_tricks/stored_size_estimator.rb
154
+ - lib/zip_tricks/stream_crc32.rb
155
+ - lib/zip_tricks/streamer.rb
156
+ - lib/zip_tricks/write_and_tell.rb
157
+ - spec/spec_helper.rb
158
+ - spec/zip_tricks/block_deflate_spec.rb
159
+ - spec/zip_tricks/block_write_spec.rb
160
+ - spec/zip_tricks/manifest_spec.rb
161
+ - spec/zip_tricks/rack_body_spec.rb
162
+ - spec/zip_tricks/stored_size_estimator_spec.rb
163
+ - spec/zip_tricks/stream_crc32_spec.rb
164
+ - spec/zip_tricks/streamer_spec.rb
165
+ - spec/zip_tricks/war-and-peace.txt
166
+ - spec/zip_tricks/write_and_tell_spec.rb
167
+ - zip_tricks.gemspec
168
+ homepage: http://github.com/wetransfer/zip_tricks
169
+ licenses:
170
+ - MIT
171
+ metadata: {}
172
+ post_install_message:
173
+ rdoc_options: []
174
+ require_paths:
175
+ - lib
176
+ required_ruby_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ requirements: []
187
+ rubyforge_project:
188
+ rubygems_version: 2.2.2
189
+ signing_key:
190
+ specification_version: 4
191
+ summary: Makes rubyzip stream, for real
192
+ test_files: []