Sha256: b4b9cc386bec8eff444ab40648068aa85bfeba427901edf568dfab2e563a672d
Contents?: true
Size: 876 Bytes
Versions: 6
Compression:
Stored size: 876 Bytes
Contents
module Zemanta class Markup attr_reader :text, :links def initialize(opts = {}) @text = opts["text"] @links = opts["links"].map{ |link| Link.new(link) } end def self.fetch(text, opts = {}) relevance = opts.delete(:relevance) || 0 confidence = opts.delete(:confidence) || 0 new(suggest_markup_request(text, opts)).tap do |markup| markup.drop_links_below(relevance, confidence) end end def drop_links_below(relevance, confidence) @links.keep_if do |link| link.above?(relevance, confidence) end end private def self.suggest_markup_request(text, opts) return {'links' => []} if text.to_s.empty? request({ text: text, method: "zemanta.suggest_markup" }.merge(opts))["markup"] end def self.request(opts) Fetcher.new(opts).post end end end
Version data entries
6 entries across 6 versions & 1 rubygems