gist 4.1.3 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (8) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +1 -1
  3. data/bin/gist +17 -8
  4. data/build/gist +80 -41
  5. data/build/gist.1 +19 -2
  6. data/lib/gist.rb +64 -34
  7. data/spec/rawify_spec.rb +12 -0
  8. metadata +75 -94
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 730e7eb88155102e71741d068a955fabedb5b13e
4
+ data.tar.gz: c0ec9f5d77a19f0e7b3a441b071f1bf70c3f76be
5
+ SHA512:
6
+ metadata.gz: 28e3e28669cd3a7d419dc87f8d28e10544fa01c9b9d013e04f68ffd35040ead7770f29738f21a8929c6543c0ff03adaf61cb32d2195c17f4e7ab566bedb598c6
7
+ data.tar.gz: 776b770dd8b1e4091fb4d0c342946764d3f38724f4386b0ca99eac4e8554a86871714f558d17d5bccd899df35103a322868d5c33f3d6645d82cc3d0cbdbdb3ba
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
data/bin/gist CHANGED
@@ -1,13 +1,16 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ # Silence Ctrl-C's
4
+ trap('INT'){ exit 1 }
5
+
3
6
  require 'optparse'
4
- require File.expand_path('../../lib/gist', __FILE__)
7
+ require 'gist'
5
8
 
6
9
  # For the holdings of options.
7
10
  options = {}
8
11
  filenames = []
9
12
 
10
- opts = OptionParser.new do |opts|
13
+ OptionParser.new do |opts|
11
14
  executable_name = File.split($0)[1]
12
15
  opts.banner = <<-EOS
13
16
  Gist (v#{Gist::VERSION}) lets you upload to https://gist.github.com/
@@ -28,7 +31,8 @@ Anonymous gists are not associated with your GitHub account, they can be created
28
31
  with "-a" even after you have used "gist --login".
29
32
 
30
33
  If you would like to shorten the resulting gist URL, use the -s flag. This will
31
- use GitHub's URL shortener, git.io.
34
+ use GitHub's URL shortener, git.io. You can also use -R to get the link to the
35
+ raw gist.
32
36
 
33
37
  To copy the resulting URL to your clipboard you can use the -c option, or to
34
38
  just open it directly in your browser, use -o. Using the -e option will copy the
@@ -39,7 +43,7 @@ Instead of creating a new gist, you can update an existing one by passing its ID
39
43
  or URL with "-u". For this to work, you must be logged in, and have created the
40
44
  original gist with the same GitHub account.
41
45
 
42
- Usage: #{executable_name} [-o|-c|-e] [-p] [-s] [-d DESC] [-a] [-u URL] [-P] [-f NAME|-t EXT]* FILE*
46
+ Usage: #{executable_name} [-o|-c|-e] [-p] [-s] [-R] [-d DESC] [-a] [-u URL] [-P] [-f NAME|-t EXT]* FILE*
43
47
  #{executable_name} --login
44
48
 
45
49
  EOS
@@ -102,6 +106,10 @@ Usage: #{executable_name} [-o|-c|-e] [-p] [-s] [-d DESC] [-a] [-u URL] [-P] [-f
102
106
  options[:paste] = true
103
107
  end
104
108
 
109
+ opts.on("-R", "--raw", "Raw url of the new gist") do
110
+ options[:raw] = true
111
+ end
112
+
105
113
  opts.on_tail("-h","--help", "Show this message.") do
106
114
  puts opts
107
115
  exit
@@ -112,16 +120,19 @@ Usage: #{executable_name} [-o|-c|-e] [-p] [-s] [-d DESC] [-a] [-u URL] [-P] [-f
112
120
  exit
113
121
  end
114
122
 
115
- end
116
- opts.parse!
123
+ end.parse!
117
124
 
118
125
  begin
119
126
  options[:output] = if options[:embed] && options[:shorten]
120
127
  raise Gist::Error, "--embed does not make sense with --shorten"
121
128
  elsif options[:embed]
122
129
  :javascript
130
+ elsif options[:shorten] and options[:raw]
131
+ :short_raw_url
123
132
  elsif options[:shorten]
124
133
  :short_url
134
+ elsif options[:raw]
135
+ :raw_url
125
136
  else
126
137
  :html_url
127
138
  end
@@ -152,6 +163,4 @@ begin
152
163
  rescue Gist::Error => e
153
164
  puts "Error: #{e.message}"
154
165
  exit 1
155
- rescue Interrupt
156
- # bye!
157
166
  end
data/build/gist CHANGED
@@ -1318,7 +1318,7 @@ end
1318
1318
  module Gist
1319
1319
  extend self
1320
1320
 
1321
- VERSION = '4.1.2'
1321
+ VERSION = '4.2.0'
1322
1322
 
1323
1323
  # A list of clipboard commands with copy and paste support.
1324
1324
  CLIPBOARD_COMMANDS = {
@@ -1442,6 +1442,25 @@ module Gist
1442
1442
  end
1443
1443
  end
1444
1444
 
1445
+ # Convert github url into raw file url
1446
+ #
1447
+ # Unfortunately the url returns from github's api is legacy,
1448
+ # we have to taking a HTTPRedirection before appending it
1449
+ # with '/raw'. Let's looking forward for github's api fix :)
1450
+ #
1451
+ # @param [String] url
1452
+ # @return [String] the raw file url
1453
+ def rawify(url)
1454
+ uri = URI(url)
1455
+ request = Net::HTTP::Get.new(uri.path)
1456
+ response = http(uri, request)
1457
+ if Net::HTTPSuccess === response
1458
+ url + '/raw'
1459
+ elsif Net::HTTPRedirection === response
1460
+ rawify(response.header['location'])
1461
+ end
1462
+ end
1463
+
1445
1464
  # Log the user into gist.
1446
1465
  #
1447
1466
  # This method asks the user for a username and password, and tries to obtain
@@ -1454,44 +1473,50 @@ module Gist
1454
1473
  # @see http://developer.github.com/v3/oauth/
1455
1474
  def login!(credentials={})
1456
1475
  puts "Obtaining OAuth2 access_token from github."
1457
- print "GitHub username: "
1458
- username = credentials[:username] || $stdin.gets.strip
1459
- print "GitHub password: "
1460
- password = credentials[:password] || begin
1461
- `stty -echo` rescue nil
1462
- $stdin.gets.strip
1463
- ensure
1464
- `stty echo` rescue nil
1465
- end
1466
- puts ""
1467
-
1468
- request = Net::HTTP::Post.new("#{base_path}/authorizations")
1469
- request.body = JSON.dump({
1470
- :scopes => [:gist],
1471
- :note => "The gist gem",
1472
- :note_url => "https://github.com/ConradIrwin/gist"
1473
- })
1474
- request.content_type = 'application/json'
1475
- request.basic_auth(username, password)
1476
-
1477
- response = http(api_url, request)
1478
-
1479
- if Net::HTTPUnauthorized === response && response['X-GitHub-OTP']
1480
- print "2-factor auth code: "
1481
- twofa_code = $stdin.gets.strip
1476
+ loop do
1477
+ print "GitHub username: "
1478
+ username = credentials[:username] || $stdin.gets.strip
1479
+ print "GitHub password: "
1480
+ password = credentials[:password] || begin
1481
+ `stty -echo` rescue nil
1482
+ $stdin.gets.strip
1483
+ ensure
1484
+ `stty echo` rescue nil
1485
+ end
1482
1486
  puts ""
1483
1487
 
1484
- request['X-GitHub-OTP'] = twofa_code
1488
+ request = Net::HTTP::Post.new("#{base_path}/authorizations")
1489
+ request.body = JSON.dump({
1490
+ :scopes => [:gist],
1491
+ :note => "The gist gem",
1492
+ :note_url => "https://github.com/ConradIrwin/gist"
1493
+ })
1494
+ request.content_type = 'application/json'
1495
+ request.basic_auth(username, password)
1496
+
1485
1497
  response = http(api_url, request)
1486
- end
1487
1498
 
1488
- if Net::HTTPCreated === response
1489
- File.open(auth_token_file, 'w', 0600) do |f|
1490
- f.write JSON.parse(response.body)['token']
1499
+ if Net::HTTPUnauthorized === response && response['X-GitHub-OTP']
1500
+ print "2-factor auth code: "
1501
+ twofa_code = $stdin.gets.strip
1502
+ puts ""
1503
+
1504
+ request['X-GitHub-OTP'] = twofa_code
1505
+ response = http(api_url, request)
1506
+ end
1507
+
1508
+ if Net::HTTPCreated === response
1509
+ File.open(auth_token_file, 'w', 0600) do |f|
1510
+ f.write JSON.parse(response.body)['token']
1511
+ end
1512
+ puts "Success! #{ENV[URL_ENV_NAME] || "https://github.com/"}settings/applications"
1513
+ return
1514
+ elsif Net::HTTPUnauthorized === response
1515
+ puts "Error: #{JSON.parse(response.body)['message']}"
1516
+ next
1517
+ else
1518
+ raise "Got #{response.class} from gist: #{response.body}"
1491
1519
  end
1492
- puts "Success! #{ENV[URL_ENV_NAME] || "https://github.com/"}settings/applications"
1493
- else
1494
- raise "Got #{response.class} from gist: #{response.body}"
1495
1520
  end
1496
1521
  rescue => e
1497
1522
  raise e.extend Error
@@ -1546,8 +1571,12 @@ module Gist
1546
1571
  %Q{<script src="#{json['html_url']}.js"></script>}
1547
1572
  when :html_url
1548
1573
  json['html_url']
1574
+ when :raw_url
1575
+ rawify(json['html_url'])
1549
1576
  when :short_url
1550
1577
  shorten(json['html_url'])
1578
+ when :short_raw_url
1579
+ shorten(rawify(json['html_url']))
1551
1580
  else
1552
1581
  json
1553
1582
  end
@@ -1635,6 +1664,7 @@ Could not find copy command, tried:
1635
1664
  elsif RUBY_PLATFORM =~ /linux/
1636
1665
  %w(
1637
1666
  sensible-browser
1667
+ xdg-open
1638
1668
  firefox
1639
1669
  firefox-bin
1640
1670
  ).detect do |cmd|
@@ -1682,13 +1712,16 @@ Could not find copy command, tried:
1682
1712
  end
1683
1713
  #!/usr/bin/env ruby
1684
1714
 
1715
+ # Silence Ctrl-C's
1716
+ trap('INT'){ exit 1 }
1717
+
1685
1718
  require 'optparse'
1686
1719
 
1687
1720
  # For the holdings of options.
1688
1721
  options = {}
1689
1722
  filenames = []
1690
1723
 
1691
- opts = OptionParser.new do |opts|
1724
+ OptionParser.new do |opts|
1692
1725
  executable_name = File.split($0)[1]
1693
1726
  opts.banner = <<-EOS
1694
1727
  Gist (v#{Gist::VERSION}) lets you upload to https://gist.github.com/
@@ -1709,7 +1742,8 @@ Anonymous gists are not associated with your GitHub account, they can be created
1709
1742
  with "-a" even after you have used "gist --login".
1710
1743
 
1711
1744
  If you would like to shorten the resulting gist URL, use the -s flag. This will
1712
- use GitHub's URL shortener, git.io.
1745
+ use GitHub's URL shortener, git.io. You can also use -R to get the link to the
1746
+ raw gist.
1713
1747
 
1714
1748
  To copy the resulting URL to your clipboard you can use the -c option, or to
1715
1749
  just open it directly in your browser, use -o. Using the -e option will copy the
@@ -1720,7 +1754,7 @@ Instead of creating a new gist, you can update an existing one by passing its ID
1720
1754
  or URL with "-u". For this to work, you must be logged in, and have created the
1721
1755
  original gist with the same GitHub account.
1722
1756
 
1723
- Usage: #{executable_name} [-o|-c|-e] [-p] [-s] [-d DESC] [-a] [-u URL] [-P] [-f NAME|-t EXT]* FILE*
1757
+ Usage: #{executable_name} [-o|-c|-e] [-p] [-s] [-R] [-d DESC] [-a] [-u URL] [-P] [-f NAME|-t EXT]* FILE*
1724
1758
  #{executable_name} --login
1725
1759
 
1726
1760
  EOS
@@ -1783,6 +1817,10 @@ Usage: #{executable_name} [-o|-c|-e] [-p] [-s] [-d DESC] [-a] [-u URL] [-P] [-f
1783
1817
  options[:paste] = true
1784
1818
  end
1785
1819
 
1820
+ opts.on("-R", "--raw", "Raw url of the new gist") do
1821
+ options[:raw] = true
1822
+ end
1823
+
1786
1824
  opts.on_tail("-h","--help", "Show this message.") do
1787
1825
  puts opts
1788
1826
  exit
@@ -1793,16 +1831,19 @@ Usage: #{executable_name} [-o|-c|-e] [-p] [-s] [-d DESC] [-a] [-u URL] [-P] [-f
1793
1831
  exit
1794
1832
  end
1795
1833
 
1796
- end
1797
- opts.parse!
1834
+ end.parse!
1798
1835
 
1799
1836
  begin
1800
1837
  options[:output] = if options[:embed] && options[:shorten]
1801
1838
  raise Gist::Error, "--embed does not make sense with --shorten"
1802
1839
  elsif options[:embed]
1803
1840
  :javascript
1841
+ elsif options[:shorten] and options[:raw]
1842
+ :short_raw_url
1804
1843
  elsif options[:shorten]
1805
1844
  :short_url
1845
+ elsif options[:raw]
1846
+ :raw_url
1806
1847
  else
1807
1848
  :html_url
1808
1849
  end
@@ -1833,6 +1874,4 @@ begin
1833
1874
  rescue Gist::Error => e
1834
1875
  puts "Error: #{e.message}"
1835
1876
  exit 1
1836
- rescue Interrupt
1837
- # bye!
1838
1877
  end
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "GIST" "1" "September 2013" "" "Gist manual"
4
+ .TH "GIST" "1" "December 2013" "" "Gist manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBgist\fR \- upload code to https://gist\.github\.com
@@ -101,6 +101,7 @@ gist \-\-login
101
101
  Obtaining OAuth2 access_token from github\.
102
102
  GitHub username: ConradIrwin
103
103
  GitHub password:
104
+ 2\-factor auth code:
104
105
  Success! https://github\.com/settings/applications
105
106
  .
106
107
  .fi
@@ -108,7 +109,23 @@ Success! https://github\.com/settings/applications
108
109
  .IP "" 0
109
110
  .
110
111
  .P
111
- This token is stored in \fB~/\.gist\fR and used for all future gisting\. If you need to you can revoke it from https://github\.com/settings/applications, or just delete the file\.
112
+ You can read the 2\-factor auth code from an sms or the authentification app, depending on how you set your account up \fIhttps://github\.com/settings/admin\fR\.
113
+ .
114
+ .P
115
+ Note: 2\-factor authentication just appeared recently \fIhttps://github\.com/blog/1614\-two\-factor\-authentication\fR, so if you run into errors, update the gist gem\.
116
+ .
117
+ .IP "" 4
118
+ .
119
+ .nf
120
+
121
+ gem update gist
122
+ .
123
+ .fi
124
+ .
125
+ .IP "" 0
126
+ .
127
+ .P
128
+ This token is stored in \fB~/\.gist\fR and used for all future gisting\. If you need to you can revoke it from https://github\.com/settings/applications, or just delete the file\. If you need to store tokens for both github\.com and a Github Enterprise instance you can save your Github Enterprise token in \fB~/\.gist\.github\.example\.com\fR where "github\.example\.com" is the URL for your Github Enterprise instance\.
112
129
  .
113
130
  .IP "\(bu" 4
114
131
  After you\'ve done this, you can still upload gists anonymously with \fB\-a\fR\.
@@ -12,7 +12,7 @@ end
12
12
  module Gist
13
13
  extend self
14
14
 
15
- VERSION = '4.1.3'
15
+ VERSION = '4.2.0'
16
16
 
17
17
  # A list of clipboard commands with copy and paste support.
18
18
  CLIPBOARD_COMMANDS = {
@@ -136,6 +136,25 @@ module Gist
136
136
  end
137
137
  end
138
138
 
139
+ # Convert github url into raw file url
140
+ #
141
+ # Unfortunately the url returns from github's api is legacy,
142
+ # we have to taking a HTTPRedirection before appending it
143
+ # with '/raw'. Let's looking forward for github's api fix :)
144
+ #
145
+ # @param [String] url
146
+ # @return [String] the raw file url
147
+ def rawify(url)
148
+ uri = URI(url)
149
+ request = Net::HTTP::Get.new(uri.path)
150
+ response = http(uri, request)
151
+ if Net::HTTPSuccess === response
152
+ url + '/raw'
153
+ elsif Net::HTTPRedirection === response
154
+ rawify(response.header['location'])
155
+ end
156
+ end
157
+
139
158
  # Log the user into gist.
140
159
  #
141
160
  # This method asks the user for a username and password, and tries to obtain
@@ -148,44 +167,50 @@ module Gist
148
167
  # @see http://developer.github.com/v3/oauth/
149
168
  def login!(credentials={})
150
169
  puts "Obtaining OAuth2 access_token from github."
151
- print "GitHub username: "
152
- username = credentials[:username] || $stdin.gets.strip
153
- print "GitHub password: "
154
- password = credentials[:password] || begin
155
- `stty -echo` rescue nil
156
- $stdin.gets.strip
157
- ensure
158
- `stty echo` rescue nil
159
- end
160
- puts ""
161
-
162
- request = Net::HTTP::Post.new("#{base_path}/authorizations")
163
- request.body = JSON.dump({
164
- :scopes => [:gist],
165
- :note => "The gist gem",
166
- :note_url => "https://github.com/ConradIrwin/gist"
167
- })
168
- request.content_type = 'application/json'
169
- request.basic_auth(username, password)
170
-
171
- response = http(api_url, request)
172
-
173
- if Net::HTTPUnauthorized === response && response['X-GitHub-OTP']
174
- print "2-factor auth code: "
175
- twofa_code = $stdin.gets.strip
170
+ loop do
171
+ print "GitHub username: "
172
+ username = credentials[:username] || $stdin.gets.strip
173
+ print "GitHub password: "
174
+ password = credentials[:password] || begin
175
+ `stty -echo` rescue nil
176
+ $stdin.gets.strip
177
+ ensure
178
+ `stty echo` rescue nil
179
+ end
176
180
  puts ""
177
181
 
178
- request['X-GitHub-OTP'] = twofa_code
182
+ request = Net::HTTP::Post.new("#{base_path}/authorizations")
183
+ request.body = JSON.dump({
184
+ :scopes => [:gist],
185
+ :note => "The gist gem",
186
+ :note_url => "https://github.com/ConradIrwin/gist"
187
+ })
188
+ request.content_type = 'application/json'
189
+ request.basic_auth(username, password)
190
+
179
191
  response = http(api_url, request)
180
- end
181
192
 
182
- if Net::HTTPCreated === response
183
- File.open(auth_token_file, 'w', 0600) do |f|
184
- f.write JSON.parse(response.body)['token']
193
+ if Net::HTTPUnauthorized === response && response['X-GitHub-OTP']
194
+ print "2-factor auth code: "
195
+ twofa_code = $stdin.gets.strip
196
+ puts ""
197
+
198
+ request['X-GitHub-OTP'] = twofa_code
199
+ response = http(api_url, request)
200
+ end
201
+
202
+ if Net::HTTPCreated === response
203
+ File.open(auth_token_file, 'w', 0600) do |f|
204
+ f.write JSON.parse(response.body)['token']
205
+ end
206
+ puts "Success! #{ENV[URL_ENV_NAME] || "https://github.com/"}settings/applications"
207
+ return
208
+ elsif Net::HTTPUnauthorized === response
209
+ puts "Error: #{JSON.parse(response.body)['message']}"
210
+ next
211
+ else
212
+ raise "Got #{response.class} from gist: #{response.body}"
185
213
  end
186
- puts "Success! #{ENV[URL_ENV_NAME] || "https://github.com/"}settings/applications"
187
- else
188
- raise "Got #{response.class} from gist: #{response.body}"
189
214
  end
190
215
  rescue => e
191
216
  raise e.extend Error
@@ -240,8 +265,12 @@ module Gist
240
265
  %Q{<script src="#{json['html_url']}.js"></script>}
241
266
  when :html_url
242
267
  json['html_url']
268
+ when :raw_url
269
+ rawify(json['html_url'])
243
270
  when :short_url
244
271
  shorten(json['html_url'])
272
+ when :short_raw_url
273
+ shorten(rawify(json['html_url']))
245
274
  else
246
275
  json
247
276
  end
@@ -329,6 +358,7 @@ Could not find copy command, tried:
329
358
  elsif RUBY_PLATFORM =~ /linux/
330
359
  %w(
331
360
  sensible-browser
361
+ xdg-open
332
362
  firefox
333
363
  firefox-bin
334
364
  ).detect do |cmd|
@@ -0,0 +1,12 @@
1
+ describe '...' do
2
+ before do
3
+ stub_request(:post, /api\.github.com\/gists/).to_return(:body => '{"html_url": "https://gist.github.com/XXXXXX"}')
4
+ stub_request(:get, "https://gist.github.com/XXXXXX").to_return(:status => 304, :headers => { 'Location' => 'https://gist.github.com/anonymous/XXXXXX' })
5
+ stub_request(:get, "https://gist.github.com/anonymous/XXXXXX").to_return(:status => 200)
6
+ end
7
+
8
+ it "should return the raw file url" do
9
+ Gist.gist("Test gist", :output => :raw_url, :anonymous => true).should == "https://gist.github.com/anonymous/XXXXXX/raw"
10
+ end
11
+ end
12
+
metadata CHANGED
@@ -1,92 +1,81 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gist
3
- version: !ruby/object:Gem::Version
4
- hash: 61
5
- prerelease:
6
- segments:
7
- - 4
8
- - 1
9
- - 3
10
- version: 4.1.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.2.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Conrad Irwin
14
- - !binary |
15
- 4piIa2luZw==
16
-
8
+ - ☈king
17
9
  autorequire:
18
10
  bindir: bin
19
11
  cert_chain: []
20
-
21
- date: 2013-11-10 00:00:00 Z
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
12
+ date: 2013-12-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
24
15
  name: rake
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 3
32
- segments:
33
- - 0
34
- version: "0"
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
35
21
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: rspec
39
22
  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"
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rspec
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
49
35
  type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: webmock
53
36
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
55
- none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- hash: 3
60
- segments:
61
- - 0
62
- version: "0"
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: webmock
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
63
49
  type: :development
64
- version_requirements: *id003
65
- - !ruby/object:Gem::Dependency
66
- name: ronn
67
50
  prerelease: false
68
- requirement: &id004 !ruby/object:Gem::Requirement
69
- none: false
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- hash: 3
74
- segments:
75
- - 0
76
- version: "0"
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: ronn
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
77
63
  type: :development
78
- version_requirements: *id004
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
79
70
  description: Provides a single function (Gist.gist) that uploads a gist.
80
- email:
71
+ email:
81
72
  - conrad.irwin@gmail.com
82
73
  - rkingist@sharpsaw.org
83
- executables:
74
+ executables:
84
75
  - gist
85
76
  extensions: []
86
-
87
77
  extra_rdoc_files: []
88
-
89
- files:
78
+ files:
90
79
  - .gitignore
91
80
  - .rspec
92
81
  - Gemfile
@@ -102,41 +91,33 @@ files:
102
91
  - spec/ghe_spec.rb
103
92
  - spec/gist_spec.rb
104
93
  - spec/proxy_spec.rb
94
+ - spec/rawify_spec.rb
105
95
  - spec/shorten_spec.rb
106
96
  - spec/spec_helper.rb
107
97
  - vendor/json.rb
108
98
  homepage: https://github.com/defunkt/gist
109
- licenses:
99
+ licenses:
110
100
  - MIT
101
+ metadata: {}
111
102
  post_install_message:
112
103
  rdoc_options: []
113
-
114
- require_paths:
104
+ require_paths:
115
105
  - lib
116
- required_ruby_version: !ruby/object:Gem::Requirement
117
- none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- hash: 3
122
- segments:
123
- - 0
124
- version: "0"
125
- required_rubygems_version: !ruby/object:Gem::Requirement
126
- none: false
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- hash: 3
131
- segments:
132
- - 0
133
- version: "0"
106
+ required_ruby_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - '>='
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
134
116
  requirements: []
135
-
136
117
  rubyforge_project:
137
- rubygems_version: 1.8.15
118
+ rubygems_version: 2.0.3
138
119
  signing_key:
139
- specification_version: 3
120
+ specification_version: 4
140
121
  summary: Just allows you to upload gists
141
122
  test_files: []
142
-
123
+ has_rdoc: