Листинг директорий на руби

Было дело, надо в одном проекте выводить список файлов лежащих в определенной директории, с возможностью их скачать, как говориться в натуральную величину. Это был мой первый кусочек кода написанный на ruby, а поскольку rails для меня тогда еще были не доступны, их фишками я не пользовался. Встречайте, чистый ERB:


<%
vendors = Hash.new { |hash, key| hash[key] = Array.new }
Dir.open('public/files').each do |file|

    # Заполняем хэш vendors файлами из директории, перебирая по очереди каждый из них
    next if file[-4..-1] != '.pdf'
    next if file =~ /^..?$/
    file.gsub!('.pdf', '')
    f = file.split(' ')

    # Разбиваем имя файла, получая необходимые логические части Прозводитель и Модель. 
    # Заполняем хэш полученными значениями.

    model = f[-1] # Пробельчик чик-чик
    vendor = f[0..-2].join(' ')
    vendors [vendor] << model
end
%>

<% for v in vendors.keys.sort do %>

<h2><%= v ></h2>
<ul><% for m in vendors[v].sort do %>
<li><a href=”/files/<%= v + ‘ ‘ + m + ‘ .jpg’ %>” target=”_blank”><%= m %>

<% end %>


<% end %> 

2 April 2009

Как видите, на Ruby можно тоже писать коряво, как на PHP 🙂

MongoDB for Developers

Я пишу этот пост, потому что нахожусь в некотором экстазе от онлайн курса M101: MongoDB for Developers. Если вы вообще смотрите в мир NoSQL, то думаю это самое то, что нужно для того чтобы идти в ногу со временем. Вообще, я заметил что за прошедшие пару лет с окончания вуза я отучился учиться… чтоже Coursera, Udacity и другие ресурсы с Class Central помогут мне вернуться в строй.

Website за 20 минут на ruby

Этот пост скорее всего не пособие, а некая компиляция-рецепт на русском языке, как сделать простое и легкое web-приложение на руби. Итак, все началось со списка: 24 из 100, который я запостил в своем ЖЖ. Я опубликовал названия 24ех книг по мнению коллектива редакции «НГ-Ex libris», потрясли литературный мир и оказали влияние на всю культуру. Список любопытный, и в комментах развернулось обсуждение, что для себя такое составить интересно, но уж копипастить из окна в блокнот совсем лениво.

Тогда-то я и решил сделать первый блин комом. Итак, задача – есть список, который мы парсером загрузили в базу данных (опускаю этот момент, ибо он выходит за рамки обсуждения). Сделаем из него нечто большое.

Для работы потребуется: ruby, gem, vim
Начнем классически, в окне терминала набираем:

Continue reading Website за 20 минут на ruby

Обновил мессенджер

В связи с параноидальной настройкой безопастности корпоративной рабочей сети поднял свой Jabber сервер на экзотическом, но доступном порту. Чуть-чуть пришлось пошаманить над запуском openfire под CentOS, однако все теперь работает.
C учетом данной информации, прошу всех желающих общаться со мной и впредь добавить в свой контактный лист vestel[at]im.save.lv

О DropBox-e и больше ни о чем

Вам новый пост пост о торжестве симбиоза онлайна и оффлайна. Регулярно так случается, что нужно что-то согласовать с женой в плане оформления или внешнего вида. Пересылать туда обратно файлы – неудобно, да и компьютеров у меня несколько: ноут жены, рабочий ноут, личный ноут. Раньше пользовался внешним FTP решением, что оказалось тоже не сильно удобно: если вдруг надо туда-сюда потаскать файл мегабайт на 5, то каждый раз после сохранения это сделать можно и забыть, да и процесс не сильно быстрый.

Continue reading О DropBox-e и больше ни о чем

Голосуй, а не то проиграешь

Итак, пришло время подбить итоги, а именно перечислить те сайты, которые писали в рамках “Новогоднего постописательства” и смогли удовлетворить мой вкус:

Наверное, это не все. Мне понравилось очень много статей, но в общем списке участников я сразу вспомнил и увидел именно этих ребят. Спасибо тем, кто голосовал за меня. Удачи, и с нетерпением жду завтра, когда станут известны победители.