rabbit_file_split 0.0.4 → 0.0.5

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
  SHA1:
3
- metadata.gz: d733a3c136cce447eee89eb625dfb82d16e1e176
4
- data.tar.gz: f9e222c52138b404da209286ac29b2ee32211397
3
+ metadata.gz: 50e12adc965739b2df69cfc9888aba3c0d7582c5
4
+ data.tar.gz: 36a2cc59e688e6b1e132b7e24d5e168f4d5e7326
5
5
  SHA512:
6
- metadata.gz: 7c541da6d19141f7a758547311f5ba237ee38f08ce1d2f03200cd4f062999b44276f14eef66902e02889cfc5bdfaae2c8f87e23606c02eb58215b6c9d9f51c7f
7
- data.tar.gz: 54048b844355e26b4fc28f8d25b8a4a1017719bde4e70ab2419dd0333ebccbe30d45fd1a8d3d9f426b9bfdd433041fc7c3bc98d2022794d9b4c187dffba86831
6
+ metadata.gz: 7592f5145213b5beada0cc48f4972a3eaaae189df5603d5d745e360b4cc4f7edc09e32c90be3f45294d016cfda9df16017cbbaa6ef949c50e5651ce2608ae619
7
+ data.tar.gz: a7833f531b2aa46ff028459c8c259a3976ca2f1fa25877ba0fd5615602bae36a8f8e2a77c58b5e146e6cd590b6608863fbe90b16e5e151dbeb9ab281931dbb93
data/README.md CHANGED
@@ -27,6 +27,13 @@ Or install it yourself as:
27
27
  split_file_list = RabbitFileSplit::Bytes.new(file_path).split(1048576, file_prefix: 'object', dest_file_path: '/tmp')
28
28
  split_file_list = RabbitFileSplit::Bytes.new(file_path).split(1048576, file_prefix: 'object', dest_file_path: '/tmp', buffer_size: 8096)
29
29
 
30
+ ### Support byte Format
31
+
32
+ Integer + unit(KB/MB/GB)
33
+
34
+ split_file_list = RabbitFileSplit::Bytes.new(file_path).split('1KB') 1024 Byte
35
+ split_file_list = RabbitFileSplit::Bytes.new(file_path).split('1MB') 1048576 Byte
36
+ split_file_list = RabbitFileSplit::Bytes.new(file_path).split('1GB') 1073741824 Byte
30
37
 
31
38
  ## Contributing
32
39
 
@@ -5,4 +5,4 @@ require 'rabbit_file_split'
5
5
  rabbit_file_split = RabbitFileSplit::Bytes.new(ARGV[0])
6
6
 
7
7
  #ex 1048576 (1MB)
8
- rabbit_file_split.split(ARGV[1].to_i, dest_file_path: ARGV[2])
8
+ rabbit_file_split.split(ARGV[1], dest_file_path: ARGV[2])
@@ -0,0 +1,17 @@
1
+ module RabbitFileSplit
2
+ module ByteFormat
3
+
4
+ def to_byte(n_byte)
5
+ case n_byte
6
+ when /(\d)KB/ then
7
+ n_byte.sub(/KB/,'').to_i * 1024
8
+ when /(\d)MB/ then
9
+ n_byte.sub(/MB/,'').to_i * 1048576
10
+ when /(\d)GB/ then
11
+ n_byte.sub(/GB/,'').to_i * 1073741824
12
+ else
13
+ n_byte.to_i
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,8 +1,9 @@
1
1
  require 'digest/md5'
2
+ require 'rabbit_file_split/byte_format'
2
3
 
3
4
  module RabbitFileSplit
4
5
  class Bytes
5
-
6
+ include RabbitFileSplit::ByteFormat
6
7
  # GNU utils split.c bytes_split interface
7
8
  # bytes_split (uintmax_t n_bytes, char *buf, size_t bufsize, size_t initial_read, uintmax_t max_files)
8
9
 
@@ -21,14 +22,14 @@ module RabbitFileSplit
21
22
  @original_file_size = File.size(file_path)
22
23
  end
23
24
 
24
- # @param [Integer] n_bytes base byte num
25
+ # @param [String] n_bytes base byte num or N + byte unit
25
26
  # @param [String] file_prefix file_prefix. default is original file name
26
27
  # @param [String] dest_file_path generate split file directory
27
28
  # @param [String] buffer_size file buffer size
28
29
  # @return void
29
30
  def split(n_bytes, file_prefix: @file_base_name, dest_file_path: @file_parent_path, buffer_size: BUFFER_SIZE)
30
31
  start_time = Time.now
31
-
32
+ n_bytes = to_byte(n_bytes)
32
33
  total_readed_byte = 0
33
34
  unit_readed_byte = 0
34
35
  @split_file_num = 1
@@ -1,3 +1,3 @@
1
1
  module RabbitFileSplit
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbit_file_split
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - AKB428
@@ -53,6 +53,7 @@ files:
53
53
  - Rakefile
54
54
  - bin/split.rb
55
55
  - lib/rabbit_file_split.rb
56
+ - lib/rabbit_file_split/byte_format.rb
56
57
  - lib/rabbit_file_split/bytes.rb
57
58
  - lib/rabbit_file_split/version.rb
58
59
  - rabbit_file_split.gemspec