view_server 0.0.1 → 0.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/bin/view_server +91 -0
- data/lib/view_server/version.rb +1 -1
- data/view_server.gemspec +1 -1
- metadata +22 -4
data/bin/view_server
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# server
|
4
|
+
require 'tmpdir'
|
5
|
+
require 'fileutils'
|
6
|
+
require 'digest'
|
7
|
+
|
8
|
+
require "rubygems"
|
9
|
+
require "clip"
|
10
|
+
|
11
|
+
class TmpFile
|
12
|
+
def self.open(prefix = "", suffix= "")
|
13
|
+
begin
|
14
|
+
digest = Digest::MD5.hexdigest((Time.now.to_f + rand(10000)).to_s)
|
15
|
+
file_name = File.join(Dir.tmpdir, prefix + digest + suffix )
|
16
|
+
File.open(file_name, 'w+' ) do |f|
|
17
|
+
yield f
|
18
|
+
end
|
19
|
+
ensure
|
20
|
+
FileUtils::rm(file_name) if File.exist?(file_name)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
options = Clip do |p|
|
26
|
+
p.flag 's', 'server',:desc => 'Is a server', :default => false
|
27
|
+
|
28
|
+
p.optional 'p', 'port', :desc => 'The port', :default => 10021 do |v|
|
29
|
+
v.to_i # always deal with integers
|
30
|
+
end
|
31
|
+
p.flag 'c', 'copy_to_clipboard', :desc => "Send to clipboard"
|
32
|
+
p.flag 'P', 'paste_from_clipboard', :desc => "Read from clipboard"
|
33
|
+
p.flag 'v', 'verbose', :desc => 'Make it chatty'
|
34
|
+
end
|
35
|
+
|
36
|
+
if options.valid?
|
37
|
+
if options.verbose?
|
38
|
+
puts options.host
|
39
|
+
puts options.port
|
40
|
+
puts 'files:'
|
41
|
+
options.files.each do |f|
|
42
|
+
puts "\t#{f}"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
else
|
46
|
+
# print error message(s) and usage
|
47
|
+
$stderr.puts options.to_s
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
require 'drb'
|
52
|
+
|
53
|
+
if options.server?
|
54
|
+
class Viewer
|
55
|
+
def affiche(file_ext, data)
|
56
|
+
TmpFile.open( "", "." + file_ext) do |a|
|
57
|
+
a << data
|
58
|
+
a.close
|
59
|
+
`open #{a.path} `
|
60
|
+
sleep 5 #We don't want to delete the file before it's loaded
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def to_cb(data) # To clipboard
|
65
|
+
File.open("#{ENV['HOME']}/tmp/clipboard", "w"){|a| a << data}
|
66
|
+
IO.popen('pbcopy', 'w'){|a| a << data}
|
67
|
+
end
|
68
|
+
|
69
|
+
def paste # From clipboard
|
70
|
+
`pbpaste`
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
DRb.start_service "druby://localhost:#{options.port}", Viewer.new
|
75
|
+
puts DRb.uri
|
76
|
+
|
77
|
+
DRb.thread.join
|
78
|
+
else
|
79
|
+
DRb.start_service
|
80
|
+
obj = DRbObject.new(nil, "druby://localhost:#{options.port}")
|
81
|
+
|
82
|
+
if options.copy_to_clipboard?
|
83
|
+
obj.to_cb(STDIN.read)
|
84
|
+
elsif options.paste_from_clipboard?
|
85
|
+
print obj.paste
|
86
|
+
else
|
87
|
+
if obj.remaining?
|
88
|
+
affiche("csv", "2,4,5\n3,4,5")
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
data/lib/view_server/version.rb
CHANGED
data/view_server.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'view_server/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = "view_server"
|
8
8
|
gem.version = ViewServer::VERSION
|
9
|
-
|
9
|
+
gem.add_dependency "clip"
|
10
10
|
gem.add_development_dependency 'rake'
|
11
11
|
gem.add_development_dependency "bundler", "~> 1.0"
|
12
12
|
gem.add_development_dependency 'minitest'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: view_server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,6 +11,22 @@ bindir: bin
|
|
11
11
|
cert_chain: []
|
12
12
|
date: 2012-12-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: clip
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
14
30
|
- !ruby/object:Gem::Dependency
|
15
31
|
name: rake
|
16
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -62,7 +78,8 @@ dependencies:
|
|
62
78
|
description: Allow local viewing of remote files
|
63
79
|
email:
|
64
80
|
- chabotm@gmail.com
|
65
|
-
executables:
|
81
|
+
executables:
|
82
|
+
- view_server
|
66
83
|
extensions: []
|
67
84
|
extra_rdoc_files: []
|
68
85
|
files:
|
@@ -71,6 +88,7 @@ files:
|
|
71
88
|
- LICENSE.txt
|
72
89
|
- README.md
|
73
90
|
- Rakefile
|
91
|
+
- bin/view_server
|
74
92
|
- lib/view_server.rb
|
75
93
|
- lib/view_server/version.rb
|
76
94
|
- test/test_helper.rb
|
@@ -90,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
90
108
|
version: '0'
|
91
109
|
segments:
|
92
110
|
- 0
|
93
|
-
hash: -
|
111
|
+
hash: -2501156995423652076
|
94
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
113
|
none: false
|
96
114
|
requirements:
|
@@ -99,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
117
|
version: '0'
|
100
118
|
segments:
|
101
119
|
- 0
|
102
|
-
hash: -
|
120
|
+
hash: -2501156995423652076
|
103
121
|
requirements: []
|
104
122
|
rubyforge_project:
|
105
123
|
rubygems_version: 1.8.24
|