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 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
- * Initial release.
4
- * Supports NoPaste paste board.
5
- * Semi-support for PasteBin.
16
+ * Initial release.
17
+ * Supports NoPaste paste board.
18
+ * Semi-support for PasteBin.
6
19
 
data/Manifest.txt CHANGED
@@ -2,6 +2,7 @@ History.txt
2
2
  LICENSE.txt
3
3
  Manifest.txt
4
4
  README.txt
5
+ TODO.txt
5
6
  Rakefile
6
7
  lib/rpaste.rb
7
8
  lib/rpaste/version.rb
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
@@ -0,0 +1,4 @@
1
+ == 0.1.0
2
+
3
+ * Add more examples to README.txt.
4
+
@@ -30,11 +30,10 @@ module RPaste
30
30
 
31
31
  #
32
32
  # Returns the NoPaste Paste object associated with the Metadata
33
- # object. If _opts_ are given they will be used in accessing
34
- # the NoPaste website.
33
+ # object.
35
34
  #
36
- def paste(opts={})
37
- Paste.paste(name,opts)
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(opts={},&block)
13
- Recent.get(opts,&block)
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,opts={})
21
- Paste.paste(name,opts)
23
+ def NoPaste.paste(name)
24
+ Paste.paste(name)
22
25
  end
23
26
 
24
27
  #
25
- # Submits a new paste to NoPaste. If a _block_ is given, then it will be
26
- # passed the Paste object before it is submitted to NoPaste.
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(opts={},&block)
34
- author = opts[:author]
35
- syntax = opts[:syntax]
36
- description = opts[:description]
37
- text = opts[: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.http_agent(opts)
42
- page = agent.get('http://rafb.net/paste/index.html')
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 opts[:convert_tabs]
50
- form.cvt_tabs = opts[:convert_tabs]
61
+ if options[:convert_tabs]
62
+ form.cvt_tabs = options[:convert_tabs]
51
63
  end
52
64
 
53
65
  form.text = paste.text
@@ -31,11 +31,10 @@ module RPaste
31
31
 
32
32
  #
33
33
  # Retrieves the NoPaste Paste object associated with the specified
34
- # _name_. If _opts_ are given they will be used in accessing the
35
- # NoPaste website.
34
+ # _name_.
36
35
  #
37
- def self.paste(name,opts={})
38
- page = Hpricot(RPaste.open("#{PREFIX_URL}#{name}.html",opts))
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 _opts_ are
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
- def self.get(opts={},&block)
18
- len = opts[:length]
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 = Hpricot(RPaste.open(URL,opts))
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/resultset'
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_. If _opts_ is given they will be used in accessing the
34
- # PasteBin website.
33
+ # _name_.
35
34
  #
36
- def self.paste(name,opts={})
37
- page = Hpricot(RPaste.open("#{PREFIX_URL}#{name}",opts))
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(opts={},&block)
13
- Recent.get(opts,&block)
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. If a _block_ is given, then it will be
18
- # passed the Paste object before it is submitted to PasteBin.
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(opts={},&block)
32
- paste = Paste.new(opts,&block)
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.http_agent(opts)
35
- page = agent.get('http://pastebin.com/pastebin.php')
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 _opts_ are
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
- def self.get(opts={},&block)
20
- len = opts[:length]
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 = Hpricot(RPaste.open(URL,opts))
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|
@@ -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
- # Returns the RPaste user-agent
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
- @user_agent
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
- @user_agent = agent
53
+ @@rpaste_user_agent = agent
17
54
  end
18
55
 
19
56
  #
20
- # Opens the _uri_ with the given _opts_. The contents of the _uri_ will
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.open('http://www.hackety.org/')
24
- # RPaste.open('http://tenderlovemaking.com/',
72
+ # RPaste.open_uri('http://tenderlovemaking.com/',
25
73
  # :user_agent_alias => 'Linux Mozilla')
26
- # RPaste.open('http://www.wired.com/', :user_agent => 'the future')
74
+ # RPaste.open_uri('http://www.wired.com/',
75
+ # :user_agent => 'the future')
27
76
  #
28
- def RPaste.open(uri,opts={})
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
- # Creates a new Mechanize agent with the given _opts_.
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
- # RPaste.http_agent
46
- # RPaste.http_agent(:user_agent_alias => 'Linux Mozilla')
47
- # RPaste.http_agent(:user_agent => 'wooden pants')
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
- def RPaste.http_agent(opts={})
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
@@ -1,3 +1,3 @@
1
1
  module RPaste
2
- VERSION = '0.0.9'
2
+ VERSION = '0.1.0'
3
3
  end
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.9
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
- test_files:
57
- - test/test_rpaste.rb
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
- extra_rdoc_files:
62
- - History.txt
63
- - LICENSE.txt
64
- - Manifest.txt
65
- - README.txt
66
- executables: []
67
-
68
- extensions: []
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
- dependencies:
73
- - !ruby/object:Gem::Dependency
74
- name: hpricot
75
- version_requirement:
76
- version_requirements: !ruby/object:Gem::Version::Requirement
77
- requirements:
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