jbarnette-pastejour 1.0.0.200808041733 → 1.0.2
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/README.rdoc +5 -15
- data/Rakefile +7 -5
- data/bin/pastejour +2 -8
- data/lib/pastejour/version.rb +1 -3
- data/lib/pastejour.rb +9 -25
- metadata +3 -3
data/README.rdoc
CHANGED
@@ -1,31 +1,21 @@
|
|
1
1
|
= Pastejour
|
2
2
|
|
3
|
-
Broadcast standard out
|
3
|
+
Broadcast standard out.
|
4
4
|
|
5
5
|
== Installation
|
6
6
|
|
7
|
-
sudo gem install dnssd
|
8
7
|
sudo gem install jbarnette-pastejour --source=http://gems.github.com
|
9
8
|
|
10
9
|
== Usage
|
11
10
|
|
12
11
|
alice$ git diff | pastejour
|
13
|
-
bob$ pastejour alice
|
12
|
+
bob$ pastejour alice | cat
|
14
13
|
|
15
14
|
alice$ git diff | pastejour bob
|
16
|
-
bob$ pastejour
|
15
|
+
bob$ pastejour | cat
|
17
16
|
|
18
17
|
alice$ git diff | pastejour monkeys
|
19
|
-
bob$ pastejour alice-monkeys
|
20
|
-
|
21
|
-
alice$ git diff | pastejour monkeys
|
22
|
-
bob$ pastejour -f
|
23
|
-
Searching for servers (3 seconds)
|
24
|
-
alice-monkeys
|
25
|
-
|
26
|
-
# Copy the clipboard contents from one machine to another
|
27
|
-
alice$ pbpaste | pastejour
|
28
|
-
bob$ pastejour | pbcopy
|
18
|
+
bob$ pastejour alice-monkeys | cat
|
29
19
|
|
30
20
|
== ORLY?
|
31
21
|
|
@@ -61,4 +51,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
61
51
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
62
52
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
63
53
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
64
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
54
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
CHANGED
@@ -30,16 +30,18 @@ Rake::GemPackageTask.new(pastejour_gemspec) do |pkg|
|
|
30
30
|
end
|
31
31
|
|
32
32
|
namespace :gem do
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
33
|
+
namespace :spec do
|
34
|
+
desc "Update pastejour.gemspec"
|
35
|
+
task :generate do
|
36
|
+
File.open("pastejour.gemspec", "w") do |f|
|
37
|
+
f.puts(pastejour_gemspec.to_ruby)
|
38
|
+
end
|
37
39
|
end
|
38
40
|
end
|
39
41
|
end
|
40
42
|
|
41
43
|
task :install => :package do
|
42
|
-
sh %{sudo gem install
|
44
|
+
sh %{sudo gem install pkg/pastejour-#{Pastejour::VERSION}}
|
43
45
|
end
|
44
46
|
|
45
47
|
desc "Run all specs"
|
data/bin/pastejour
CHANGED
@@ -4,19 +4,13 @@ require "rubygems"
|
|
4
4
|
require "pastejour"
|
5
5
|
|
6
6
|
multiple = ARGV.delete("-m")
|
7
|
-
find = ARGV.delete("-f")
|
8
|
-
teeing = ARGV.delete("-t") || false
|
9
7
|
name = ARGV.shift
|
10
8
|
|
11
|
-
if
|
12
|
-
Pastejour.list
|
13
|
-
elsif $stdin.tty?
|
9
|
+
if $stdin.tty?
|
14
10
|
name = /#{ENV["USER"]}$/ if name.nil? || name.empty?
|
15
11
|
$stdout.write(Pastejour.get(name))
|
16
12
|
$stdout.flush
|
17
13
|
else
|
18
14
|
name = [ENV["USER"], name].compact.join("-")
|
19
|
-
|
20
|
-
Pastejour.serve(name, multiple, contents)
|
21
|
-
puts contents if teeing
|
15
|
+
Pastejour.serve(name, multiple, $stdin.read)
|
22
16
|
end
|
data/lib/pastejour/version.rb
CHANGED
data/lib/pastejour.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
require "dnssd"
|
2
|
-
require "set"
|
3
2
|
require "socket"
|
4
3
|
require "webrick"
|
5
|
-
|
4
|
+
require "set"
|
6
5
|
require "pastejour/version"
|
7
6
|
|
8
7
|
Thread.abort_on_exception = true
|
@@ -14,22 +13,6 @@ module Pastejour
|
|
14
13
|
PORT = 42424
|
15
14
|
SERVICE = "_pastejour._tcp"
|
16
15
|
|
17
|
-
def self.list
|
18
|
-
servers = {}
|
19
|
-
service = DNSSD.browse(SERVICE) do |reply|
|
20
|
-
servers[reply.name] ||= reply
|
21
|
-
end
|
22
|
-
STDERR.puts "Searching for servers (3 seconds)"
|
23
|
-
# Wait for something to happen
|
24
|
-
sleep 3
|
25
|
-
service.stop
|
26
|
-
servers.each { |string,obj|
|
27
|
-
name, port = string.split ":"
|
28
|
-
STDERR.puts "Found pastejour at '#{name}'"
|
29
|
-
}
|
30
|
-
end
|
31
|
-
|
32
|
-
|
33
16
|
def self.find(name, first=true)
|
34
17
|
hosts = Set.new
|
35
18
|
|
@@ -68,14 +51,17 @@ module Pastejour
|
|
68
51
|
return sock.read
|
69
52
|
end
|
70
53
|
end
|
54
|
+
|
55
|
+
# FIXME: actually read the paste contents
|
56
|
+
# TCPSocket.open("localhost", PORT).read
|
71
57
|
end
|
72
58
|
|
73
59
|
def self.serve(name, multiple, contents)
|
74
60
|
tr = DNSSD::TextRecord.new
|
75
|
-
tr[
|
61
|
+
tr['description'] = File.read("#{path}/.git/description") rescue "a git project"
|
76
62
|
|
77
63
|
DNSSD.register(name, SERVICE, "local", PORT, tr.encode) do |reply|
|
78
|
-
|
64
|
+
puts "Pasting #{name}..."
|
79
65
|
end
|
80
66
|
|
81
67
|
log = WEBrick::Log.new(true) # true fools it
|
@@ -83,11 +69,9 @@ module Pastejour
|
|
83
69
|
|
84
70
|
server = WEBrick::GenericServer.new(:Port => PORT, :Logger => log)
|
85
71
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
exit!
|
90
|
-
end
|
72
|
+
trap "INT" do
|
73
|
+
server.shutdown
|
74
|
+
exit!
|
91
75
|
end
|
92
76
|
|
93
77
|
server.start do |socket|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jbarnette-pastejour
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Barnette
|
@@ -10,7 +10,7 @@ autorequire: pastejour
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2008-
|
13
|
+
date: 2008-06-03 00:00:00 -07:00
|
14
14
|
default_executable: pastejour
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -63,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
63
63
|
requirements: []
|
64
64
|
|
65
65
|
rubyforge_project:
|
66
|
-
rubygems_version: 1.
|
66
|
+
rubygems_version: 1.0.1
|
67
67
|
signing_key:
|
68
68
|
specification_version: 2
|
69
69
|
summary: Broadcast standard out.
|