gzsl 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gzsl.rb +34 -0
  3. data/lib/gzsl/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: daf63a2862629ef6817e62da926c8a35ada2f24bc4f9adca3ee987527a2c1f3e
4
- data.tar.gz: 40306a43ffdee5bca5782202d3bcce11c5030c971dab2929fd3e3239436bbb42
3
+ metadata.gz: 6fa8f321bf41f37407f0464fa2dbe8228c396242deea084f645a0c09e6e9a388
4
+ data.tar.gz: 13445b95b97b5e5b8d98f2470335500f0c815b858e0d3567f0c4be495b76541d
5
5
  SHA512:
6
- metadata.gz: b07efe02e545402d172a04e4653516b5e0273729ae839bfa438596dd80be0b765aa04335825faf595d832e283f254d9d25a92cc16f1c55fd571508dca0ebf718
7
- data.tar.gz: 2629a50a44822a01cd67787df7684dfe5868006a3d1f542bef53caf33a08b38c4c0885fe38fd49006f64d7b40d260a6273611a165e8b2eb8230ecd4182a8e71b
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
@@ -1,3 +1,3 @@
1
1
  module Gzsl
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
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.1
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-15 00:00:00.000000000 Z
11
+ date: 2019-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler