Module: Rubymarks

Defined in:
lib/rubymarks.rb,
lib/rubymarks/services.rb

Constant Summary collapse

RUBYMARKS_SERVICES =
{
  :facebook => {
    :name => 'Facebook',
    :base_url => 'http://www.facebook.com/share.php?',
    :url_param => 'u'
  },
  :digg => {
    :name => 'Digg',
    :base_url => 'http://digg.com/submit?phase=2&',
    :url_param => 'url',
    :title_param => 'title'
  },
  :delicious => {
    :name => 'Delicious',
    :base_url => 'http://del.icio.us/post?',
    :url_param => 'url',
    :title_param => 'title'
  },
  :stumbleupon => {
    :name => 'StumbleUpon',
    :base_url => 'http://www.stumbleupon.com/submit?',
    :url_param => 'url',
    :title_param => 'title'
  },
  :twitter => {
    :name => 'Twitter',
    :base_url => 'http://twitthis.com/twit?',
    :url_param => 'url',
    :title_param => 'title'
  },
  :reddit => {
    :name => 'Reddit',
    :base_url => 'http://reddit.com/submit',
    :url_param => 'url',
    :title_param => 'title'
  },
  :windowslive => {
    :name => 'Windows Live',
    :base_url => 'https://favorites.live.com/quickadd.aspx?marklet=1&mkt=en-gb&top=0&',
    :url_param => 'url',
    :title_param => 'title'
  },
  :google => {
    :name => 'Google Bookmarks',
    :base_url => 'http://www.google.com/bookmarks/mark?op=edit&output=popup&',
    :url_param => 'bkmk',
    :title_param => 'title'
  },
  :myaol => {
    :name => 'My AOL',
    :base_url => 'http://favorites.my.aol.com/ffclient/AddBookmark?favelet=true&',
    :url_param => 'url',
    :title_param => 'title'
  },
  :magnolia => {
    :name => 'Magnolia',
    :base_url => 'http://ma.gnolia.com/bookmarklet/add?',
    :url_param => 'url',
    :title_param => 'title'
  },
  :technorati => {
    :name => 'Technorati',
    :base_url => 'http://technorati.com/faves?sub=addfavbtn&',
    :url_param => 'add'
  },
  :newsvine => {
    :name => 'Newsvine',
    :base_url => 'http://www.newsvine.com/_tools/seed&save?',
    :url_param => 'u',
    :title_param => 'h'
  },
  :myspace => {
    :name => 'MySpace',
    :base_url => 'http://www.myspace.com/index.cfm?fuseaction=postto&l=1&',
    :url_param => 'u',
    :title_param => 't',
    :text_param => 'c'
  },
  :tinyurl => {
    :name => "TinyURL",
    :base_url => 'http://tinyurl.com/create.php?',
    :url_param => 'url'
  },
  :snurl => {
    :name => "Snurl",
    :base_url => 'http://snipr.com/site/snip?r=simple&',
    :url_param => 'link',
    :title_param => 'title'
  }
}

Instance Method Summary collapse

Instance Method Details

#bookmark_tag(service, url, options = {}) ⇒ Object



13
14
15
# File 'lib/rubymarks.rb', line 13

def bookmark_tag(service, url, options = {})
  "<a href='#{bookmark_url(service, url, options)}'#{" target='new'" if options[:new_window] == true}>#{RUBYMARKS_SERVICES[service][:name]}</a>"
end

#bookmark_url(service, url, options = {}) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/rubymarks.rb', line 5

def bookmark_url(service, url, options = {})
  service = RUBYMARKS_SERVICES[service]
  url_parts = ["#{service[:url_param]}=#{URI.encode(url)}"]
  url_parts << "#{service[:title_param]}=#{URI.encode(options[:title])}" if options[:title] && service[:title_param]
  url_parts << "#{service[:text_param]}=#{URI.encode(options[:text])}" if options[:text] && service[:text_param]
  service[:base_url] + url_parts.join('&')
end

#rubymarks_servicesObject



17
18
19
# File 'lib/rubymarks.rb', line 17

def rubymarks_services
  RUBYMARKS_SERVICES
end