Персональный блог Ruslan Voloshin

Устанавливаем альтернативные респондеры Rails 3 responders для чистоты кода приложения

  •  
August 29, 2010 12:211 коммент.

Итак стоит задача постистить код контролера от FLASH текста и вынести все красиво в файлы локализации.

Для этого добавляем в наш Gemfile

gem 'responders'

дальше ставим джем

bundle install

после чего добавляем в приложение респондеры

gem install responders

После чего рефакторим код контролеров

     if @message.save

       ping(@message) if APP_CONFIG['ping_enabled']

-      respond_with(@message, :notice => 'Message was successfully created.')
-    else
-      respond_with(@message)

     end

+    respond_with(@message, :flash => true)

В итоге получаем одну строку вместо трех в контролере и возможность удобного редактировани флеш сообщений в файле локализации.

Для тех кому стало интересно можно почитать коменты к респондеру.

Долой TYPO привет ABOUTME

  •  
August 28, 2010 21:530 коммент.

И так возможно посточнные посетители заметили, что мой блог умер после попытки обновить очередную версию TYPO.

Конечно все видели по сто раз ролики про то как сделат ь блог за 5 минут и так далее, но то то делаетс яза 5 минут, не обобо подойдет для радового блогера.

И так как бы небыло времени и желания, но всетаки я собрался  с духом и решил начать писать движок для блога на RAILS 3 скажу вам честно пока мне этот процесс нравится.

И так за три дня было реализовано следующее в ядре движка

  * JQuery 1.4.1 (recomended for rails 3)
  * JQuery UI (customized)
  * Blueprint (CSS Framework)
  * HAML
  * devise (simple authentification for rails app)
  * CKeditor
  * ActsAsTaggableOn

Для тех кто уже созрел поюзать альфу предлагаю 
сделать клон на джит хабе.

В преспективе приписать XMLRPC для постинга через клиентские программы.
Все фичи которые вы зотели бы видеть в этом движке предлагаю описывать на вики

Или можно сдесь высказаться по быстрому, если лень ставить, но есть что сказать.

aboutme header

footer

new message in blog

 

Как быстро поставить все джемы на новой машине?

  •  
5.0 из 1 гол.
August 28, 2010 17:500 коммент.

ШАГ 1

Создаем файл .gemrc  в домашней папке пользователя с под которого будем ставить джемы, и добавляем туда следующие записи.

---
:benchmark: false
:update_sources: true
:bulk_threshold: 1000
:backtrace: false
:verbose: true
:sources:
- http://gems.rubyforge.org/
- http://gems.github.com
gem: --no-ri --no-rdoc

ШАГ 2

Создаем исполняемый файл на машине где есть все необходимые джемы следующей командой.

gem list --no-versions | tr "\n" " " > gems-install.sh

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

gem install - добавляем в самое начало фафла.

ШАГ 3

Копируем созданный использяемый файл на новую машину, предварительно установив там руби и джемс в минимальной сборке.

и запускаем (если не запускается chmod +x ./gems-install.sh)

gems-install.sh

после чего надо пойти выпить чаю, пока скачаются все джемы и установятся, но не файкт что стануть сразу все, так как нет гарантии что у вас есть все devel  пакеты в системе.

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

Passenger 3 - будет еще быстрей и умней

  •  
August 28, 2010 11:000 коммент.

Только что прочитал пару статей на официальном блоге разработчиков пасенжера и руби ентерпрайз едишин, могу сказать что очень впечатлило.

Из фишек - при перезагрузке отсутствует время простоя сервера, улучшена скорость обработки запросов, автоматический поиск приложений и многое другое.

Могу порекомендовать прочитать блог и посмотреть видео.

JQuery + rails 3 rc2

  •  
August 24, 2010 22:572 коммент.

То что раньше делалось через инициализаторыи удаление констант, теперь красиво определяется в инифализаторе приложения

СТАРЫЙ ВАРИАНТ

/config/initializers/jquery.rb

if ActionView::Helpers::AssetTagHelper.const_defined?(:JAVASCRIPT_DEFAULT_SOURCES)
  ActionView::Helpers::AssetTagHelper.send(:remove_const, "JAVASCRIPT_DEFAULT_SOURCES")
end
ActionView::Helpers::AssetTagHelper::JAVASCRIPT_DEFAULT_SOURCES = ['jquery-1.4.2.min.js', 'rails.js']
ActionView::Helpers::AssetTagHelper::reset_javascript_include_default

 

НОВЫЙ

/config/application.rb

   config.action_view.javascript_expansions[:defaults] = %w(jquery-1.4.1.min rails jquery-ui-1.8.4.custom.min)