class Wduck::Duck::Ddg

Public Class Methods

new(query) click to toggle source
# File lib/wduck/duck.rb, line 7
def initialize(query)
  @query = query
end

Public Instance Methods

result() click to toggle source
# File lib/wduck/duck.rb, line 11
def result
  search_result = DuckHelper::SearchResult.new(@query)

  puts_color search_result.heading  , :red
  puts_color search_result.source   , :green
  puts_color search_result.answer   , :yellow
  puts_color search_result.abstract , :green

  if search_result.related_topics
    puts "\nRelated Topics".color(:white).underline

    search_result.related_topics.each do |result|
      puts_color result["Text"], :green
    end
  end
end

Private Instance Methods

make_sane(value) click to toggle source
# File lib/wduck/duck.rb, line 34
def make_sane(value)
  re = /<("[^"]*"|'[^']*'|[^'">])*>/
  HTMLEntities.new.decode(value.gsub(re, '')) #remove html tags, then make proper unicode conversion
end
puts_color(type, color) click to toggle source
# File lib/wduck/duck.rb, line 30
def puts_color(type, color)
  puts make_sane(type).color(color) if type
end