packet_io 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -19,3 +19,4 @@ rdoc
19
19
  pkg
20
20
 
21
21
  ## PROJECT::SPECIFIC
22
+ Gemfile.lock
data/Rakefile CHANGED
@@ -8,8 +8,6 @@ require 'packet_io'
8
8
  require 'rake/testtask'
9
9
  Rake::TestTask.new(:test) do |test|
10
10
  test.libs << 'lib' << 'test'
11
- test.pattern = 'test/**/test_*.rb'
12
- test.verbose = true
13
11
  end
14
12
 
15
13
  require 'yard'
@@ -17,3 +15,4 @@ YARD::Rake::YardocTask.new
17
15
 
18
16
  task :doc => :yard
19
17
  task :default => [:test]
18
+
data/lib/packet_io.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  module PacketIO
3
- VERSION = '0.4.0'
3
+ VERSION = '0.4.1'
4
4
  end
5
5
 
6
6
  require 'strscan'
@@ -84,12 +84,11 @@ module PacketIO
84
84
  # @param [String] data
85
85
  #
86
86
  def receive(data)
87
- @memo ||= ""
88
- scanner = StringScanner.new(@memo + data)
89
- while s = scanner.scan(/.*?\n/)
87
+ @data ||= StringScanner.new("")
88
+ @data = @data.concat(data)
89
+ while s = @data.scan(/.*?\n/)
90
90
  forward(s.strip)
91
91
  end
92
- @memo = scanner.rest
93
92
  nil
94
93
  end
95
94
 
data/packet_io.gemspec CHANGED
@@ -19,9 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
  s.summary = %q{define packet based protocols in a declarative fashion}
21
21
 
22
- s.add_development_dependency("shoulda", ["~> 2.11.3"])
23
- s.add_development_dependency("mocha", ["~> 0.9.12"])
24
22
  s.add_development_dependency("yard", ["~> 0.7.1"])
25
- s.add_development_dependency("cucumber", ["~> 0.10.3"])
26
23
  end
27
24
 
data/test/helper.rb CHANGED
@@ -1,13 +1,6 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
- require 'mocha'
1
+ require 'minitest/spec'
2
+ require 'minitest/autorun'
5
3
 
6
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
- $LOAD_PATH.unshift(File.dirname(__FILE__))
8
4
  require 'packet_io'
9
5
  require 'packet_io/test/mock_server'
10
6
 
11
- class Test::Unit::TestCase
12
- end
13
-
@@ -1,31 +1,29 @@
1
1
  require 'helper'
2
2
 
3
- class TestIOListener < Test::Unit::TestCase
4
- context "a server" do
5
- setup do
6
- @device, client_read, client_write = PacketIO::Test::MockServer.build
7
- @server = PacketIO::IOListener.new(client_read, client_write)
8
- @protocol = PacketIO::LineBasedProtocol.new(@server)
9
- end
3
+ describe "a server" do
4
+ before do
5
+ @device, client_read, client_write = PacketIO::Test::MockServer.build
6
+ @server = PacketIO::IOListener.new(client_read, client_write)
7
+ @protocol = PacketIO::LineBasedProtocol.new(@server)
8
+ end
10
9
 
11
- should "exist" do
12
- assert_not_nil @server
13
- end
10
+ it "should exist" do
11
+ assert @server
12
+ end
14
13
 
15
- should "yield packets written to it" do
16
- @packets = []
17
- @protocol.on_data { |packet| @packets << packet }
14
+ it "should yield packets written to it" do
15
+ @packets = []
16
+ @protocol.on_data { |packet| @packets << packet }
18
17
 
19
- @device.write("fo").wait.write("o\n").wait.write("bar\n").eof
20
- @server.run!
18
+ @device.write("fo").wait.write("o\n").wait.write("bar\n").eof
19
+ @server.run!
21
20
 
22
- assert_equal ["foo", "bar"], @packets
23
- end
21
+ assert_equal ["foo", "bar"], @packets
22
+ end
24
23
 
25
- should "send data" do
26
- @protocol << "hello world"
27
- data = @device.read_all
28
- assert_equal "hello world\n", data
29
- end
24
+ it "should send data" do
25
+ @protocol << "hello world"
26
+ data = @device.read_all
27
+ assert_equal "hello world\n", data
30
28
  end
31
29
  end
metadata CHANGED
@@ -1,96 +1,34 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: packet_io
3
- version: !ruby/object:Gem::Version
4
- hash: 15
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 4
9
- - 0
10
- version: 0.4.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.1
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Levin Alexander
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-06-01 00:00:00 +02:00
12
+ date: 2011-06-12 00:00:00.000000000 +02:00
19
13
  default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: shoulda
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 37
30
- segments:
31
- - 2
32
- - 11
33
- - 3
34
- version: 2.11.3
35
- type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: mocha
39
- prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 35
46
- segments:
47
- - 0
48
- - 9
49
- - 12
50
- version: 0.9.12
51
- type: :development
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
54
16
  name: yard
55
- prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
17
+ requirement: &2153248860 !ruby/object:Gem::Requirement
57
18
  none: false
58
- requirements:
19
+ requirements:
59
20
  - - ~>
60
- - !ruby/object:Gem::Version
61
- hash: 1
62
- segments:
63
- - 0
64
- - 7
65
- - 1
21
+ - !ruby/object:Gem::Version
66
22
  version: 0.7.1
67
23
  type: :development
68
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- name: cucumber
71
24
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- hash: 49
78
- segments:
79
- - 0
80
- - 10
81
- - 3
82
- version: 0.10.3
83
- type: :development
84
- version_requirements: *id004
85
- description: ""
25
+ version_requirements: *2153248860
26
+ description: ''
86
27
  email: mail@levinalex.net
87
28
  executables: []
88
-
89
29
  extensions: []
90
-
91
30
  extra_rdoc_files: []
92
-
93
- files:
31
+ files:
94
32
  - .document
95
33
  - .gitignore
96
34
  - Gemfile
@@ -107,37 +45,29 @@ files:
107
45
  has_rdoc: true
108
46
  homepage: http://github.com/levinalex/packet_io
109
47
  licenses: []
110
-
111
48
  post_install_message:
112
- rdoc_options:
49
+ rdoc_options:
113
50
  - --charset=UTF-8
114
- require_paths:
51
+ require_paths:
115
52
  - lib
116
- required_ruby_version: !ruby/object:Gem::Requirement
53
+ required_ruby_version: !ruby/object:Gem::Requirement
117
54
  none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- hash: 3
122
- segments:
123
- - 0
124
- version: "0"
125
- required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ! '>='
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
126
60
  none: false
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- hash: 3
131
- segments:
132
- - 0
133
- version: "0"
61
+ requirements:
62
+ - - ! '>='
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
134
65
  requirements: []
135
-
136
66
  rubyforge_project:
137
- rubygems_version: 1.3.7
67
+ rubygems_version: 1.6.2
138
68
  signing_key:
139
69
  specification_version: 3
140
70
  summary: define packet based protocols in a declarative fashion
141
- test_files:
71
+ test_files:
142
72
  - test/helper.rb
143
73
  - test/test_io_listener.rb