em-files 0.2.2 → 0.2.3

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 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
-