goat 0.3.14 → 0.3.15

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/bin/yodel CHANGED
@@ -1,11 +1,52 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require File.join(File.dirname(__FILE__), '../lib/goat/yodel')
3
+ require 'rubygems'
4
+ require 'eventmachine'
4
5
  require 'optparse'
5
6
 
7
+ $:.unshift(File.join(File.dirname(__FILE__), '../lib'))
8
+
9
+ require 'goat/common'
10
+ require 'goat/net-common'
11
+
6
12
  $bport = 8000
7
13
  $rport = 8001
8
14
  $host = '127.0.0.1'
15
+ $verbose = ARGV.include?('-v')
16
+
17
+ module Yodel
18
+ NotifChannel = EM::Channel.new
19
+
20
+ class BroadcastServer < EM::Connection
21
+ def self.start(host='127.0.0.1', port=8000)
22
+ EM.start_server(host, port, self)
23
+ end
24
+
25
+ def post_init
26
+ Goat.logw "listener connected"
27
+ @sub = NotifChannel.subscribe do |msg|
28
+ send_data(msg + "\n")
29
+ end
30
+ end
31
+
32
+ def unbind
33
+ NotifChannel.unsubscribe(@sub)
34
+ end
35
+ end
36
+
37
+ class RecvServer < EM::Connection
38
+ include EM::P::LineText2
39
+
40
+ def self.start(host='127.0.0.1', port=8001)
41
+ EM.start_server(host, port, self)
42
+ end
43
+
44
+ def receive_line(line)
45
+ Goat.logd "got #{line}"
46
+ NotifChannel << line
47
+ end
48
+ end
49
+ end
9
50
 
10
51
  def usage
11
52
  $stderr.puts <<-EOH
data/goat.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'goat'
3
- s.version = '0.3.14'
3
+ s.version = '0.3.15'
4
4
  s.summary = 'Pre-release beta version of Goat'
5
5
  s.author = 'Patrick Collison'
6
6
  s.email = 'patrick@collison.ie'
@@ -14,7 +14,6 @@ spec = Gem::Specification.new do |s|
14
14
  bin/channel-srv
15
15
  bin/press
16
16
  bin/state-srv
17
- bin/sync
18
17
  bin/yodel
19
18
  goat.gemspec
20
19
  examples/jq.js
@@ -30,7 +29,6 @@ spec = Gem::Specification.new do |s|
30
29
  lib/goat/notifications.rb
31
30
  lib/goat/state-srv.rb
32
31
  lib/goat/static.rb
33
- lib/goat/yodel.rb
34
32
  lib/goat.rb
35
33
  lib/views/plain_layout.erb
36
34
  }
data/lib/goat.rb CHANGED
@@ -55,10 +55,6 @@ class String
55
55
  end
56
56
  end
57
57
 
58
- def h!(str)
59
- Goat::HTMLString.new(str)
60
- end
61
-
62
58
  module Goat
63
59
  class HTMLString < String; end
64
60
 
data/lib/goat/html.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'rack/utils'
2
+
1
3
  module Goat
2
4
  module DOMTools
3
5
  class Traverser
@@ -154,7 +156,13 @@ module Goat
154
156
 
155
157
  class ::String
156
158
  def to_html(builder)
157
- builder.string_to_html(self)
159
+ Rack::Utils.escape_html(self)
160
+ end
161
+ end
162
+
163
+ class ::Goat::HTMLString < String
164
+ def to_html(builder)
165
+ self
158
166
  end
159
167
  end
160
168
 
@@ -229,10 +237,6 @@ module Goat
229
237
  attrs.map {|k, v| "#{k}=\"#{v}\""}.join(' ')
230
238
  end
231
239
 
232
- def string_to_html(str)
233
- str
234
- end
235
-
236
240
  def array_to_html(ar)
237
241
  if ar.first.kind_of?(Symbol)
238
242
  tag = ar[0]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goat
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 14
10
- version: 0.3.14
9
+ - 15
10
+ version: 0.3.15
11
11
  platform: ruby
12
12
  authors:
13
13
  - Patrick Collison
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-20 00:00:00 +00:00
18
+ date: 2010-11-22 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -33,7 +33,6 @@ files:
33
33
  - bin/channel-srv
34
34
  - bin/press
35
35
  - bin/state-srv
36
- - bin/sync
37
36
  - bin/yodel
38
37
  - goat.gemspec
39
38
  - examples/jq.js
@@ -49,7 +48,6 @@ files:
49
48
  - lib/goat/notifications.rb
50
49
  - lib/goat/state-srv.rb
51
50
  - lib/goat/static.rb
52
- - lib/goat/yodel.rb
53
51
  - lib/goat.rb
54
52
  - lib/views/plain_layout.erb
55
53
  has_rdoc: true
data/bin/sync DELETED
@@ -1,53 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- module Goat
4
- module Sync
5
- NotifChannel = EM::Channel.new
6
-
7
- @viewports = {}
8
-
9
- class Viewport
10
- attr_reader :created, :viewport, :components
11
-
12
- def initialize(v, cs)
13
- @created = Time.now
14
- @viewport = v
15
- @components = cs
16
- end
17
- end
18
-
19
- class ComponentServer < EM::Connection
20
- def self.start(host='127.0.0.1', port=8010)
21
- EM.start_server(host, port, self)
22
- end
23
-
24
- def viewport_components(v, cs)
25
- @viewports[v] = Viewport.new(v, cs)
26
- end
27
-
28
- def receive_line(line)
29
- msg = JSON.load(line)
30
- meth = msg['type']
31
- args = msg['data']
32
- self.send(meth.to_sym, *args)
33
- end
34
- end
35
-
36
- NotificationServer.subscribe() do |notif|
37
-
38
- end
39
-
40
- class RecvServer < EM::Connection
41
- include EM::P::LineText2
42
-
43
- def self.start(host='127.0.0.1', port=8001)
44
- EM.start_server(host, port, self)
45
- end
46
-
47
- def receive_line(line)
48
- $stdout.puts "got #{line}" if $verbose
49
- NotifChannel << line
50
- end
51
- end
52
- end
53
- end
data/lib/goat/yodel.rb DELETED
@@ -1,39 +0,0 @@
1
- require 'rubygems'
2
- require 'eventmachine'
3
- require File.join(File.dirname(__FILE__), 'net-common')
4
-
5
- $verbose = ARGV.include?('-v')
6
-
7
- module Yodel
8
- NotifChannel = EM::Channel.new
9
-
10
- class BroadcastServer < EM::Connection
11
- def self.start(host='127.0.0.1', port=8000)
12
- EM.start_server(host, port, self)
13
- end
14
-
15
- def post_init
16
- Goat.logw "listener connected"
17
- @sub = NotifChannel.subscribe do |msg|
18
- send_data(msg + "\n")
19
- end
20
- end
21
-
22
- def unbind
23
- NotifChannel.unsubscribe(@sub)
24
- end
25
- end
26
-
27
- class RecvServer < EM::Connection
28
- include EM::P::LineText2
29
-
30
- def self.start(host='127.0.0.1', port=8001)
31
- EM.start_server(host, port, self)
32
- end
33
-
34
- def receive_line(line)
35
- Goat.logd "got #{line}"
36
- NotifChannel << line
37
- end
38
- end
39
- end