packet_io 0.4.0 → 0.4.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/.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