pastejour 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,11 @@
1
- === 1.0.0 (2009-02-27)
1
+ === 1.2.0 / 2009-06-22
2
+
3
+ * Update docs.
4
+ * Standardize project structure.
5
+ * Switch to correct MiniTest.
6
+ * Switch to new Hoe.
7
+ * Improve the command-line tool.
8
+
9
+ === 1.0.0 / 2009-02-27
2
10
 
3
11
  * Birthday!
data/Manifest.txt CHANGED
@@ -5,5 +5,4 @@ Rakefile
5
5
  bin/pastejour
6
6
  lib/pastejour.rb
7
7
  lib/pastejour/cli.rb
8
- lib/pastejour/version.rb
9
- test/pastejour/cli_test.rb
8
+ test/test_cli.rb
data/README.rdoc CHANGED
@@ -1,26 +1,31 @@
1
1
  = Pastejour
2
2
 
3
- Broadcast standard out using Bonjour.
3
+ * http://github.com/jbarnette/pastejour
4
+
5
+ == Description
6
+
7
+ Broadcast standard out using Bonjour. Pipe output to other people.
8
+ Pastejour is like pbcopy, but over the network!
4
9
 
5
10
  == Examples
6
11
 
7
- alice$ git diff | pastejour
8
- bob$ pastejour alice
9
-
10
- alice$ git diff | pastejour bob
11
- bob$ pastejour
12
-
13
- alice$ git diff | pastejour monkeys
14
- bob$ pastejour alice-monkeys
15
-
16
- alice$ git diff | pastejour monkeys
17
- bob$ pastejour -f
18
- Searching for servers (3 seconds)
19
- alice-monkeys
20
-
21
- # Copy the clipboard contents from one machine to another
22
- alice$ pbpaste | pastejour bob
23
- bob$ pastejour | pbcopy
12
+ alice$ git diff | pastejour
13
+ bob$ pastejour alice
14
+
15
+ alice$ git diff | pastejour bob
16
+ bob$ pastejour
17
+
18
+ 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 bob
28
+ bob$ pastejour | pbcopy
24
29
 
25
30
  == ORLY?
26
31
 
@@ -29,15 +34,19 @@ and out. By default, Pastejour will only stay up until the first
29
34
  person grabs your paste. If you want to let a bunch of people grab the
30
35
  same thing, shoot it out in multiple mode:
31
36
 
32
- alice$ git diff | pastejour -m # keeps on serving 'til you CTRL-C
33
-
37
+ alice$ git diff | pastejour -m # keeps on serving 'til you CTRL-C
38
+
34
39
  == Awesome!
35
40
 
36
41
  You know it.
37
42
 
38
43
  == Installation
39
44
 
40
- $ sudo gem install pastejour
45
+ $ gem install pastejour
46
+
47
+ == TODO
48
+
49
+ * Stop using dnssd, it's Mac OS X only.
41
50
 
42
51
  == License
43
52
 
data/Rakefile CHANGED
@@ -1,18 +1,14 @@
1
1
  require "rubygems"
2
2
  require "hoe"
3
3
 
4
- require "./lib/pastejour/version.rb"
4
+ Hoe.spec "pastejour" do
5
+ developer "John Barnette", "jbarnette@rubyforge.org"
6
+ developer "Evan Phoenix", "evan@fallingsnow.net"
5
7
 
6
- Hoe.new "pastejour", Pastejour::VERSION do |p|
7
- p.developer "John Barnette", "jbarnette@rubyforge.org"
8
+ self.extra_rdoc_files = FileList["*.rdoc"]
9
+ self.history_file = "CHANGELOG.rdoc"
10
+ self.readme_file = "README.rdoc"
11
+ self.testlib = :minitest
8
12
 
9
- p.url = "http://github.com/jbarnette/pastejour"
10
- p.history_file = "CHANGELOG.rdoc"
11
- p.readme_file = "README.rdoc"
12
- p.extra_rdoc_files = [p.readme_file]
13
- p.need_tar = false
14
- p.test_globs = %w(test/**/*_test.rb)
15
- p.testlib = :minitest
16
-
17
- p.extra_deps << "dnssd"
13
+ extra_deps << "dnssd"
18
14
  end
data/bin/pastejour CHANGED
@@ -2,19 +2,17 @@
2
2
 
3
3
  require "pastejour/cli"
4
4
 
5
- opts = Pastejour::Cli.new STDOUT, ARGV
6
-
7
- if opts.run?
8
- if opts.list?
5
+ Pastejour::Cli.new STDOUT, ARGV do |cli|
6
+ if cli.list?
9
7
  Pastejour.list
10
8
  elsif $stdin.tty?
11
- name = /#{ENV["USER"]}$/ if opts.name.nil? || opts.name.empty?
9
+ name = /#{ENV["USER"]}$/ if cli.name.nil? || cli.name.empty?
12
10
  $stdout.write Pastejour.get(name)
13
11
  $stdout.flush
14
12
  else
15
- name = [ENV["USER"], opts.name].compact.join "-"
13
+ name = [ENV["USER"], cli.name].compact.join "-"
16
14
  contents = $stdin.read
17
- Pastejour.serve name, opts.multiple?, contents
18
- $stdout.puts contents if opts.tee?
15
+ Pastejour.serve name, cli.multiple?, contents
16
+ $stdout.puts contents if cli.tee?
19
17
  end
20
18
  end
data/lib/pastejour/cli.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require "optparse"
2
2
  require "pastejour"
3
- require "pastejour/version"
4
3
 
5
4
  module Pastejour
6
5
  class Cli
@@ -39,9 +38,11 @@ module Pastejour
39
38
  end
40
39
 
41
40
  opts.separator ""
42
-
43
41
  opts.parse! args
42
+
44
43
  @name = args.shift
44
+
45
+ yield self if @run && block_given?
45
46
  end
46
47
  end
47
48
 
data/lib/pastejour.rb CHANGED
@@ -1,4 +1,3 @@
1
- require "rubygems"
2
1
  require "dnssd"
3
2
  require "set"
4
3
  require "socket"
@@ -7,6 +6,8 @@ require "webrick"
7
6
  Thread.abort_on_exception = true
8
7
 
9
8
  module Pastejour
9
+ VERSION = "1.2.0"
10
+
10
11
  include Socket::Constants
11
12
 
12
13
  Paste = Struct.new(:name, :host, :port)
@@ -18,12 +19,15 @@ module Pastejour
18
19
  service = DNSSD.browse(SERVICE) do |reply|
19
20
  servers[reply.name] ||= reply
20
21
  end
22
+
21
23
  STDERR.puts "Searching for servers (3 seconds)"
24
+
22
25
  # Wait for something to happen
23
26
  sleep 3
27
+
24
28
  service.stop
25
- servers.each { |string,obj|
26
- name, port = string.split ":"
29
+ servers.each { |string,obj|
30
+ name, port = string.split ":"
27
31
  STDERR.puts "Found pastejour at '#{name}'"
28
32
  }
29
33
  end
@@ -59,7 +63,6 @@ module Pastejour
59
63
  STDERR.puts " #{host.name} (#{host.host}:#{host.port})"
60
64
  end
61
65
  else
62
- # Set is weird. There is no #[] or #at
63
66
  hosts.each do |host|
64
67
  STDERR.puts "(#{host.name} from #{host.host}:#{host.port})"
65
68
  sock = TCPSocket.open host.host, host.port
@@ -71,7 +74,7 @@ module Pastejour
71
74
  def self.serve(name, multiple, contents)
72
75
  tr = DNSSD::TextRecord.new
73
76
  tr["description"] = "A paste."
74
-
77
+
75
78
  DNSSD.register(name, SERVICE, "local", PORT, tr.encode) do |reply|
76
79
  STDERR.puts "Pasting #{name}..."
77
80
  end
@@ -1,6 +1,5 @@
1
- require "minitest/unit"
1
+ require "minitest/autorun"
2
2
  require "pastejour/cli"
3
- require "pastejour/version"
4
3
 
5
4
  module Pastejour
6
5
  class CliTest < MiniTest::Unit::TestCase
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pastejour
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Barnette
8
+ - Evan Phoenix
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
12
 
12
- date: 2009-02-27 00:00:00 -08:00
13
+ date: 2009-06-22 00:00:00 -07:00
13
14
  default_executable:
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
@@ -30,17 +31,21 @@ dependencies:
30
31
  requirements:
31
32
  - - ">="
32
33
  - !ruby/object:Gem::Version
33
- version: 1.9.0
34
+ version: 2.2.0
34
35
  version:
35
- description: ""
36
+ description: |-
37
+ Broadcast standard out using Bonjour. Pipe output to other people.
38
+ Pastejour is like pbcopy, but over the network!
36
39
  email:
37
40
  - jbarnette@rubyforge.org
41
+ - evan@fallingsnow.net
38
42
  executables:
39
43
  - pastejour
40
44
  extensions: []
41
45
 
42
46
  extra_rdoc_files:
43
47
  - Manifest.txt
48
+ - CHANGELOG.rdoc
44
49
  - README.rdoc
45
50
  files:
46
51
  - CHANGELOG.rdoc
@@ -50,10 +55,11 @@ files:
50
55
  - bin/pastejour
51
56
  - lib/pastejour.rb
52
57
  - lib/pastejour/cli.rb
53
- - lib/pastejour/version.rb
54
- - test/pastejour/cli_test.rb
58
+ - test/test_cli.rb
55
59
  has_rdoc: true
56
60
  homepage: http://github.com/jbarnette/pastejour
61
+ licenses: []
62
+
57
63
  post_install_message:
58
64
  rdoc_options:
59
65
  - --main
@@ -75,9 +81,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
81
  requirements: []
76
82
 
77
83
  rubyforge_project: pastejour
78
- rubygems_version: 1.3.1
84
+ rubygems_version: 1.3.4
79
85
  signing_key:
80
- specification_version: 2
81
- summary: ""
86
+ specification_version: 3
87
+ summary: Broadcast standard out using Bonjour
82
88
  test_files:
83
- - test/pastejour/cli_test.rb
89
+ - test/test_cli.rb
@@ -1,3 +0,0 @@
1
- module Pastejour
2
- VERSION = "1.1.0"
3
- end