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.
Files changed (5) hide show
  1. data/README.rdoc +1 -1
  2. data/bin/gisty +20 -9
  3. data/lib/gisty.rb +31 -6
  4. data/test/gisty_test.rb +8 -8
  5. 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
- gisty version show gisty version
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 :version do
13
- puts Gisty::VERSION
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 version show gisty version
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 'error.'
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 'error.'
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
- @g = Gisty.new ENV['GISTY_DIR']
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 "error: please set ENV['GISTY_DIR']"
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 = '0.0.4'
9
- GIST_URL = 'http://gist.github.com/'
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 'auth error' if @auth[:login].nil? || @auth[:token].nil?
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
- # puts "delete #{id}"
80
- delete id
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 'file error' if list.any?{ |i| !i.file? }
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
- 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
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
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-06 00:00:00 -08:00
12
+ date: 2008-12-07 00:00:00 -08:00
13
13
  default_executable: gisty
14
14
  dependencies: []
15
15