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 CHANGED
@@ -1,31 +1,21 @@
1
1
  = Pastejour
2
2
 
3
- Broadcast standard out using Bonjour.
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
- desc "Update pastejour.gemspec"
34
- task :spec do
35
- File.open("pastejour.gemspec", "w") do |f|
36
- f.puts(pastejour_gemspec.to_ruby)
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 --local pkg/pastejour-#{Pastejour::VERSION}}
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 find
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
- contents = $stdin.read
20
- Pastejour.serve(name, multiple, contents)
21
- puts contents if teeing
15
+ Pastejour.serve(name, multiple, $stdin.read)
22
16
  end
@@ -1,5 +1,3 @@
1
1
  module Pastejour
2
- major, minor, tiny = 1, 0, 0
3
- nano = ENV['RELEASE'] ? nil : Time.now.strftime("%Y%m%d%H%M")
4
- VERSION = [major, minor, tiny, nano].compact.join('.').freeze
2
+ VERSION = "1.0.2".freeze
5
3
  end
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["description"] = "A paste."
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
- STDERR.puts "Pasting #{name}..."
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
- %w(INT TERM).each do |signal|
87
- trap signal do
88
- server.shutdown
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.0.200808041733
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-08-04 00:00:00 -07:00
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.2.0
66
+ rubygems_version: 1.0.1
67
67
  signing_key:
68
68
  specification_version: 2
69
69
  summary: Broadcast standard out.