Sha256: ca7276d72c9f7eefa105bdc64516f341cdeee1d83d03be8fcce0195f2870a39b
Contents?: true
Size: 985 Bytes
Versions: 1
Compression:
Stored size: 985 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: shortened_text(text), method: "zemanta.suggest_markup" }.merge(opts))["markup"] end def self.request(opts) Fetcher.new(opts).post end def self.shortened_text(text) text[0..Zemanta.config.character_limit-1] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zemanta_client-0.0.9 | lib/zemanta/markup.rb |