Class: VBulletin::Search
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #find_posts_by_user_id(user_id, options = {}) ⇒ Object
- #find_thread_by_post_id(post_id) ⇒ Object
-
#initialize(api, options = {}) ⇒ Search
constructor
A new instance of Search.
Methods inherited from Base
#construct_full_url, #construct_url, #forums, #get_index, #login, #search
Constructor Details
#initialize(api, options = {}) ⇒ Search
Returns a new instance of Search.
4 5 6 7 |
# File 'lib/vbulletin/search.rb', line 4 def initialize(api, = {}) @api = api @debug = [:debug] || false end |
Instance Method Details
#find_posts_by_user_id(user_id, options = {}) ⇒ Object
9 10 11 12 |
# File 'lib/vbulletin/search.rb', line 9 def find_posts_by_user_id(user_id, = {}) @perpage = [:perpage] || 10 parse_index(@api.construct_full_url("search.php", { 'do' => 'finduser', 'u' => user_id }), @perpage) end |
#find_thread_by_post_id(post_id) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/vbulletin/search.rb', line 14 def find_thread_by_post_id(post_id) if (result = @api.mechanize.get(@api.construct_full_url("printthread.php", { 'p' => post_id, 'pp' => 1 }))) thread_link = result.search('//a[@accesskey="3"]').first thread_title = thread_link.content thread_id = CGI.parse(URI.parse(thread_link['href']).query)['t'][0] = result.search('//td[@class="page"]/table/tr/td').first thread_created_at = result.search('//td[@class="page"]/table/tr/td[@class="smallfont"]').first.inner_html forum = result.links_with(:href => /forumdisplay.php/).first thread_forum_name = forum.text thread_forum_id = CGI.parse(URI.parse(forum.href).query)['f'][0] forum = VBulletin::Forum.new(:id => thread_forum_id, :name => thread_forum_name) VBulletin::Thread.new(:id => thread_id, :title => thread_title, :created_at => thread_created_at, :forum => forum) end end |