rabbit_file_split 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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