gisty 0.0.23 → 0.1.1

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/Rakefile CHANGED
@@ -60,6 +60,7 @@ spec = Gem::Specification.new do |s|
60
60
 
61
61
  #s.add_dependency('activesupport', '>=1.3.1')
62
62
  s.add_dependency('nokogiri', '>=1.0.0')
63
+ s.add_dependency('highline')
63
64
  #s.required_ruby_version = '>= 1.8.2'
64
65
 
65
66
  s.files = %w(README.rdoc Rakefile) +
@@ -8,8 +8,9 @@ cmd :post, 'file1 file2 ...', 'post new gist' do |fs|
8
8
  puts "Error: #{e}"
9
9
  else
10
10
  id = url.split('/').last
11
+ html_url = "https://gist.github.com/#{id}"
12
+ system "open #{html_url}" if /darwin/ === RUBY_PLATFORM
11
13
  @g.clone id
12
- system "open #{url}" if /darwin/ === RUBY_PLATFORM
13
14
  end
14
15
  end
15
16
  end
@@ -5,8 +5,9 @@ cmd :private_post, 'file1 file2 ...', 'post new private gist' do |fs|
5
5
  rescue Exception => e
6
6
  puts "Error: #{e}"
7
7
  else
8
- system "open #{url}" if /darwin/ === RUBY_PLATFORM
9
8
  id = url.split('/').last
9
+ html_url = "https://gist.github.com/#{id}"
10
+ system "open #{html_url}" if /darwin/ === RUBY_PLATFORM
10
11
  @g.clone id
11
12
  end
12
13
  end
@@ -1,13 +1,15 @@
1
1
  require 'pathname'
2
2
  require 'net/http'
3
+ require 'net/https'
3
4
  require 'open-uri'
4
5
  require 'fileutils'
5
6
  require 'rubygems'
6
7
  require 'nokogiri'
7
- require 'net/https'
8
+ require 'json'
9
+ require 'highline/import'
8
10
 
9
11
  class Gisty
10
- VERSION = '0.0.23'
12
+ VERSION = '0.1.1'
11
13
  GIST_URL = 'https://gist.github.com/'
12
14
  GISTY_URL = 'http://github.com/swdyh/gisty/tree/master'
13
15
  COMMAND_PATH = Pathname.new(File.join(File.dirname(__FILE__), 'commands')).realpath.to_s
@@ -157,10 +159,22 @@ class Gisty
157
159
  user.empty? ? {} : { 'login' => user, 'token' => token }
158
160
  end
159
161
 
162
+ def get_password
163
+ pw = `git config --global github.password`.strip
164
+ if pw.size == 0
165
+ ask("Enter your password: ") { |q| q.echo = false }.strip
166
+ else
167
+ pw
168
+ end
169
+ end
170
+
160
171
  def post params
161
- url = URI.parse('https://gist.github.com/gists')
172
+ url = URI.parse('https://api.github.com/gists')
162
173
  req = Net::HTTP::Post.new url.path
163
- req.set_form_data params
174
+
175
+ req.basic_auth @auth['login'], get_password
176
+ req.body = params.to_json
177
+
164
178
  https = Net::HTTP.new(url.host, url.port)
165
179
  https.use_ssl = true
166
180
  https.verify_mode = @ssl_verify
@@ -182,10 +196,9 @@ class Gisty
182
196
  raise InvalidFileException if list.any?{ |i| !i.file? }
183
197
 
184
198
  params = {}
199
+ params['files'] = {}
185
200
  list.each_with_index do |i, index|
186
- params["file_ext[gistfile#{index + 1}]"] = i.extname
187
- params["file_name[gistfile#{index + 1}]"] = i.basename.to_s
188
- params["file_contents[gistfile#{index + 1}]"] = IO.read(i)
201
+ params['files'][i.basename.to_s] = { 'content' => IO.read(i) }
189
202
  end
190
203
  params
191
204
  end
@@ -193,10 +206,11 @@ class Gisty
193
206
  def create paths, opt = { :private => false }
194
207
  params = build_params paths
195
208
  if opt[:private]
196
- params['private'] = 'on'
197
- params['action_button'] = 'private'
209
+ params['public'] = false
210
+ else
211
+ params['public'] = true
198
212
  end
199
- post params.merge(auth)
213
+ post params
200
214
  end
201
215
 
202
216
  def read_by_url url
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gisty
3
3
  version: !ruby/object:Gem::Version
4
- hash: 49
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 0
9
- - 23
10
- version: 0.0.23
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - swdyh
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-02-22 00:00:00 +09:00
18
+ date: 2012-03-19 00:00:00 +09:00
19
19
  default_executable: gisty
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -34,6 +34,20 @@ dependencies:
34
34
  version: 1.0.0
35
35
  type: :runtime
36
36
  version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: highline
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :runtime
50
+ version_requirements: *id002
37
51
  description: yet another command line client for gist
38
52
  email: http://mailhide.recaptcha.net/d?k=01AhB7crgrlHptVaYRD0oPwA==&c=L_iqOZrGmo6hcGpPTFg1QYnjr-WpAStyQ4Y8ShfgOHs=
39
53
  executables: