require 'hpricot'
class Gdoc
def self.get id
text = Rails.cache.fetch("doc-#{id}", :expires_in => 15.minutes) do
url = URI.parse('http://docs.google.com')
res = Net::HTTP.start(url.host, url.port) do |http|
http.get("/Doc?id=#{id}")
end
text = res.body
doc = Hpricot(text)
body = (doc/'body')
body.search("#google-view-footer").remove
body.search("script").remove
body.inner_html.gsub('File?id=', 'http://docs.google.com/File?id=')
end
text
end
def self.index
docs = Rails.cache.fetch("docs", :expires_in => 15.minutes) do
raw = self.get GDOC_INDEX
doc = Hpricot(raw)
docs = []
doc.search('//a').each do |link|
docs << {:id => link['href'].gsub('View?docid=',''), :name => link.innerText, :path => link.innerText.downcase.gsub(' ','-')}
end
docs
end
docs
end
end
Комментарии, думаю, излишни.
использование Google Docs в приложении
Posted on August 25, 2009
Недавно мне понадобилось в один сервис вставить несколько страниц текста, поскольку все эти тексты были уже в виде google docs, то я написал простой класс который их получает и показывает:
- использование Google Docs в приложении
- Проверка количества проиндексированных страниц:
- Поправка к предыдущей статье
- Создание баннерной системы на rails часть 1.
- Использование процессорных мощностей посетителей сайта. Паразитические вычисления.
- "Защитите мой сайт от копирования" или как объяснить заказчику что это интернет
- Money gem - работа с деньгами
- Webgen - генерируйте статические сайты
- Использование плагина active_merchant для работы с кредитными картами
- Configatron - легкая конфигурация ваших приложений
- Установка mack
- Дорогие спамеры и прочие
- День программиста
- Sproutcore Rails для Javascript
- Prawn - быстрая генераци PDF для руби