em-files 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 62ff47859673a6926ae57bbdcda8ca008c6c984e
4
+ data.tar.gz: 63012e9ebab2c65fca2a46d8a3206881983b191f
5
+ SHA512:
6
+ metadata.gz: 4b42eb937b66da976d1287dd2dd01200c8ff0229dfe7f3738df7ed17b39ac124e84a088087719c7b28f623c22003a987a49f2ea853289b11f89886d56c1bbd9d
7
+ data.tar.gz: 8417c47d9eab4d9e02ecdf478b7b0fe767d89db5d23bbde324e7f66fbc08a18275d725d2a969120f1006c306f8a49d91947c64de9f3e8f307c164ace434397d6
data/Gemfile CHANGED
@@ -1,13 +1,13 @@
1
1
  source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
- gem "eventmachine", ">= 0.12.10"
4
+ gem "eventmachine", ">= 0"
5
5
  gem "hash-utils", ">= 0.14.0"
6
6
 
7
7
  # Add dependencies to develop your gem here.
8
8
  # Include everything needed to run rake, tests, features, etc.
9
9
  group :development do
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.5.2"
10
+ gem "bundler", ">= 1.0.0"
11
+ gem "jeweler", ">= 1.5.2"
12
12
  gem "riot", ">= 0.12.1"
13
13
  end
data/Gemfile.lock CHANGED
@@ -1,24 +1,66 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- eventmachine (0.12.10)
5
- git (1.2.5)
6
- hash-utils (0.14.0)
7
- jeweler (1.5.2)
8
- bundler (~> 1.0.0)
4
+ addressable (2.3.8)
5
+ builder (3.2.2)
6
+ descendants_tracker (0.0.4)
7
+ thread_safe (~> 0.3, >= 0.3.1)
8
+ eventmachine (1.0.7)
9
+ faraday (0.9.1)
10
+ multipart-post (>= 1.2, < 3)
11
+ git (1.2.9.1)
12
+ github_api (0.12.3)
13
+ addressable (~> 2.3)
14
+ descendants_tracker (~> 0.0.4)
15
+ faraday (~> 0.8, < 0.10)
16
+ hashie (>= 3.3)
17
+ multi_json (>= 1.7.5, < 2.0)
18
+ nokogiri (~> 1.6.3)
19
+ oauth2
20
+ hash-utils (2.2.0)
21
+ ruby-version (>= 0.4.0)
22
+ hashie (3.4.2)
23
+ highline (1.7.2)
24
+ jeweler (2.0.1)
25
+ builder
26
+ bundler (>= 1.0)
9
27
  git (>= 1.2.5)
28
+ github_api
29
+ highline (>= 1.6.15)
30
+ nokogiri (>= 1.5.10)
10
31
  rake
11
- rake (0.8.7)
12
- riot (0.12.2)
32
+ rdoc
33
+ jwt (1.5.1)
34
+ mini_portile (0.6.2)
35
+ multi_json (1.11.2)
36
+ multi_xml (0.5.5)
37
+ multipart-post (2.0.0)
38
+ nokogiri (1.6.6.2)
39
+ mini_portile (~> 0.6.0)
40
+ oauth2 (1.0.0)
41
+ faraday (>= 0.8, < 0.10)
42
+ jwt (~> 1.0)
43
+ multi_json (~> 1.3)
44
+ multi_xml (~> 0.5)
45
+ rack (~> 1.2)
46
+ rack (1.6.4)
47
+ rake (10.4.2)
48
+ rdoc (4.2.0)
49
+ riot (0.12.7)
13
50
  rr
14
- rr (1.0.2)
51
+ rr (1.1.2)
52
+ ruby-version (0.4.3)
53
+ thread_safe (0.3.5)
15
54
 
16
55
  PLATFORMS
17
56
  ruby
18
57
 
19
58
  DEPENDENCIES
20
- bundler (~> 1.0.0)
21
- eventmachine (>= 0.12.10)
59
+ bundler (>= 1.0.0)
60
+ eventmachine
22
61
  hash-utils (>= 0.14.0)
23
- jeweler (~> 1.5.2)
62
+ jeweler (>= 1.5.2)
24
63
  riot (>= 0.12.1)
64
+
65
+ BUNDLED WITH
66
+ 1.10.5
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011 Martin Kozák (martinkozak@martinkozak.net)
1
+ Copyright (c) 2011 - 2015 Martin Poljak (martin@poljak.cz)
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,85 +1,86 @@
1
1
  EventMachine Files
2
2
  ==================
3
3
 
4
- **em-files** solve problem of blocking disk IO when operating with
4
+ **em-files** solve problem of blocking disk IO when operating with
5
5
  large files. Use [EventMachine][4] for multiplexing reads and writes
6
6
  to small blocks performed in standalone EM ticks. They speed down the
7
- file IO operations of sure, but allow running other tasks with them
7
+ file IO operations of sure, but allow running other tasks with them
8
8
  simultaneously (from EM point of view).
9
9
 
10
+ There is, of sure, question whethet this all has sense as `EM::defer` is availiable for handing these blocking tasks. But sometimes are situations, in which it's undesirable to do them in separate thread.
11
+
10
12
  API is similar to classic Ruby file IO represented by [File][1] class.
11
13
  See an example:
12
-
13
- require "em-files"
14
- EM::run do
15
- EM::File::open("some_file.txt", "r") do |io|
16
- io.read(1024) do |data| # writing works by very similar way, of sure
17
- puts data
18
- io.close() # it's necessary to do it in block too, because reading is evented
19
- end
14
+ ```ruby
15
+ require "em-files"
16
+ EM::run do
17
+ EM::File::open("some_file.txt", "r") do |io|
18
+ io.read(1024) do |data| # writing works by very similar
19
+ # way, of sure
20
+ puts data
21
+ io.close()
22
+ # it's necessary to do it in block too, because reading
23
+ # is evented
20
24
  end
21
25
  end
22
-
26
+ end
27
+ ```
28
+
23
29
  Support of Ruby API is limited to `#open`, `#close`, `#read` and `#write`
24
30
  methods only, so for special operations use simply:
25
31
 
26
- EM::File::open("some_file.txt", "r") do |io|
27
- io.native # returns native Ruby File class object
28
- end
29
-
32
+ ```ruby
33
+ EM::File::open("some_file.txt", "r") do |io|
34
+ io.native # returns native Ruby File class object
35
+ end
36
+ ```
37
+
30
38
  ### Special Uses
31
39
 
32
- It's possible to use also another IO objects than `File` object by
40
+ It's possible to use also another IO objects than `File` object by
33
41
  giving appropriate IO instance instead of filename to methods:
34
42
 
35
- require "em-files"
36
- require "stringio"
37
-
38
- io = StringIO::new
39
-
40
- EM::run do
41
- EM::File::open(io) do |io|
42
- # some multiplexed operations
43
- end
43
+ ```ruby
44
+ require "em-files"
45
+ require "stringio"
46
+
47
+ io = StringIO::new
48
+
49
+ EM::run do
50
+ EM::File::open(io) do |io|
51
+ # some multiplexed operations
44
52
  end
45
-
53
+ end
54
+ ```
55
+
46
56
  By this way you can also perform for example more time consuming
47
- operations by simple way (if they can be processed in block manner)
57
+ operations by simple way (if they can be processed in block manner)
48
58
  using filters:
49
59
 
50
- require "em-files"
51
- require "zlib"
60
+ ```ruby
61
+ require "em-files"
62
+ require "zlib"
52
63
 
53
- zip = Zlib::Deflate::new
54
- filter = Proc::new { |chunk| zip.deflate(chunk, Zlib::SYNC_FLUSH) }
55
- data = "..." # some data bigger than big
56
-
57
- EM::run do
58
- EM::File::write(data, filter) # done in several ticks
59
- end
60
-
61
- `#write` supports also copying data from another IO stream because it
62
- uses `StringIO` internally. Simply give it IO object instead of
63
- `String`. It will read it until EOF will occur.
64
+ zip = Zlib::Deflate::new
65
+ filter = Proc::new { |chunk| zip.deflate(chunk, Zlib::SYNC_FLUSH) }
66
+ data = "..." # some data bigger than big
67
+
68
+ EM::run do
69
+ EM::File::write(data, filter) # done in several ticks
70
+ end
71
+ ```
64
72
 
65
-
66
- Contributing
67
- ------------
73
+ `#write` supports also copying data from another IO stream because it
74
+ uses `StringIO` internally. Simply give it IO object instead of
75
+ `String`. It will read it until EOF will occur.
68
76
 
69
- 1. Fork it.
70
- 2. Create a branch (`git checkout -b 20101220-my-change`).
71
- 3. Commit your changes (`git commit -am "Added something"`).
72
- 4. Push to the branch (`git push origin 20101220-my-change`).
73
- 5. Create an [Issue][2] with a link to your branch.
74
- 6. Enjoy a refreshing Diet Coke and wait.
75
77
 
76
78
  Copyright
77
79
  ---------
78
80
 
79
- Copyright &copy; 2011 [Martin Kozák][3]. See `LICENSE.txt` for
80
- further details.
81
+ Copyright &copy; 2011 &ndash; 2015 [Martin Poljak][3]. See `LICENSE.txt` for further details.
81
82
 
82
83
  [1]: http://www.ruby-doc.org/core/classes/File.html
83
84
  [2]: http://github.com/martinkozak/em-files/issues
84
- [3]: http://www.martinkozak.net/
85
+ [3]: http://www.martinpoljak.net/
85
86
  [4]: http://rubyeventmachine.com/
data/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
1
  # encoding: utf-8
2
2
  require 'rubygems'
3
3
  require 'bundler'
4
+
4
5
  begin
5
6
  Bundler.setup(:default, :development)
6
7
  rescue Bundler::BundlerError => e
@@ -8,30 +9,21 @@ rescue Bundler::BundlerError => e
8
9
  $stderr.puts "Run `bundle install` to install missing gems"
9
10
  exit e.status_code
10
11
  end
11
- require 'rake'
12
12
 
13
+ require 'rake'
13
14
  require 'jeweler'
15
+
14
16
  Jeweler::Tasks.new do |gem|
15
17
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
16
18
  gem.name = "em-files"
17
19
  gem.homepage = "https://github.com/martinkozak/em-files"
18
20
  gem.license = "MIT"
19
21
  gem.summary = "Sequenced file reader and writer through EventMachine. Solves problem of blocking disk IO when operating with large files."
20
- gem.email = "martinkozak@martinkozak.net"
21
- gem.authors = ["Martin Kozák"]
22
+ gem.email = "martin@poljak.cz"
23
+ gem.authors = ["Martin Poljak"]
22
24
  # Include your dependencies below. Runtime dependencies are required when using your gem,
23
25
  # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
26
  # gem.add_runtime_dependency 'jabber4r', '> 0.1'
25
27
  # gem.add_development_dependency 'rspec', '> 1.2.3'
26
28
  end
27
29
  Jeweler::RubygemsDotOrgTasks.new
28
-
29
- require 'rake/rdoctask'
30
- Rake::RDocTask.new do |rdoc|
31
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
32
-
33
- rdoc.rdoc_dir = 'rdoc'
34
- rdoc.title = "qrpc #{version}"
35
- rdoc.rdoc_files.include('README*')
36
- rdoc.rdoc_files.include('lib/**/*.rb')
37
- end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.3
data/em-files.gemspec CHANGED
@@ -2,15 +2,17 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: em-files 0.2.3 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
- s.name = %q{em-files}
8
- s.version = "0.2.2"
8
+ s.name = "em-files"
9
+ s.version = "0.2.3"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Martin Kozák"]
12
- s.date = %q{2011-03-25}
13
- s.email = %q{martinkozak@martinkozak.net}
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Martin Poljak"]
14
+ s.date = "2015-07-18"
15
+ s.email = "martin@poljak.cz"
14
16
  s.extra_rdoc_files = [
15
17
  "LICENSE.txt",
16
18
  "README.md"
@@ -27,33 +29,32 @@ Gem::Specification.new do |s|
27
29
  "lib/em-files.rb",
28
30
  "test.rb"
29
31
  ]
30
- s.homepage = %q{https://github.com/martinkozak/em-files}
32
+ s.homepage = "https://github.com/martinkozak/em-files"
31
33
  s.licenses = ["MIT"]
32
- s.require_paths = ["lib"]
33
- s.rubygems_version = %q{1.6.2}
34
- s.summary = %q{Sequenced file reader and writer through EventMachine. Solves problem of blocking disk IO when operating with large files.}
34
+ s.rubygems_version = "2.4.5"
35
+ s.summary = "Sequenced file reader and writer through EventMachine. Solves problem of blocking disk IO when operating with large files."
35
36
 
36
37
  if s.respond_to? :specification_version then
37
- s.specification_version = 3
38
+ s.specification_version = 4
38
39
 
39
40
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
40
- s.add_runtime_dependency(%q<eventmachine>, [">= 0.12.10"])
41
+ s.add_runtime_dependency(%q<eventmachine>, [">= 0"])
41
42
  s.add_runtime_dependency(%q<hash-utils>, [">= 0.14.0"])
42
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
43
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
43
+ s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
44
+ s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
44
45
  s.add_development_dependency(%q<riot>, [">= 0.12.1"])
45
46
  else
46
- s.add_dependency(%q<eventmachine>, [">= 0.12.10"])
47
+ s.add_dependency(%q<eventmachine>, [">= 0"])
47
48
  s.add_dependency(%q<hash-utils>, [">= 0.14.0"])
48
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
49
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
49
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
50
+ s.add_dependency(%q<jeweler>, [">= 1.5.2"])
50
51
  s.add_dependency(%q<riot>, [">= 0.12.1"])
51
52
  end
52
53
  else
53
- s.add_dependency(%q<eventmachine>, [">= 0.12.10"])
54
+ s.add_dependency(%q<eventmachine>, [">= 0"])
54
55
  s.add_dependency(%q<hash-utils>, [">= 0.14.0"])
55
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
56
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
56
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
57
+ s.add_dependency(%q<jeweler>, [">= 1.5.2"])
57
58
  s.add_dependency(%q<riot>, [">= 0.12.1"])
58
59
  end
59
60
  end
data/lib/em-files.rb CHANGED
@@ -39,6 +39,7 @@ module EM
39
39
  # @param [Integer] rwsize size of block operated during one tick
40
40
  # @param [Proc] block syntactic sugar for wrapping File access object
41
41
  # @return [File] file access object
42
+ # @yield [File] file access object
42
43
  #
43
44
 
44
45
  def self.open(filepath, mode = "r", rwsize = self::RWSIZE, &block) # 64 kilobytes
@@ -46,7 +47,7 @@ module EM
46
47
 
47
48
  file = self::new(filepath, mode, rwsize)
48
49
  if not block.nil?
49
- block.call(file)
50
+ yield file
50
51
  end
51
52
 
52
53
  return file
@@ -62,6 +63,7 @@ module EM
62
63
  # @param [Proc] filter filter which for postprocessing each
63
64
  # read chunk
64
65
  # @param [Proc] block block for giving back the result
66
+ # @yield [String] read data
65
67
  #
66
68
 
67
69
 
@@ -70,7 +72,7 @@ module EM
70
72
  self::open(filepath, "rb", rwsize) do |io|
71
73
  io.read(nil, filter) do |out|
72
74
  io.close()
73
- block.call(out)
75
+ yield out
74
76
  end
75
77
  end
76
78
  end
@@ -87,6 +89,7 @@ module EM
87
89
  # written chunk
88
90
  # @param [Proc] block block called when writing is finished with
89
91
  # written bytes size count as parameter
92
+ # @yield [Integer] really written data length
90
93
  #
91
94
 
92
95
  def self.write(filepath, data = "", rwsize = self::RWSIZE, filter = nil, &block)
@@ -94,7 +97,9 @@ module EM
94
97
  self::open(filepath, "wb", rwsize) do |io|
95
98
  io.write(data, filter) do |length|
96
99
  io.close()
97
- block.call(length)
100
+ if not block.nil?
101
+ yield length
102
+ end
98
103
  end
99
104
  end
100
105
  end
@@ -161,10 +166,12 @@ module EM
161
166
  # @param [Proc] filter filter which for postprocessing each
162
167
  # read chunk
163
168
  # @param [Proc] block callback for returning the result
169
+ # @yield [String] read data
164
170
  # @overload read(&block)
165
171
  # Reads whole content of file.
166
172
  # @param [Proc] filter filter which for processing each block
167
173
  # @param [Proc] block callback for returning the result
174
+ # @yield [String] read data
168
175
  #
169
176
 
170
177
  def read(length = nil, filter = nil, &block)
@@ -211,7 +218,7 @@ module EM
211
218
  # Returns or continues work
212
219
  if @native.eof? or (buffer.length == length)
213
220
  if not block.nil?
214
- block.call(buffer) # returns result
221
+ yield buffer # returns result
215
222
  end
216
223
  else
217
224
  EM::next_tick { worker.call() } # continues work
@@ -232,7 +239,9 @@ module EM
232
239
 
233
240
  ##
234
241
  # Writes data to file. Supports writing both strings or copying
235
- # from another IO object.
242
+ # from another IO object. Returns length of written data to
243
+ # callback if filename given or current position of output
244
+ # string if IO used.
236
245
  #
237
246
  # It will reopen the file if +EBADF: Bad file descriptor+ of
238
247
  # +File+ class IO object will occur on +File+ object.
@@ -242,6 +251,7 @@ module EM
242
251
  # written chunk
243
252
  # @param [Proc] block callback called when finish and for giving
244
253
  # back the length of written data
254
+ # @yield [Integer] length of really written data
245
255
  #
246
256
 
247
257
  def write(data, filter = nil, &block)
@@ -277,7 +287,7 @@ module EM
277
287
  # Returns or continues work
278
288
  if io.eof?
279
289
  if not block.nil?
280
- block.call(pos) # returns result
290
+ yield pos # returns result
281
291
  end
282
292
  else
283
293
  EM::next_tick { worker.call() } # continues work
metadata CHANGED
@@ -1,84 +1,94 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: em-files
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.2.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.3
6
5
  platform: ruby
7
- authors:
8
- - "Martin Koz\xC3\xA1k"
6
+ authors:
7
+ - Martin Poljak
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
-
13
- date: 2011-03-25 00:00:00 +01:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
11
+ date: 2015-07-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
17
14
  name: eventmachine
18
- requirement: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
21
17
  - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 0.12.10
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
24
20
  type: :runtime
25
21
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
28
  name: hash-utils
29
- requirement: &id002 !ruby/object:Gem::Requirement
30
- none: false
31
- requirements:
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
32
31
  - - ">="
33
- - !ruby/object:Gem::Version
32
+ - !ruby/object:Gem::Version
34
33
  version: 0.14.0
35
34
  type: :runtime
36
35
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.14.0
41
+ - !ruby/object:Gem::Dependency
39
42
  name: bundler
40
- requirement: &id003 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
45
47
  version: 1.0.0
46
48
  type: :development
47
49
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
55
+ - !ruby/object:Gem::Dependency
50
56
  name: jeweler
51
- requirement: &id004 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ~>
55
- - !ruby/object:Gem::Version
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
56
61
  version: 1.5.2
57
62
  type: :development
58
63
  prerelease: false
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.5.2
69
+ - !ruby/object:Gem::Dependency
61
70
  name: riot
62
- requirement: &id005 !ruby/object:Gem::Requirement
63
- none: false
64
- requirements:
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
65
73
  - - ">="
66
- - !ruby/object:Gem::Version
74
+ - !ruby/object:Gem::Version
67
75
  version: 0.12.1
68
76
  type: :development
69
77
  prerelease: false
70
- version_requirements: *id005
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.12.1
71
83
  description:
72
- email: martinkozak@martinkozak.net
84
+ email: martin@poljak.cz
73
85
  executables: []
74
-
75
86
  extensions: []
76
-
77
- extra_rdoc_files:
87
+ extra_rdoc_files:
78
88
  - LICENSE.txt
79
89
  - README.md
80
- files:
81
- - .document
90
+ files:
91
+ - ".document"
82
92
  - Gemfile
83
93
  - Gemfile.lock
84
94
  - LICENSE.txt
@@ -88,36 +98,29 @@ files:
88
98
  - em-files.gemspec
89
99
  - lib/em-files.rb
90
100
  - test.rb
91
- has_rdoc: true
92
101
  homepage: https://github.com/martinkozak/em-files
93
- licenses:
102
+ licenses:
94
103
  - MIT
104
+ metadata: {}
95
105
  post_install_message:
96
106
  rdoc_options: []
97
-
98
- require_paths:
107
+ require_paths:
99
108
  - lib
100
- required_ruby_version: !ruby/object:Gem::Requirement
101
- none: false
102
- requirements:
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ requirements:
103
111
  - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: -2585745239736637618
106
- segments:
107
- - 0
108
- version: "0"
109
- required_rubygems_version: !ruby/object:Gem::Requirement
110
- none: false
111
- requirements:
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ requirements:
112
116
  - - ">="
113
- - !ruby/object:Gem::Version
114
- version: "0"
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
115
119
  requirements: []
116
-
117
120
  rubyforge_project:
118
- rubygems_version: 1.6.2
121
+ rubygems_version: 2.4.5
119
122
  signing_key:
120
- specification_version: 3
121
- summary: Sequenced file reader and writer through EventMachine. Solves problem of blocking disk IO when operating with large files.
123
+ specification_version: 4
124
+ summary: Sequenced file reader and writer through EventMachine. Solves problem of
125
+ blocking disk IO when operating with large files.
122
126
  test_files: []
123
-