swdyh-gisty 0.0.4 → 0.0.5
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 +1 -1
- data/bin/gisty +20 -9
- data/lib/gisty.rb +31 -6
- data/test/gisty_test.rb +8 -8
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -40,7 +40,7 @@ use API token with HTTP. at your own risk.
|
|
40
40
|
gisty private_post file1 file2 ... post new private gist.
|
41
41
|
gisty sync sync remote gist.
|
42
42
|
gisty sync_delete sync remote gist. delete local gist if remote gist was deleted.
|
43
|
-
|
43
|
+
gisty about show about gisty
|
44
44
|
gisty help show help
|
45
45
|
|
46
46
|
== Copyright
|
data/bin/gisty
CHANGED
@@ -9,8 +9,11 @@ def cmd name
|
|
9
9
|
@cmds[name.to_s] = Proc.new { |i| yield i }
|
10
10
|
end
|
11
11
|
|
12
|
-
cmd :
|
13
|
-
puts Gisty::
|
12
|
+
cmd :aboutt do
|
13
|
+
puts Gisty::AA
|
14
|
+
puts
|
15
|
+
puts 'version: ' + Gisty::VERSION
|
16
|
+
puts 'url: ' + Gisty::GISTY_URL
|
14
17
|
end
|
15
18
|
|
16
19
|
cmd :help do
|
@@ -23,7 +26,7 @@ commands:
|
|
23
26
|
gisty private_post file1 file2 ... post new private gist.
|
24
27
|
gisty sync sync remote gist.
|
25
28
|
gisty sync_delete sync remote gist. delete local gist if remote gist was deleted.
|
26
|
-
gisty
|
29
|
+
gisty about show about gisty
|
27
30
|
gisty help show help
|
28
31
|
EOS
|
29
32
|
end
|
@@ -50,10 +53,12 @@ cmd :post do |fs|
|
|
50
53
|
if fs.size > 0
|
51
54
|
begin
|
52
55
|
url = @g.create fs
|
56
|
+
rescue Gisty::InvalidFileException => e
|
57
|
+
puts "Error: invalid file"
|
53
58
|
rescue Exception => e
|
54
|
-
puts
|
59
|
+
puts "Error: #{e}"
|
55
60
|
else
|
56
|
-
system "open #{url}"
|
61
|
+
system "open #{url}" if /darwin/ === RUBY_PLATFORM
|
57
62
|
id = url.split('/').last
|
58
63
|
@g.clone id
|
59
64
|
end
|
@@ -65,9 +70,9 @@ cmd :private_post do |fs|
|
|
65
70
|
begin
|
66
71
|
url = @g.create fs, :private => true
|
67
72
|
rescue Exception => e
|
68
|
-
puts
|
73
|
+
puts "Error: #{e}"
|
69
74
|
else
|
70
|
-
system "open #{url}"
|
75
|
+
system "open #{url}" if /darwin/ === RUBY_PLATFORM
|
71
76
|
id = url.split('/').last
|
72
77
|
@g.clone id
|
73
78
|
end
|
@@ -76,9 +81,15 @@ end
|
|
76
81
|
|
77
82
|
|
78
83
|
if ENV['GISTY_DIR']
|
79
|
-
|
84
|
+
begin
|
85
|
+
@g = Gisty.new ENV['GISTY_DIR']
|
86
|
+
rescue Gisty::UnsetAuthInfoException => e
|
87
|
+
puts 'Error: set your api token.'
|
88
|
+
puts 'see Global Git Config at https://github.com/account'
|
89
|
+
exit
|
90
|
+
end
|
80
91
|
else
|
81
|
-
puts "
|
92
|
+
puts "Error: please set ENV['GISTY_DIR']"
|
82
93
|
exit
|
83
94
|
end
|
84
95
|
|
data/lib/gisty.rb
CHANGED
@@ -5,8 +5,15 @@ require 'rubygems'
|
|
5
5
|
require 'nokogiri'
|
6
6
|
|
7
7
|
class Gisty
|
8
|
-
VERSION
|
9
|
-
GIST_URL
|
8
|
+
VERSION = '0.0.5'
|
9
|
+
GIST_URL = 'http://gist.github.com/'
|
10
|
+
GISTY_URL = 'http://github.com/swdyh/gisty/tree/master'
|
11
|
+
|
12
|
+
class UnsetAuthInfoException < Exception
|
13
|
+
end
|
14
|
+
|
15
|
+
class InvalidFileException < Exception
|
16
|
+
end
|
10
17
|
|
11
18
|
def self.extract_ids url
|
12
19
|
doc = Nokogiri::HTML open(url)
|
@@ -25,7 +32,7 @@ class Gisty
|
|
25
32
|
|
26
33
|
def initialize path, login = nil, token = nil
|
27
34
|
@auth = (login && token) ? { :login => login, :token => token } : auth
|
28
|
-
raise
|
35
|
+
raise UnsetAuthInfoException if @auth[:login].nil? || @auth[:token].nil?
|
29
36
|
@auth_query = "login=#{@auth[:login]}&token=#{@auth[:token]}"
|
30
37
|
@dir = Pathname.pwd.realpath.join path
|
31
38
|
FileUtils.mkdir_p @dir unless @dir.exist?
|
@@ -76,8 +83,14 @@ class Gisty
|
|
76
83
|
|
77
84
|
if delete
|
78
85
|
(local - remote).each do |id|
|
79
|
-
|
80
|
-
|
86
|
+
print "delete #{id}? [y/n]"
|
87
|
+
confirm = $stdin.gets.strip
|
88
|
+
if confirm == 'y' || confirm == 'yes'
|
89
|
+
puts "delete #{id}"
|
90
|
+
delete id
|
91
|
+
else
|
92
|
+
puts "skip #{id}"
|
93
|
+
end
|
81
94
|
end
|
82
95
|
ids = remote
|
83
96
|
else
|
@@ -113,7 +126,7 @@ class Gisty
|
|
113
126
|
|
114
127
|
def build_params paths
|
115
128
|
list = (Array === paths ? paths : [paths]).map { |i| Pathname.new i }
|
116
|
-
raise
|
129
|
+
raise InvalidFileException if list.any?{ |i| !i.file? }
|
117
130
|
|
118
131
|
params = {}
|
119
132
|
list.each_with_index do |i, index|
|
@@ -131,4 +144,16 @@ class Gisty
|
|
131
144
|
end
|
132
145
|
post params.merge(auth)
|
133
146
|
end
|
147
|
+
|
148
|
+
# `figlet -f contributed/bdffonts/clb8x8.flf gisty`.gsub('#', 'm')
|
149
|
+
AA = <<-EOS
|
150
|
+
mm mm
|
151
|
+
mm
|
152
|
+
mmmmmm mmmm mmmmm mmmmmm mm mm
|
153
|
+
mm mm mm mm mm mm mm
|
154
|
+
mm mm mm mmmm mm mm mm
|
155
|
+
mmmmmm mm mm mm mmmmm
|
156
|
+
mm mmmmmm mmmmm mmm mm
|
157
|
+
mmmmm mmmm
|
158
|
+
EOS
|
134
159
|
end
|
data/test/gisty_test.rb
CHANGED
@@ -108,14 +108,14 @@ class GistyTest < Test::Unit::TestCase
|
|
108
108
|
assert ids.all? { |i| @gisty_dir.join(i).exist? }
|
109
109
|
end
|
110
110
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
111
|
+
# def test_sync_delete
|
112
|
+
# id = '12345'
|
113
|
+
# assert !@gisty.remote_ids.include?(id)
|
114
|
+
# @gisty.clone id
|
115
|
+
# assert @gisty_dir.join(id).exist?
|
116
|
+
# @gisty.sync true
|
117
|
+
# assert !@gisty_dir.join(id).exist?
|
118
|
+
# end
|
119
119
|
|
120
120
|
def test_build_params
|
121
121
|
path = File.join('test', 'fixtures', 'foo.user.js')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swdyh-gisty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- swdyh
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-12-
|
12
|
+
date: 2008-12-07 00:00:00 -08:00
|
13
13
|
default_executable: gisty
|
14
14
|
dependencies: []
|
15
15
|
|