gzsl 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gzsl.rb +34 -0
- data/lib/gzsl/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fa8f321bf41f37407f0464fa2dbe8228c396242deea084f645a0c09e6e9a388
|
4
|
+
data.tar.gz: 13445b95b97b5e5b8d98f2470335500f0c815b858e0d3567f0c4be495b76541d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46868301f63c7ad1df191ae14896384136482b5f2feaf102d46e3fe452e352b36746b0461fd0f904e7a2238b98ac1661d474de578ff49f628396394a1af98cec
|
7
|
+
data.tar.gz: 2915b7012f6d15d0c77fbbac5c8c610ac9e0cb5673957289bc421091746b8b2d9b9159decbac91be06ab5748334145bbe945389af5b2991bb847c107d9d067a3
|
data/lib/gzsl.rb
CHANGED
@@ -1,4 +1,38 @@
|
|
1
1
|
require "gzsl/version"
|
2
|
+
require "dastbytes"
|
2
3
|
|
3
4
|
module Gzsl
|
5
|
+
def self.generate( output_file_path, image_file_paths )
|
6
|
+
return false if image_file_paths.empty?
|
7
|
+
|
8
|
+
File.open( output_file_path, "wb" ){|output_file|
|
9
|
+
output_file.write Dastbytes::Binary.pack( :uint8, 0 )
|
10
|
+
output_file.write Dastbytes::Binary.pack( :uint16, image_file_paths.size )
|
11
|
+
image_file_paths.each{|image_file_path|
|
12
|
+
File.open( image_file_path, "rb" ){|input_file|
|
13
|
+
bytes = input_file.read
|
14
|
+
output_file.write Dastbytes::Binary.pack( :uint32, bytes.size )
|
15
|
+
output_file.write bytes
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
true
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.parse( path )
|
23
|
+
return nil if ! File.exists?( path )
|
24
|
+
|
25
|
+
gzsl_hash = {
|
26
|
+
:flags => 0,
|
27
|
+
:images => []
|
28
|
+
}
|
29
|
+
File.open( path, "rb" ){|f|
|
30
|
+
gzsl_hash[ :flags ] = Dastbytes::Binary.unpack( :uint8, f.read( 1 ) ).first
|
31
|
+
Dastbytes::Binary.unpack( :uint16, f.read( 2 ) ).first.times{
|
32
|
+
image_size = Dastbytes::Binary.unpack( :uint32, f.read( 4 ) ).first
|
33
|
+
gzsl_hash[ :images ].push f.read( image_size )
|
34
|
+
}
|
35
|
+
}
|
36
|
+
gzsl_hash
|
37
|
+
end
|
4
38
|
end
|
data/lib/gzsl/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gzsl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mskz-3110
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-05-
|
11
|
+
date: 2019-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|