rpaste 0.0.9 → 0.1.0
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/History.txt +16 -3
- data/Manifest.txt +1 -0
- data/README.txt +3 -2
- data/TODO.txt +4 -0
- data/lib/rpaste/nopaste/metadata.rb +3 -4
- data/lib/rpaste/nopaste/nopaste.rb +27 -15
- data/lib/rpaste/nopaste/paste.rb +3 -4
- data/lib/rpaste/nopaste/recent.rb +7 -4
- data/lib/rpaste/nopaste/result_set.rb +22 -1
- data/lib/rpaste/pastebin/paste.rb +4 -5
- data/lib/rpaste/pastebin/pastebin.rb +25 -8
- data/lib/rpaste/pastebin/recent.rb +7 -4
- data/lib/rpaste/result_set.rb +23 -0
- data/lib/rpaste/rpaste.rb +90 -14
- data/lib/rpaste/version.rb +1 -1
- metadata +72 -63
data/History.txt
CHANGED
@@ -1,6 +1,19 @@
|
|
1
|
+
== 0.1.0 / 2008-01-15
|
2
|
+
|
3
|
+
* Renamed RPaste.http_agent to RPaste.web_agent.
|
4
|
+
* Added RPaste.proxy to provide proxy settings for RPaste.open_uri and
|
5
|
+
RPaste.web_agent.
|
6
|
+
* Renamed RPaste.open to RPaste.open_uri.
|
7
|
+
* Added RPaste.open_page.
|
8
|
+
* Added ResultSet#select, which returns a new ResultSet.
|
9
|
+
* Added ResultSet#names, ResultSet#authors, NoPaste::ResultSet#dates,
|
10
|
+
NoPaste::ResultSet#syntaxes and NoPaste::ResultSet#descriptions.
|
11
|
+
* Fixed a file-requirement typo in lib/rpaste/nopaste/result_set.rb.
|
12
|
+
* Various typo fixes.
|
13
|
+
|
1
14
|
== 0.0.9 / 2008-01-09
|
2
15
|
|
3
|
-
|
4
|
-
|
5
|
-
|
16
|
+
* Initial release.
|
17
|
+
* Supports NoPaste paste board.
|
18
|
+
* Semi-support for PasteBin.
|
6
19
|
|
data/Manifest.txt
CHANGED
data/README.txt
CHANGED
@@ -9,14 +9,15 @@ RPaste supports NoPaste and PasteBin.
|
|
9
9
|
|
10
10
|
== FEATURES/PROBLEMS:
|
11
11
|
|
12
|
-
* Supports posting and retrieving from NoPaste.
|
12
|
+
* Supports posting and retrieving pastes from NoPaste.
|
13
13
|
* Supports retrieving from PasteBin.
|
14
14
|
* Provides HTTP access with custom User-Agent strings.
|
15
|
+
* Provides proxy settings for HTTP access.
|
15
16
|
|
16
17
|
== REQUIREMENTS:
|
17
18
|
|
18
19
|
* Hpricot
|
19
|
-
* Mechanize
|
20
|
+
* WWW::Mechanize
|
20
21
|
|
21
22
|
== INSTALL:
|
22
23
|
|
data/TODO.txt
ADDED
@@ -30,11 +30,10 @@ module RPaste
|
|
30
30
|
|
31
31
|
#
|
32
32
|
# Returns the NoPaste Paste object associated with the Metadata
|
33
|
-
# object.
|
34
|
-
# the NoPaste website.
|
33
|
+
# object.
|
35
34
|
#
|
36
|
-
def paste
|
37
|
-
Paste.paste(name
|
35
|
+
def paste
|
36
|
+
Paste.paste(name)
|
38
37
|
end
|
39
38
|
|
40
39
|
#
|
@@ -6,48 +6,60 @@ require 'hpricot'
|
|
6
6
|
|
7
7
|
module RPaste
|
8
8
|
module NoPaste
|
9
|
+
# The NoPaste post URL
|
10
|
+
POST_URL = 'http://rafb.net/paste/index.html'
|
11
|
+
|
9
12
|
#
|
10
13
|
# Returns the list of all recent pastes on NoPaste. See Recent.get.
|
11
14
|
#
|
12
|
-
def NoPaste.recent(
|
13
|
-
Recent.get(
|
15
|
+
def NoPaste.recent(&block)
|
16
|
+
Recent.get(&block)
|
14
17
|
end
|
15
18
|
|
16
19
|
#
|
17
20
|
# Retrieves the NoPaste Paste object associated with the specified
|
18
21
|
# _name_. See Paste.paste.
|
19
22
|
#
|
20
|
-
def NoPaste.paste(name
|
21
|
-
Paste.paste(name
|
23
|
+
def NoPaste.paste(name)
|
24
|
+
Paste.paste(name)
|
22
25
|
end
|
23
26
|
|
24
27
|
#
|
25
|
-
# Submits a new paste to NoPaste
|
26
|
-
#
|
28
|
+
# Submits a new paste to NoPaste with the specified _options_.
|
29
|
+
# If a _block_ is given, then it will be passed the Paste object
|
30
|
+
# before it is submitted to NoPaste.
|
31
|
+
#
|
32
|
+
# _options_ may contain the following keys:
|
33
|
+
# <tt>:author</tt>:: The author of the paste.
|
34
|
+
# <tt>:syntax</tt>:: The syntax of the paste.
|
35
|
+
# <tt>:description</tt>:: The description for the paste.
|
36
|
+
# <tt>:text</tt>:: The text to paste.
|
37
|
+
# <tt>:convert_tabs</tt>:: Indicates that tabs will be converted to
|
38
|
+
# spaces.
|
27
39
|
#
|
28
40
|
# NoPaste.post(:author => 'briefcase man') do |paste|
|
29
41
|
# paste.description = 'todays key'
|
30
42
|
# paste.text = 'is brought to you by the letter S, for symmetric'
|
31
43
|
# end
|
32
44
|
#
|
33
|
-
def NoPaste.post(
|
34
|
-
author =
|
35
|
-
syntax =
|
36
|
-
description =
|
37
|
-
text =
|
45
|
+
def NoPaste.post(options={},&block)
|
46
|
+
author = options[:author]
|
47
|
+
syntax = options[:syntax]
|
48
|
+
description = options[:description]
|
49
|
+
text = options[:text]
|
38
50
|
|
39
51
|
paste = Paste.new(nil,author,nil,syntax,description,text,&block)
|
40
52
|
|
41
|
-
agent = RPaste.
|
42
|
-
page = agent.get(
|
53
|
+
agent = RPaste.web_agent
|
54
|
+
page = agent.get(POST_URL)
|
43
55
|
form = page.forms.first
|
44
56
|
|
45
57
|
form.lang = paste.syntax if paste.syntax
|
46
58
|
form.nick = paste.author if paste.author
|
47
59
|
form.desc = paste.description if paste.description
|
48
60
|
|
49
|
-
if
|
50
|
-
form.cvt_tabs =
|
61
|
+
if options[:convert_tabs]
|
62
|
+
form.cvt_tabs = options[:convert_tabs]
|
51
63
|
end
|
52
64
|
|
53
65
|
form.text = paste.text
|
data/lib/rpaste/nopaste/paste.rb
CHANGED
@@ -31,11 +31,10 @@ module RPaste
|
|
31
31
|
|
32
32
|
#
|
33
33
|
# Retrieves the NoPaste Paste object associated with the specified
|
34
|
-
# _name_.
|
35
|
-
# NoPaste website.
|
34
|
+
# _name_.
|
36
35
|
#
|
37
|
-
def self.paste(name
|
38
|
-
page =
|
36
|
+
def self.paste(name)
|
37
|
+
page = RPaste.open_page("#{PREFIX_URL}#{name}.html")
|
39
38
|
|
40
39
|
return Paste.new(name) do |paste|
|
41
40
|
paste.syntax = page.search('//table[1]/tr[1]/td/small/b[1]').inner_text
|
@@ -10,12 +10,15 @@ module RPaste
|
|
10
10
|
URL = 'http://www.rafb.net/paste/results.html'
|
11
11
|
|
12
12
|
#
|
13
|
-
# Returns the list of recent pastes on NoPaste. If
|
13
|
+
# Returns the list of recent pastes on NoPaste. If _options_ are
|
14
14
|
# given they will be used in accessing the NoPaste website. If a
|
15
15
|
# _block_ is given, it will be passed the list of recent pastes.
|
16
16
|
#
|
17
|
-
|
18
|
-
|
17
|
+
# _options_ may also contain the following keys:
|
18
|
+
# <tt>:length</tt>:: The maximum number of results to return.
|
19
|
+
#
|
20
|
+
def self.get(options={},&block)
|
21
|
+
len = options[:length]
|
19
22
|
|
20
23
|
if len.nil? || len==0
|
21
24
|
len = -1
|
@@ -23,7 +26,7 @@ module RPaste
|
|
23
26
|
len = len.to_i+1
|
24
27
|
end
|
25
28
|
|
26
|
-
page =
|
29
|
+
page = RPaste.open_page(URL,options)
|
27
30
|
rows = page.search('//div.filelist/table/tr')[1..len]
|
28
31
|
|
29
32
|
metadata = rows.map do |row|
|
@@ -1,10 +1,31 @@
|
|
1
1
|
require 'rpaste/nopaste/metadata'
|
2
|
-
require 'rpaste/
|
2
|
+
require 'rpaste/result_set'
|
3
3
|
|
4
4
|
module RPaste
|
5
5
|
module NoPaste
|
6
6
|
class ResultSet < RPaste::ResultSet
|
7
7
|
|
8
|
+
#
|
9
|
+
# Returns an +Array+ containing the metadata dates.
|
10
|
+
#
|
11
|
+
def dates
|
12
|
+
self.map { |data| data.date }
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# Returns an +Array+ containing the metadata syntaxes.
|
17
|
+
#
|
18
|
+
def syntaxes
|
19
|
+
self.map { |data| data.syntax }
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# Returns an +Array+ containing the metadata descriptions.
|
24
|
+
#
|
25
|
+
def descriptions
|
26
|
+
self.map { |data| data.description }
|
27
|
+
end
|
28
|
+
|
8
29
|
#
|
9
30
|
# Selects the metadata with dates in between _start_ and _stop_.
|
10
31
|
#
|
@@ -30,15 +30,14 @@ module RPaste
|
|
30
30
|
|
31
31
|
#
|
32
32
|
# Retrieves the PasteBin Paste object associated with the specified
|
33
|
-
# _name_.
|
34
|
-
# PasteBin website.
|
33
|
+
# _name_.
|
35
34
|
#
|
36
|
-
def self.paste(name
|
37
|
-
page =
|
35
|
+
def self.paste(name)
|
36
|
+
page = RPaste.open_page("#{PREFIX_URL}#{name}")
|
38
37
|
|
39
38
|
return Paste.new(name) do |paste|
|
40
39
|
paste.text = page.search('//div.text/ol/li').inner_text
|
41
|
-
paste.author = page.search('#content/h1[1]'.inner_text.gsub(/Posted by /,'').split(' on ')
|
40
|
+
paste.author = page.search('#content/h1[1]').inner_text.gsub(/Posted by /,'').split(' on ')
|
42
41
|
end
|
43
42
|
end
|
44
43
|
|
@@ -6,16 +6,28 @@ require 'hpricot'
|
|
6
6
|
|
7
7
|
module RPaste
|
8
8
|
module PasteBin
|
9
|
+
# The PasteBin post URL
|
10
|
+
POST_URL = 'http://pastebin.com/pastebin.php'
|
11
|
+
|
9
12
|
#
|
10
13
|
# Returns the list of all recent pastes on PasteBin. See Recent.get.
|
11
14
|
#
|
12
|
-
def PasteBin.recent(
|
13
|
-
Recent.get(
|
15
|
+
def PasteBin.recent(options={},&block)
|
16
|
+
Recent.get(options,&block)
|
14
17
|
end
|
15
18
|
|
16
19
|
#
|
17
|
-
# Submits a new paste to PasteBin
|
18
|
-
# passed the Paste object before
|
20
|
+
# Submits a new paste to PasteBin with the given _options_. If a
|
21
|
+
# _block_ is given, then it will be passed the Paste object before
|
22
|
+
# it is submitted to PasteBin.
|
23
|
+
#
|
24
|
+
# _options_ may contain the following keys:
|
25
|
+
# <tt>:author</tt>:: The author of the paste.
|
26
|
+
# <tt>:syntax</tt>:: The syntax of the paste.
|
27
|
+
# <tt>:retained</tt>:: Indicates when the paste should expire,
|
28
|
+
# which can be either <tt>:day</tt>,
|
29
|
+
# <tt>:month</tt> or <tt>:year</tt>.
|
30
|
+
# <tt>:text</tt>:: The text to paste.
|
19
31
|
#
|
20
32
|
# PasteBin.post(:author => 'xyz') do |paste|
|
21
33
|
# paste.description = 'test'
|
@@ -28,11 +40,16 @@ module RPaste
|
|
28
40
|
# }
|
29
41
|
# end
|
30
42
|
#
|
31
|
-
def PasteBin.post(
|
32
|
-
|
43
|
+
def PasteBin.post(options={},&block)
|
44
|
+
author = options[:author]
|
45
|
+
syntax = options[:syntax]
|
46
|
+
retained = options[:retained]
|
47
|
+
text = options[:text]
|
48
|
+
|
49
|
+
paste = Paste.new(nil,author,nil,syntax,retained,text,&block)
|
33
50
|
|
34
|
-
agent = RPaste.
|
35
|
-
page = agent.get(
|
51
|
+
agent = RPaste.web_agent
|
52
|
+
page = agent.get(POST_URL)
|
36
53
|
form = page.forms.first
|
37
54
|
|
38
55
|
form.format = paste.syntax if paste.syntax
|
@@ -12,12 +12,15 @@ module RPaste
|
|
12
12
|
MAX_LENGTH = 10
|
13
13
|
|
14
14
|
#
|
15
|
-
# Returns the list of recent pastes on PasteBin. If
|
15
|
+
# Returns the list of recent pastes on PasteBin. If _options_ are
|
16
16
|
# given they will be used in accessing the PasteBin website. If a
|
17
17
|
# _block_ is given, it will be passed the list of recent pastes.
|
18
18
|
#
|
19
|
-
|
20
|
-
|
19
|
+
# _options_ may also contain the following keys:
|
20
|
+
# <tt>:length</tt>:: The maximum number of results to return.
|
21
|
+
#
|
22
|
+
def self.get(options={},&block)
|
23
|
+
len = options[:length]
|
21
24
|
|
22
25
|
if (len.nil? || len>MAX_LENGTH)
|
23
26
|
len = MAX_LENGTH
|
@@ -25,7 +28,7 @@ module RPaste
|
|
25
28
|
len = len.to_i
|
26
29
|
end
|
27
30
|
|
28
|
-
page =
|
31
|
+
page = RPaste.open_page(URL,options))
|
29
32
|
rows = page.search('#menu/ul/li')[0...len]
|
30
33
|
|
31
34
|
metadata = rows.map do |row|
|
data/lib/rpaste/result_set.rb
CHANGED
@@ -10,6 +10,29 @@ module RPaste
|
|
10
10
|
super(results,&block)
|
11
11
|
end
|
12
12
|
|
13
|
+
#
|
14
|
+
# Selects the metadata which match the given _block_.
|
15
|
+
#
|
16
|
+
# results.select { |result| result.date > Time.today }
|
17
|
+
#
|
18
|
+
def select(&block)
|
19
|
+
self.class.new(super(&block))
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# Returns an +Array+ containing the metadata names.
|
24
|
+
#
|
25
|
+
def names
|
26
|
+
self.map { |data| data.name }
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# Returns an +Array+ containing the metadata authors.
|
31
|
+
#
|
32
|
+
def authors
|
33
|
+
self.map { |data| data.author }
|
34
|
+
end
|
35
|
+
|
13
36
|
#
|
14
37
|
# Selects metadata with the matching _name_.
|
15
38
|
#
|
data/lib/rpaste/rpaste.rb
CHANGED
@@ -2,30 +2,79 @@ require 'mechanize'
|
|
2
2
|
require 'open-uri'
|
3
3
|
|
4
4
|
module RPaste
|
5
|
+
# Common proxy port.
|
6
|
+
COMMON_PROXY_PORT = 8080
|
7
|
+
|
8
|
+
#
|
9
|
+
# Returns the +Hash+ of proxy information.
|
10
|
+
#
|
11
|
+
def RPaste.proxy
|
12
|
+
@@rpaste_proxy ||= {:host => nil, :port => COMMON_PROXY_PORT, :user => nil, :pass => nil}
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# Creates a HTTP URI based from the given _proxy_info_ +Hash+. The
|
17
|
+
# _proxy_info_ hash defaults to Web.proxy, if not given.
|
18
|
+
#
|
19
|
+
# _proxy_info_ may contain the following keys:
|
20
|
+
# <tt>:host</tt>:: The proxy host.
|
21
|
+
# <tt>:port</tt>:: The proxy port. Defaults to COMMON_PROXY_PORT,
|
22
|
+
# if not specified.
|
23
|
+
# <tt>:user</tt>:: The user-name to login as.
|
24
|
+
# <tt>:password</tt>:: The password to login with.
|
5
25
|
#
|
6
|
-
|
26
|
+
def RPaste.proxy_uri(proxy_info=RPaste.proxy)
|
27
|
+
if RPaste.proxy[:host]
|
28
|
+
return URI::HTTP.build(:host => RPaste.proxy[:host],
|
29
|
+
:port => RPaste.proxy[:port] || COMMON_PROXY_PORT,
|
30
|
+
:userinfo => "#{RPaste.proxy[:user]}:#{RPaste.proxy[:password]}",
|
31
|
+
:path => '/')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
#
|
36
|
+
# Returns the supported Web User-Agent Aliases.
|
37
|
+
#
|
38
|
+
def RPaste.user_agent_aliases
|
39
|
+
WWW::Mechanize::AGENT_ALIASES
|
40
|
+
end
|
41
|
+
|
42
|
+
#
|
43
|
+
# Returns the RPaste User-Agent
|
7
44
|
#
|
8
45
|
def RPaste.user_agent
|
9
|
-
|
46
|
+
@@rpaste_user_agent ||= nil
|
10
47
|
end
|
11
48
|
|
12
49
|
#
|
13
50
|
# Sets the RPaste user-agent to the specified _agent_.
|
14
51
|
#
|
15
52
|
def RPaste.user_agent=(agent)
|
16
|
-
|
53
|
+
@@rpaste_user_agent = agent
|
17
54
|
end
|
18
55
|
|
19
56
|
#
|
20
|
-
# Opens the _uri_ with the given
|
21
|
-
# be returned.
|
57
|
+
# Opens the _uri_ with the given _options_. The contents of the _uri_
|
58
|
+
# will be returned.
|
59
|
+
#
|
60
|
+
# _options_ may contain the following keys:
|
61
|
+
# <tt>:user_agent_alias</tt>:: The User-Agent Alias to use.
|
62
|
+
# <tt>:user_agent</tt>:: The User-Agent String to use.
|
63
|
+
# <tt>:proxy</tt>:: A +Hash+ of proxy information which may
|
64
|
+
# contain the following keys:
|
65
|
+
# <tt>:host</tt>:: The proxy host.
|
66
|
+
# <tt>:port</tt>:: The proxy port.
|
67
|
+
# <tt>:user</tt>:: The user-name to login as.
|
68
|
+
# <tt>:password</tt>:: The password to login with.
|
69
|
+
#
|
70
|
+
# RPaste.open_uri('http://www.hackety.org/')
|
22
71
|
#
|
23
|
-
# RPaste.
|
24
|
-
# RPaste.open('http://tenderlovemaking.com/',
|
72
|
+
# RPaste.open_uri('http://tenderlovemaking.com/',
|
25
73
|
# :user_agent_alias => 'Linux Mozilla')
|
26
|
-
# RPaste.
|
74
|
+
# RPaste.open_uri('http://www.wired.com/',
|
75
|
+
# :user_agent => 'the future')
|
27
76
|
#
|
28
|
-
def RPaste.
|
77
|
+
def RPaste.open_uri(uri,options={})
|
29
78
|
headers = {}
|
30
79
|
|
31
80
|
if opts[:user_agent_alias]
|
@@ -36,17 +85,39 @@ module RPaste
|
|
36
85
|
headers['User-Agent'] = RPaste.user_agent
|
37
86
|
end
|
38
87
|
|
88
|
+
proxy = (options[:proxy] || GScraper.proxy)
|
89
|
+
if proxy[:host]
|
90
|
+
headers[:proxy] = GScraper.proxy_uri(proxy)
|
91
|
+
end
|
92
|
+
|
39
93
|
return Kernel.open(uri,headers)
|
40
94
|
end
|
41
95
|
|
42
96
|
#
|
43
|
-
#
|
97
|
+
# Similar to RPaste.open_uri but returns an Hpricot document.
|
98
|
+
#
|
99
|
+
def RPaste.open_page(uri,options={})
|
100
|
+
Hpricot(RPaste.open_uri(uri,options))
|
101
|
+
end
|
102
|
+
|
103
|
+
#
|
104
|
+
# Creates a new Mechanize agent with the given _options_.
|
44
105
|
#
|
45
|
-
#
|
46
|
-
#
|
47
|
-
#
|
106
|
+
# _options_ may contain the following keys:
|
107
|
+
# <tt>:user_agent_alias</tt>:: The User-Agent Alias to use.
|
108
|
+
# <tt>:user_agent</tt>:: The User-Agent String to use.
|
109
|
+
# <tt>:proxy</tt>:: A +Hash+ of proxy information which may
|
110
|
+
# contain the following keys:
|
111
|
+
# <tt>:host</tt>:: The proxy host.
|
112
|
+
# <tt>:port</tt>:: The proxy port.
|
113
|
+
# <tt>:user</tt>:: The user-name to login as.
|
114
|
+
# <tt>:password</tt>:: The password to login with.
|
48
115
|
#
|
49
|
-
|
116
|
+
# RPaste.web_agent
|
117
|
+
# RPaste.web_agent(:user_agent_alias => 'Linux Mozilla')
|
118
|
+
# RPaste.web_agent(:user_agent => 'wooden pants')
|
119
|
+
#
|
120
|
+
def RPaste.web_agent(options={})
|
50
121
|
agent = WWW::Mechanize.new
|
51
122
|
|
52
123
|
if opts[:user_agent_alias]
|
@@ -57,6 +128,11 @@ module RPaste
|
|
57
128
|
agent.user_agent = RPaste.user_agent
|
58
129
|
end
|
59
130
|
|
131
|
+
proxy = (options[:proxy] || GScraper.proxy)
|
132
|
+
if proxy[:host]
|
133
|
+
agent.set_proxy(proxy[:host],proxy[:port],proxy[:user],proxy[:password])
|
134
|
+
end
|
135
|
+
|
60
136
|
return agent
|
61
137
|
end
|
62
138
|
end
|
data/lib/rpaste/version.rb
CHANGED
metadata
CHANGED
@@ -1,38 +1,62 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: rpaste
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0
|
7
|
-
date: 2008-01-09 00:00:00 -08:00
|
8
|
-
summary: RPaste provides access to many of the online paste services
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: postmodern.mod3@gmail.com
|
12
|
-
homepage: " by Postmodern Modulus III"
|
13
|
-
rubyforge_project: rpaste
|
14
|
-
description: "== FEATURES/PROBLEMS: * Supports posting and retrieving from NoPaste. * Supports retrieving from PasteBin. * Provides HTTP access with custom User-Agent strings. == REQUIREMENTS: * Hpricot * Mechanize == INSTALL:"
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.1.0
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Postmodern Modulus III
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-03-15 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: hpricot
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: "0"
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: mechanize
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: "0"
|
32
|
+
version:
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: hoe
|
35
|
+
version_requirement:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.5.1
|
41
|
+
version:
|
42
|
+
description: "== FEATURES/PROBLEMS: * Supports posting and retrieving pastes from NoPaste. * Supports retrieving from PasteBin. * Provides HTTP access with custom User-Agent strings. * Provides proxy settings for HTTP access. == REQUIREMENTS: * Hpricot * WWW::Mechanize == INSTALL:"
|
43
|
+
email: postmodern.mod3@gmail.com
|
44
|
+
executables: []
|
45
|
+
|
46
|
+
extensions: []
|
47
|
+
|
48
|
+
extra_rdoc_files:
|
49
|
+
- History.txt
|
50
|
+
- LICENSE.txt
|
51
|
+
- Manifest.txt
|
52
|
+
- README.txt
|
53
|
+
- TODO.txt
|
31
54
|
files:
|
32
55
|
- History.txt
|
33
56
|
- LICENSE.txt
|
34
57
|
- Manifest.txt
|
35
58
|
- README.txt
|
59
|
+
- TODO.txt
|
36
60
|
- Rakefile
|
37
61
|
- lib/rpaste.rb
|
38
62
|
- lib/rpaste/version.rb
|
@@ -53,47 +77,32 @@ files:
|
|
53
77
|
- lib/rpaste/pastebin/pastebin.rb
|
54
78
|
- lib/rpaste/pastebin.rb
|
55
79
|
- test/test_rpaste.rb
|
56
|
-
|
57
|
-
|
80
|
+
has_rdoc: true
|
81
|
+
homepage: " by Postmodern Modulus III"
|
82
|
+
post_install_message:
|
58
83
|
rdoc_options:
|
59
84
|
- --main
|
60
85
|
- README.txt
|
61
|
-
|
62
|
-
-
|
63
|
-
|
64
|
-
|
65
|
-
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
86
|
+
require_paths:
|
87
|
+
- lib
|
88
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: "0"
|
93
|
+
version:
|
94
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: "0"
|
99
|
+
version:
|
70
100
|
requirements: []
|
71
101
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: 0.0.0
|
81
|
-
version:
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: mechanize
|
84
|
-
version_requirement:
|
85
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 0.0.0
|
90
|
-
version:
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: hoe
|
93
|
-
version_requirement:
|
94
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
95
|
-
requirements:
|
96
|
-
- - ">="
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: 1.4.0
|
99
|
-
version:
|
102
|
+
rubyforge_project: rpaste
|
103
|
+
rubygems_version: 1.0.1
|
104
|
+
signing_key:
|
105
|
+
specification_version: 2
|
106
|
+
summary: RPaste provides access to many of the online paste services
|
107
|
+
test_files:
|
108
|
+
- test/test_rpaste.rb
|