em-files 0.2.0 → 0.2.1

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.
data/Gemfile CHANGED
@@ -2,6 +2,7 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  gem "eventmachine", ">= 0.12.10"
5
+ gem "multitype-introspection", ">= 0.1.2"
5
6
 
6
7
  # Add dependencies to develop your gem here.
7
8
  # Include everything needed to run rake, tests, features, etc.
data/Gemfile.lock CHANGED
@@ -7,6 +7,7 @@ GEM
7
7
  bundler (~> 1.0.0)
8
8
  git (>= 1.2.5)
9
9
  rake
10
+ multitype-introspection (0.1.2)
10
11
  rake (0.8.7)
11
12
  riot (0.12.2)
12
13
  rr
@@ -19,4 +20,5 @@ DEPENDENCIES
19
20
  bundler (~> 1.0.0)
20
21
  eventmachine (>= 0.12.10)
21
22
  jeweler (~> 1.5.2)
23
+ multitype-introspection (>= 0.1.2)
22
24
  riot (>= 0.12.1)
data/README.md CHANGED
@@ -52,7 +52,7 @@ using filters:
52
52
 
53
53
  zip = Zlib::Deflate::new
54
54
  filter = Proc::new { |chunk| zip.deflate(chunk, Zlib::SYNC_FLUSH) }
55
- data = "..." # some bigger than big data
55
+ data = "..." # some data bigger than big
56
56
 
57
57
  EM::run do
58
58
  EM::File::write(data, filter) # done in several ticks
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
data/em-files.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{em-files}
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Martin Kozák"]
12
- s.date = %q{2011-03-19}
12
+ s.date = %q{2011-03-24}
13
13
  s.email = %q{martinkozak@martinkozak.net}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE.txt",
@@ -38,17 +38,20 @@ Gem::Specification.new do |s|
38
38
 
39
39
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
40
40
  s.add_runtime_dependency(%q<eventmachine>, [">= 0.12.10"])
41
+ s.add_runtime_dependency(%q<multitype-introspection>, [">= 0.1.2"])
41
42
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
42
43
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
43
44
  s.add_development_dependency(%q<riot>, [">= 0.12.1"])
44
45
  else
45
46
  s.add_dependency(%q<eventmachine>, [">= 0.12.10"])
47
+ s.add_dependency(%q<multitype-introspection>, [">= 0.1.2"])
46
48
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
47
49
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
48
50
  s.add_dependency(%q<riot>, [">= 0.12.1"])
49
51
  end
50
52
  else
51
53
  s.add_dependency(%q<eventmachine>, [">= 0.12.10"])
54
+ s.add_dependency(%q<multitype-introspection>, [">= 0.1.2"])
52
55
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
53
56
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
54
57
  s.add_dependency(%q<riot>, [">= 0.12.1"])
data/lib/em-files.rb CHANGED
@@ -2,6 +2,8 @@
2
2
  # (c) 2011 Martin Kozák (martinkozak@martinkozak.net)
3
3
 
4
4
  require "eventmachine"
5
+ require "stringio"
6
+ require "multitype-introspection"
5
7
 
6
8
  ##
7
9
  # Main EventMachine module.
@@ -30,7 +32,7 @@ module EM
30
32
  # because processing is asynchronous so it doesn't know when
31
33
  # is convenient to close the file.
32
34
  #
33
- # @param [String] filepath path to file
35
+ # @param [String, IO, StringIO] filepath path to file or IO object
34
36
  # @param [String] mode file access mode (see equivalent Ruby method)
35
37
  # @param [Integer] rwsize size of block operated during one tick
36
38
  # @param [Proc] block syntactic sugar for wrapping File access object
@@ -53,7 +55,7 @@ module EM
53
55
  # binary mode. If IO object is given instead of filepath, uses
54
56
  # it as native one and +mode+ argument is ignored.
55
57
  #
56
- # @param [String] filepath path to file
58
+ # @param [String, IO, StringIO] filepath path to file or IO object
57
59
  # @param [Integer] rwsize size of block operated during one tick
58
60
  # @param [Proc] filter filter which for postprocessing each
59
61
  # read chunk
@@ -76,7 +78,7 @@ module EM
76
78
  # If IO object is given instead of filepath, uses it as native
77
79
  # one and +mode+ argument is ignored.
78
80
  #
79
- # @param [String] filepath path to file
81
+ # @param [String, IO, StringIO] filepath path to file or IO object
80
82
  # @param [String] data data for write
81
83
  # @param [Integer] rwsize size of block operated during one tick
82
84
  # @param [Proc] filter filter which for preprocessing each
@@ -125,7 +127,7 @@ module EM
125
127
  # Constructor. If IO object is given instead of filepath, uses
126
128
  # it as native one and +mode+ argument is ignored.
127
129
  #
128
- # @param [String, IO] filepath path to file or IO object
130
+ # @param [String, IO, StringIO] filepath path to file or IO object
129
131
  # @param [String] mode file access mode (see equivalent Ruby method)
130
132
  # @param [Integer] rwsize size of block operated during one tick
131
133
  #
@@ -137,7 +139,7 @@ module EM
137
139
  rwsize = self::RWSIZE if rwsize.nil?
138
140
 
139
141
  # If filepath is directly IO, uses it
140
- if filepath.kind_of? IO
142
+ if filepath.kind_of_any? [StringIO, IO]
141
143
  @native = filepath
142
144
  else
143
145
  @native = ::File::open(filepath, mode)
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: em-files
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.0
5
+ version: 0.2.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - "Martin Koz\xC3\xA1k"
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-19 00:00:00 +01:00
13
+ date: 2011-03-24 00:00:00 +01:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -25,8 +25,19 @@ dependencies:
25
25
  prerelease: false
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: multitype-introspection
29
29
  requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 0.1.2
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: bundler
40
+ requirement: &id003 !ruby/object:Gem::Requirement
30
41
  none: false
31
42
  requirements:
32
43
  - - ~>
@@ -34,10 +45,10 @@ dependencies:
34
45
  version: 1.0.0
35
46
  type: :development
36
47
  prerelease: false
37
- version_requirements: *id002
48
+ version_requirements: *id003
38
49
  - !ruby/object:Gem::Dependency
39
50
  name: jeweler
40
- requirement: &id003 !ruby/object:Gem::Requirement
51
+ requirement: &id004 !ruby/object:Gem::Requirement
41
52
  none: false
42
53
  requirements:
43
54
  - - ~>
@@ -45,10 +56,10 @@ dependencies:
45
56
  version: 1.5.2
46
57
  type: :development
47
58
  prerelease: false
48
- version_requirements: *id003
59
+ version_requirements: *id004
49
60
  - !ruby/object:Gem::Dependency
50
61
  name: riot
51
- requirement: &id004 !ruby/object:Gem::Requirement
62
+ requirement: &id005 !ruby/object:Gem::Requirement
52
63
  none: false
53
64
  requirements:
54
65
  - - ">="
@@ -56,7 +67,7 @@ dependencies:
56
67
  version: 0.12.1
57
68
  type: :development
58
69
  prerelease: false
59
- version_requirements: *id004
70
+ version_requirements: *id005
60
71
  description:
61
72
  email: martinkozak@martinkozak.net
62
73
  executables: []
@@ -91,7 +102,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
91
102
  requirements:
92
103
  - - ">="
93
104
  - !ruby/object:Gem::Version
94
- hash: -3958276784463008069
105
+ hash: 1975590278330534789
95
106
  segments:
96
107
  - 0
97
108
  version: "0"