osc-ruby 1.1.0 → 1.1.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/Rakefile CHANGED
@@ -1,12 +1,12 @@
1
- require 'rspec/core/rake_task'
1
+ require "rake/testtask"
2
2
 
3
- task :default => :spec
4
-
5
- RSpec::Core::RakeTask.new do |t|
6
- t.rcov = false
7
- t.rspec_opts = ["--colour", "--format", "documentation"]
3
+ Rake::TestTask.new(:spec) do |t|
4
+ t.libs << "spec"
5
+ t.pattern = "spec/**/*_spec.rb"
8
6
  end
9
7
 
8
+ task :default => :spec
9
+
10
10
  require 'rdoc/task'
11
11
  RDoc::Task.new do |rdoc|
12
12
  if File.exist?('VERSION')
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.1.1
@@ -0,0 +1,21 @@
1
+ $:.unshift File.join( File.dirname( __FILE__ ), '..', 'lib')
2
+ require 'osc-ruby'
3
+
4
+ require 'rubygems'
5
+ require 'eventmachine'
6
+ require 'osc-ruby/em_server'
7
+
8
+ @server = OSC::EMServer.new( 3333 )
9
+ @client = OSC::BroadcastClient.new( 3333 )
10
+
11
+ @server.add_method '/greeting' do | message |
12
+ puts "#{message.ip_address}:#{message.ip_port} -- #{message.address} -- #{message.to_a}"
13
+ end
14
+
15
+ Thread.new do
16
+ @server.run
17
+ end
18
+
19
+ @client.send( OSC::Message.new( "/greeting" , "hullo!" ))
20
+
21
+ sleep( 3 )
@@ -16,5 +16,6 @@ require 'osc-ruby/address_pattern'
16
16
  # now we gettin fancy
17
17
  require 'osc-ruby/server'
18
18
  require 'osc-ruby/client'
19
+ require 'osc-ruby/broadcast_client'
19
20
 
20
21
 
@@ -0,0 +1,8 @@
1
+ module OSC
2
+ class ArgumentFactory
3
+ def self.register( osc_type_id, value_object_klass, parser_klass )
4
+ @registery[osc_type_id] = klass
5
+ end
6
+ end
7
+
8
+ end
@@ -0,0 +1,18 @@
1
+ module OSC
2
+ class BroadcastClient
3
+
4
+ BROADCAST_ADDRESS = '<broadcast>'
5
+
6
+ attr_reader :port
7
+
8
+ def initialize(port)
9
+ @port = port
10
+ @so = UDPSocket.new
11
+ @so.setsockopt Socket::SOL_SOCKET, Socket::SO_BROADCAST, true
12
+ end
13
+
14
+ def send(mesg)
15
+ @so.send(mesg.encode, 0, BROADCAST_ADDRESS, @port)
16
+ end
17
+ end
18
+ end
@@ -2,6 +2,8 @@ require File.join( File.dirname( __FILE__ ), 'network_packet')
2
2
  require 'ostruct'
3
3
 
4
4
  module OSC
5
+ class UnknownType < StandardError; end
6
+
5
7
  class OSCPacket
6
8
 
7
9
  def self.messages_from_network( string, ip_info=nil )
@@ -45,10 +47,11 @@ module OSC
45
47
  def initialize( string )
46
48
  @packet = NetworkPacket.new( string )
47
49
 
48
- @types = { "i" => lambda{ OSCInt32.new( get_int32 ) },
49
- "f" => lambda{ OSCFloat32.new( get_float32 ) },
50
- "s" => lambda{ OSCString.new( get_string ) },
51
- "b" => lambda{ OSCBlob.new( get_blob )}
50
+ @types = { "i" => lambda{ OSCInt32.new( get_int32 ) },
51
+ "f" => lambda{ OSCFloat32.new( get_float32 ) },
52
+ "d" => lambda{ OSCDouble64.new( get_double64 )},
53
+ "s" => lambda{ OSCString.new( get_string ) },
54
+ "b" => lambda{ OSCBlob.new( get_blob )}
52
55
  }
53
56
  end
54
57
 
@@ -93,7 +96,9 @@ module OSC
93
96
  args = []
94
97
 
95
98
  tags.scan(/./) do | tag |
96
- args << @types[tag].call
99
+ type_handler = @types[tag]
100
+ raise( UnknownType, "Unknown OSC type: #{tag}" ) unless type_handler
101
+ args << type_handler.call
97
102
  end
98
103
  args
99
104
  end
@@ -112,6 +117,12 @@ module OSC
112
117
  f
113
118
  end
114
119
 
120
+ def get_double64
121
+ f = @packet.getn(8).unpack('G')[0]
122
+ @packet.skip_padding
123
+ f
124
+ end
125
+
115
126
  def get_blob
116
127
  l = @packet.getn(4).unpack('N')[0]
117
128
  b = @packet.getn(l)
@@ -127,4 +138,4 @@ module OSC
127
138
  "\x00"
128
139
  end
129
140
  end
130
- end
141
+ end
@@ -8,7 +8,12 @@ module OSC
8
8
 
9
9
  class OSCFloat32 < OSCArgument
10
10
  def tag() 'f' end
11
- def encode() [@val].pack('g').force_encoding("BINARY") end
11
+ def encode() [@val].pack('g').force_encoding("BINARY") end
12
+ end
13
+
14
+ class OSCDouble64 < OSCArgument
15
+ def tag() 'd' end
16
+ def encode() [@val].pack('G').force_encoding("BINARY") end
12
17
  end
13
18
 
14
19
  class OSCString < OSCArgument
@@ -20,4 +25,4 @@ module OSC
20
25
  def tag() 'b' end
21
26
  def encode() padding([@val.size].pack('N') + @val).force_encoding("BINARY") end
22
27
  end
23
- end
28
+ end
@@ -16,6 +16,11 @@ class MessageBuilder
16
16
  with_arg( "f", float )
17
17
  self
18
18
  end
19
+
20
+ def with_double( double )
21
+ with_arg( "d", double)
22
+ self
23
+ end
19
24
 
20
25
  def with_int( int )
21
26
  with_arg( "i", int )
@@ -1,4 +1,4 @@
1
1
  require 'osc-ruby'
2
- require 'rspec'
2
+ require "minitest/autorun"
3
3
 
4
4
  require 'builders/message_builder'
@@ -15,80 +15,79 @@ describe OSC::AddressPattern do
15
15
  it "should match anything if the pattern is nil" do
16
16
  ap = OSC::AddressPattern.new( nil )
17
17
 
18
- ap.match?( "/some/nonsense").should be_true
19
- ap.match?( "/completely.different").should be_true
18
+ ap.match?( "/some/nonsense" ).must_equal true
19
+ ap.match?( "/completely.different" ).must_equal true
20
20
  end
21
21
 
22
22
  it "should match based on a regex" do
23
23
  ap = OSC::AddressPattern.new( /hi/ )
24
24
 
25
- ap.match?( '/hi' ).should be_true
26
- ap.match?( '/hidden' ).should be_true
25
+ ap.match?( '/hi' ).must_equal true
26
+ ap.match?( '/hidden' ).must_equal true
27
27
 
28
- ap.match?( '/bye' ).should be_false
28
+ ap.match?( '/bye' ).must_equal false
29
29
  end
30
30
 
31
31
  it "should return a regex if the pattern is a string" do
32
32
  ap = OSC::AddressPattern.new( "/hi" )
33
33
 
34
- ap.match?('/hi').should be_true
34
+ ap.match?( '/hi' ).must_equal true
35
35
 
36
- ap.match?(' /hi').should be_false
37
- ap.match?('/ahi').should be_false
38
- ap.match?( '/hidden' ).should be_false
39
- ap.match?( '/bye' ).should be_false
36
+ ap.match?( ' /hi' ).must_equal false
37
+ ap.match?( '/ahi' ).must_equal false
38
+ ap.match?( '/hidden' ).must_equal false
39
+ ap.match?( '/bye' ).must_equal false
40
40
  end
41
41
 
42
42
  it "should match with question mark" do
43
43
  ap = OSC::AddressPattern.new( "/h?l" )
44
44
 
45
- ap.match?('/hal').should be_true
46
- ap.match?('/hel').should be_true
47
- ap.match?('/hil').should be_true
48
- ap.match?('/hol').should be_true
49
- ap.match?('/hul').should be_true
50
- ap.match?('/hub').should be_false
45
+ ap.match?( '/hal' ).must_equal true
46
+ ap.match?( '/hel' ).must_equal true
47
+ ap.match?( '/hil' ).must_equal true
48
+ ap.match?( '/hol' ).must_equal true
49
+ ap.match?( '/hul' ).must_equal true
50
+ ap.match?( '/hub' ).must_equal false
51
51
  end
52
52
 
53
53
  it "should match with *" do
54
54
  ap = OSC::AddressPattern.new( "/believ*d" )
55
55
 
56
- ap.match?('/believd').should be_true
57
- ap.match?('/believed').should be_true
58
- ap.match?('/believeeed').should be_true
59
- ap.match?('/believaeeeioud').should be_true
60
- ap.match?('/believaeeeioud').should be_true
56
+ ap.match?( '/believd' ).must_equal true
57
+ ap.match?( '/believed' ).must_equal true
58
+ ap.match?( '/believeeed' ).must_equal true
59
+ ap.match?( '/believaeeeioud' ).must_equal true
60
+ ap.match?( '/believaeeeioud' ).must_equal true
61
61
  end
62
62
 
63
63
  it "should match with []" do
64
64
  ap = OSC::AddressPattern.new( "/believ[aeiou]d" )
65
65
 
66
- ap.match?('/believad').should be_true
67
- ap.match?('/believed').should be_true
68
- ap.match?('/believid').should be_true
69
- ap.match?('/believod').should be_true
70
- ap.match?('/believud').should be_true
71
- ap.match?('/believkd').should be_false
66
+ ap.match?( '/believad' ).must_equal true
67
+ ap.match?( '/believed' ).must_equal true
68
+ ap.match?( '/believid' ).must_equal true
69
+ ap.match?( '/believod' ).must_equal true
70
+ ap.match?( '/believud' ).must_equal true
71
+ ap.match?( '/believkd' ).must_equal false
72
72
  end
73
73
 
74
74
  it "should match with [!]" do
75
75
  ap = OSC::AddressPattern.new( "/believ[!aeiou]d" )
76
76
 
77
- ap.match?('/believad').should be_false
78
- ap.match?('/believed').should be_false
79
- ap.match?('/believid').should be_false
80
- ap.match?('/believod').should be_false
81
- ap.match?('/believud').should be_false
82
- ap.match?('/believkd').should be_true
83
- ap.match?('/believzd').should be_true
77
+ ap.match?( '/believad' ).must_equal false
78
+ ap.match?( '/believed' ).must_equal false
79
+ ap.match?( '/believid' ).must_equal false
80
+ ap.match?( '/believod' ).must_equal false
81
+ ap.match?( '/believud' ).must_equal false
82
+ ap.match?( '/believkd' ).must_equal true
83
+ ap.match?( '/believzd' ).must_equal true
84
84
  end
85
85
 
86
86
  it "should match with {}" do
87
87
  ap = OSC::AddressPattern.new( "/{hi,bye}" )
88
88
 
89
- ap.match?('/hi').should be_true
90
- ap.match?('/bye').should be_true
91
- ap.match?('/greetings').should be_false
89
+ ap.match?( '/hi' ).must_equal true
90
+ ap.match?( '/bye' ).must_equal true
91
+ ap.match?( '/greetings' ).must_equal false
92
92
  end
93
-
94
93
  end
@@ -8,28 +8,28 @@ describe MessageBuilder do
8
8
 
9
9
  it "encodes just the address" do
10
10
  mesg = @builder.with_address("/hi")
11
- mesg.build.encode.should == binary_string("/hi\000,\000\000\000")
11
+ mesg.build.encode.must_equal binary_string("/hi\000,\000\000\000")
12
12
  end
13
13
 
14
14
  it "encodes single int values" do
15
15
  mesg = @builder.with_address("/hi").
16
16
  with_int(33)
17
17
 
18
- mesg.build.encode.should == binary_string("/hi\000,i\000\000\000\000\000!")
18
+ mesg.build.encode.must_equal binary_string("/hi\000,i\000\000\000\000\000!")
19
19
  end
20
20
 
21
21
  it "encodes single string values" do
22
22
  mesg = @builder.with_address("/hi").
23
23
  with_string("hello")
24
24
 
25
- mesg.build.encode.should == binary_string("/hi\000,s\000\000hello\000\000\000")
25
+ mesg.build.encode.must_equal binary_string("/hi\000,s\000\000hello\000\000\000")
26
26
  end
27
27
 
28
28
  it "encodes single float values" do
29
29
  mesg = @builder.with_address("/hi").
30
30
  with_float(3.14159)
31
31
 
32
- mesg.build.encode.should == binary_string("/hi\000,f\000\000@I\017\320")
32
+ mesg.build.encode.must_equal binary_string("/hi\000,f\000\000@I\017\320")
33
33
  end
34
34
 
35
35
  it "encodes multiple floats" do
@@ -37,7 +37,7 @@ describe MessageBuilder do
37
37
  with_float(3.14159).
38
38
  with_float(4.5)
39
39
 
40
- mesg.build.encode.should == [47, 104, 105, 0, 44, 102, 102, 0, 64, 73, 15, 208, 64, 144, 0, 0].pack("C*")
40
+ mesg.build.encode.must_equal [47, 104, 105, 0, 44, 102, 102, 0, 64, 73, 15, 208, 64, 144, 0, 0].pack("C*")
41
41
  end
42
42
 
43
43
  def binary_string(string)
@@ -15,42 +15,42 @@ describe OSC::Message do
15
15
  describe "basic traits" do
16
16
  it "should have no arguments if you define none" do
17
17
  m = OSC::Message.new( "/hi" )
18
- m.to_a.should == []
18
+ m.to_a.must_equal []
19
19
  end
20
20
 
21
21
  it "should accept int arguments" do
22
22
  m = OSC::Message.new( "/hi", 42 )
23
- m.to_a.should == [42]
24
- m.tags.should == "i"
23
+ m.to_a.must_equal [42]
24
+ m.tags.must_equal "i"
25
25
  end
26
26
 
27
27
  it "should accept string arguments" do
28
28
  m = OSC::Message.new( "/hi", "42" )
29
- m.to_a.should == ["42"]
30
- m.tags.should == "s"
29
+ m.to_a.must_equal ["42"]
30
+ m.tags.must_equal "s"
31
31
  end
32
32
 
33
33
  it "should accept float arguments" do
34
34
  m = OSC::Message.new( "/hi", 42.001 )
35
- m.to_a.should == [42.001]
36
- m.tags.should == "f"
35
+ m.to_a.must_equal [42.001]
36
+ m.tags.must_equal "f"
37
37
  end
38
38
  end
39
39
 
40
40
  describe "message output encoding" do
41
41
  it "integer arguments output binary/ascii string" do
42
42
  m = OSC::Message.new( "/hi", 42 ).encode
43
- m.encoding.to_s.should == "ASCII-8BIT"
43
+ m.encoding.to_s.must_equal "ASCII-8BIT"
44
44
  end
45
45
 
46
46
  it "string arguments output binary/ascii string" do
47
47
  m = OSC::Message.new( "/hi", "42" ).encode
48
- m.encoding.to_s.should == "ASCII-8BIT"
48
+ m.encoding.to_s.must_equal "ASCII-8BIT"
49
49
  end
50
50
 
51
51
  it "float arguments output binary/ascii string" do
52
52
  m = OSC::Message.new( "/hi", 3.14159 ).encode
53
- m.encoding.to_s.should == "ASCII-8BIT"
53
+ m.encoding.to_s.must_equal "ASCII-8BIT"
54
54
  end
55
55
  end
56
56
 
@@ -66,8 +66,8 @@ describe OSC::Message do
66
66
  it "should know equality" do
67
67
  @message2 = @builder.build
68
68
 
69
- @message.object_id.should_not == @message2.object_id
70
- @message.should == @message2
69
+ @message.object_id.wont_equal @message2.object_id
70
+ @message.must_equal @message2
71
71
  end
72
72
  end
73
73
  end
@@ -8,30 +8,30 @@ describe OSC::NetworkPacket do
8
8
  end
9
9
 
10
10
  it "should know if it's at the end of the stream" do
11
- @empty.eof?.should be_true
11
+ @empty.eof?.must_equal true
12
12
  end
13
13
 
14
14
  it "should know the remainder in the stream" do
15
- @simple.rem.should == 3
15
+ @simple.rem.must_equal 3
16
16
  end
17
17
 
18
18
  it "should be able to skip positions" do
19
19
  @simple.skip( 1 )
20
- @simple.rem.should == 2
20
+ @simple.rem.must_equal 2
21
21
  end
22
22
 
23
23
  it "should be able to get a character from the stream" do
24
- @simple.getc.should == ?a
25
- @simple.getc.should == ?b
26
- @simple.getc.should == ?c
27
- @simple.eof?.should be_true
24
+ @simple.getc.must_equal ?a
25
+ @simple.getc.must_equal ?b
26
+ @simple.getc.must_equal ?c
27
+ @simple.eof?.must_equal true
28
28
  end
29
29
 
30
30
  it "should be able to get a number of characters from the stream" do
31
- @simple.getn(3).should == "abc"
31
+ @simple.getn(3).must_equal "abc"
32
32
  end
33
33
 
34
34
  it "outputs characters with ASCII/BINARY encoding" do
35
- @simple.getc.encoding.to_s.should == "ASCII-8BIT"
35
+ @simple.getc.encoding.to_s.must_equal "ASCII-8BIT"
36
36
  end
37
37
  end
@@ -9,31 +9,31 @@ describe OSC::OSCPacket do
9
9
  end
10
10
 
11
11
  it "should have three messages" do
12
- @messages.should have(3).items
12
+ @messages.size.must_equal 3
13
13
  end
14
14
 
15
15
  it "should have the propper address for the messages" do
16
16
  3.times do |i|
17
- @messages[i].address.should eql("/tuio/2Dobj")
17
+ @messages[i].address.must_equal("/tuio/2Dobj")
18
18
  end
19
19
  end
20
20
 
21
21
  it "should have a first message with two strings" do
22
22
  args = @messages[0].to_a
23
23
 
24
- args[0].should eql( "source" )
25
- args[1].should eql( "simulator" )
24
+ args[0].must_equal( "source" )
25
+ args[1].must_equal( "simulator" )
26
26
  end
27
27
 
28
28
  it "should have a second message with one string" do
29
29
  args = @messages[1].to_a
30
- args[0].should eql( "alive" )
30
+ args[0].must_equal( "alive" )
31
31
  end
32
32
 
33
33
  it "should have a third message with a string and an int" do
34
34
  args = @messages[2].to_a
35
35
 
36
- args[0].should eql( "fseq" )
37
- args[1].should eql(-1)
36
+ args[0].must_equal( "fseq" )
37
+ args[1].must_equal(-1)
38
38
  end
39
39
  end
@@ -0,0 +1,15 @@
1
+ require File.join( File.dirname(__FILE__) , '..', 'spec_helper' )
2
+
3
+ describe OSC::OSCPacket do
4
+
5
+ it 'something' do
6
+ class OSC::BadType < OSC::OSCInt32; def tag() 'Z'; end end
7
+ sent_msg = OSC::Message.new( "/badtype", OSC::BadType.new( 42 ) )
8
+
9
+ lambda do
10
+ OSC::OSCPacket.messages_from_network( sent_msg.encode )
11
+ end.must_raise OSC::UnknownType
12
+
13
+ end
14
+
15
+ end
@@ -25,7 +25,7 @@ describe OSC::OSCPacket do
25
25
 
26
26
  msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
27
27
 
28
- msg.first.address.should == @address
28
+ msg.first.address.must_equal @address
29
29
  end
30
30
 
31
31
  it "should decode the int arg of a simple message from the network data" do
@@ -33,7 +33,7 @@ describe OSC::OSCPacket do
33
33
 
34
34
  msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
35
35
 
36
- msg.first.to_a.should == [@first_int]
36
+ msg.first.to_a.must_equal [@first_int]
37
37
  end
38
38
 
39
39
  it "should decode two int args" do
@@ -41,7 +41,7 @@ describe OSC::OSCPacket do
41
41
 
42
42
  msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
43
43
 
44
- msg.first.to_a.should == [@first_int, @second_int]
44
+ msg.first.to_a.must_equal [@first_int, @second_int]
45
45
  end
46
46
 
47
47
  it "should decode address with float arg" do
@@ -49,18 +49,18 @@ describe OSC::OSCPacket do
49
49
 
50
50
  msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
51
51
 
52
- msg.first.to_a[0].should be_within( 0.001 ).of( @first_float )
52
+ msg.first.to_a[0].must_be_close_to( @first_float, 0.001 )
53
53
  end
54
54
 
55
55
 
56
56
  it "should decode address with two float args" do
57
- sent_msg = @builder.with_float( @first_float ).with_float( @second_float).build
57
+ sent_msg = @builder.with_float( @first_float ).with_float( @second_float ).build
58
58
 
59
59
  msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
60
60
 
61
61
  args = msg.first.to_a
62
- args.first.should be_within( 0.001 ).of( @first_float )
63
- args[1].should be_within( 0.001 ).of( @second_float )
62
+ args.first.must_be_close_to( @first_float, 0.001 )
63
+ args[1].must_be_close_to( @second_float, 0.001 )
64
64
  end
65
65
 
66
66
  it "should decode address with string arg" do
@@ -68,7 +68,7 @@ describe OSC::OSCPacket do
68
68
 
69
69
  msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
70
70
 
71
- msg.first.to_a.should == [@first_string]
71
+ msg.first.to_a.must_equal [@first_string]
72
72
  end
73
73
 
74
74
  it "should decode address with multiple string args" do
@@ -76,8 +76,8 @@ describe OSC::OSCPacket do
76
76
  msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
77
77
 
78
78
  args = msg.first.to_a
79
- args[0].should eql @first_string
80
- args[1].should eql @second_string
79
+ args[0].must_equal @first_string
80
+ args[1].must_equal @second_string
81
81
  end
82
82
 
83
83
 
@@ -91,9 +91,9 @@ describe OSC::OSCPacket do
91
91
 
92
92
  args = msg.first.to_a
93
93
 
94
- args[0].should eql( @first_int )
95
- args[1].should be_within( 0.001 ).of( @second_float )
96
- args[2].should eql( @first_string )
94
+ args[0].must_equal( @first_int )
95
+ args[1].must_be_close_to( @second_float, 0.001 )
96
+ args[2].must_equal( @first_string )
97
97
  end
98
98
 
99
99
  it "should decode messages with blobs" do
@@ -103,6 +103,16 @@ describe OSC::OSCPacket do
103
103
  msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
104
104
 
105
105
  args = msg.first.to_a
106
- args.first.should eql( @first_blob )
106
+ args.first.must_equal( @first_blob )
107
+ end
108
+
109
+ it "should decode messages with double64 types" do
110
+ pi = 3.14159
111
+
112
+ sent_msg = @builder.with_double( pi ).build
113
+ msg = OSC::OSCPacket.messages_from_network( sent_msg.encode )
114
+
115
+ args = msg.first.to_a
116
+ args.first.must_be_close_to( pi, 0.001 )
107
117
  end
108
118
  end
@@ -12,6 +12,12 @@ describe OSC::OSCFloat32 do
12
12
  end
13
13
  end
14
14
 
15
+ describe OSC::OSCDouble64 do
16
+ it "should not blow up" do
17
+ OSC::OSCDouble64.new 1.0
18
+ end
19
+ end
20
+
15
21
  describe OSC::OSCString do
16
22
  it "should not blow up" do
17
23
  OSC::OSCString.new "1"
@@ -0,0 +1,12 @@
1
+ # require File.join( File.dirname(__FILE__) , '..', '..', 'spec_helper' )
2
+
3
+ # describe OSC::ArgumentParser do
4
+ # it "can parse streams that contain integer arguments" do
5
+ # int_value = 1024
6
+ # int32_stream = OSC::InputStream.new(OSC::Int32.new(int_value).encode)
7
+
8
+ # result = OSC::Int32Parser.new(int32_stream).parse
9
+
10
+ # result.should == int_value
11
+ # end
12
+ # end
metadata CHANGED
@@ -1,29 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: osc-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Colin Harris
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-05-04 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rspec
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
12
+ date: 2014-08-24 00:00:00.000000000 Z
13
+ dependencies: []
27
14
  description: This OSC gem originally created by Tadayoshi Funaba has been updated
28
15
  for ruby 2.0/1.9/JRuby compatibility
29
16
  email: qzzzq1@gmail.com
@@ -34,8 +21,11 @@ files:
34
21
  - Rakefile
35
22
  - VERSION
36
23
  - LICENSE
24
+ - examples/broadcast_client.rb
37
25
  - examples/event_machine_server.rb
38
26
  - lib/osc-ruby/address_pattern.rb
27
+ - lib/osc-ruby/argument_factory.rb
28
+ - lib/osc-ruby/broadcast_client.rb
39
29
  - lib/osc-ruby/bundle.rb
40
30
  - lib/osc-ruby/client.rb
41
31
  - lib/osc-ruby/core_ext/numeric.rb
@@ -57,30 +47,33 @@ files:
57
47
  - spec/unit/network_packet_spec.rb
58
48
  - spec/unit/osc_argument_spec.rb
59
49
  - spec/unit/osc_complex_packets_spec.rb
50
+ - spec/unit/osc_packet_unknown_type_spec.rb
60
51
  - spec/unit/osc_simple_packets_spec.rb
61
52
  - spec/unit/osc_types_spec.rb
53
+ - spec/unit/parsers/argument_parser_spec.rb
62
54
  homepage: http://github.com/aberant/osc-ruby
63
55
  licenses: []
64
- metadata: {}
65
56
  post_install_message:
66
57
  rdoc_options: []
67
58
  require_paths:
68
59
  - lib
69
60
  required_ruby_version: !ruby/object:Gem::Requirement
61
+ none: false
70
62
  requirements:
71
- - - '>='
63
+ - - ! '>='
72
64
  - !ruby/object:Gem::Version
73
65
  version: '0'
74
66
  required_rubygems_version: !ruby/object:Gem::Requirement
67
+ none: false
75
68
  requirements:
76
- - - '>='
69
+ - - ! '>='
77
70
  - !ruby/object:Gem::Version
78
71
  version: '0'
79
72
  requirements: []
80
73
  rubyforge_project:
81
- rubygems_version: 2.0.3
74
+ rubygems_version: 1.8.24
82
75
  signing_key:
83
- specification_version: 4
76
+ specification_version: 3
84
77
  summary: a ruby client for the OSC protocol
85
78
  test_files:
86
79
  - spec/builders/message_builder.rb
@@ -92,5 +85,7 @@ test_files:
92
85
  - spec/unit/network_packet_spec.rb
93
86
  - spec/unit/osc_argument_spec.rb
94
87
  - spec/unit/osc_complex_packets_spec.rb
88
+ - spec/unit/osc_packet_unknown_type_spec.rb
95
89
  - spec/unit/osc_simple_packets_spec.rb
96
90
  - spec/unit/osc_types_spec.rb
91
+ - spec/unit/parsers/argument_parser_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 2b6e50d421b58c68e16b4d82d132f25e15b0338b
4
- data.tar.gz: 8875e8b6aa9cf1af663291b248c5708695ed1448
5
- SHA512:
6
- metadata.gz: c814bfa20121cb7a835159546c858b9f6d3370c6158e067c17df7ceeb379608c98242375ef5b776488cd35efe4c7df1a25b3439c2a97c01eed7799be7daf15c8
7
- data.tar.gz: 576b0fcabd35b30da9cdfad8477d788ddec610fc455b796a4322483a1b3917a3f26f332e8536cc0b6dd534a3ea2c6b63b75a5cb5f22e1262944e309aed16c091