ruby

Настройка бэкапов базы данных для Ruby on Rails на Ubuntu 14.04

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

Для начала поставим гем backup.

sudo apt-get install libxslt-dev libxml2-dev build-essential
gem install backup

Сгенерируем "модель бэкапа".

--trigger — название модели,
--storages — куда будут сохраняться бэкапы,
--databases — тип базы данных,
--encryptor — метод кодирования данных,
--compressor — метод компрессии данных,

Читать далее →

Деплой приложения Ruby On Rails на сервер с Ubuntu 14.04 (с Mac OS X)

Еще одна инструкция по деплою рельсового приложения.

Настройка окружения сервера

1. Добавляем юзера deploy с правами админа.

# server
sudo adduser deploy
sudo adduser deploy sudo
su deploy

2. Добавляем SSH-ключи на нашу локальную машину и авторизуем этот ключ на сервере с помощью утилиты ssh-copy-id, предварительно установив ее. (IPADDRESS — айпи адрес для доступа по SSH).

# local
brew install ssh-copy-id
ssh-copy-id deploy@IPADDRESS

Читать далее →

Вью хелперы и генерация страниц в Middleman

Продолжаю рассказывать о замечательной тулзе Middleman. Расскажу о двух еще очень важных вещах, а остальное можете вычитать из официальной документации.

Хелперы

Вью-хелперы можно использовать в любом шаблоне нашего приложения. Стандартные хелперы типа link_to известны всем rails-девелоперам. Хороший пример этого хелпера:

<%= link_to 'My Form', '/form.html', query: {foo: 'bar'}, fragment: 'deep' %>

Читать далее →

Установка и настройка Middleman

Middleman — удобный инструмент для генерации статических файлов из псевдодинамических исходных данных. Вы задаете набор страниц с переменными, значения этих переменных в виде массива. Эти переменные становятся доступны в шаблонах. Во время разработки middleman работает в качестве простейшего приложения на мини-фреймворке Sinatra. Потом вы просто генерируете все возможные странички и заливаете их на сервер. Вот такая получается псевдодинамика.

Читать далее →

Установка development сервера pow

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

Чтобы установить или обновить:

curl get.pow.cx | sh

Дальше с помощью пары команд мы делаем виртуальный хост:

cd ~/.pow
ln -s ~/projects/secret_app/ secret

Читать далее →

Установка Ruby On Rails

После того, как поставили нужную версию руби, ставим рельсы. Делается это максимально просто:

gem install rails

Сразу же сгенерируем скелет для нового приложения и на всякий случай зададим локальную версию руби (если вдруг глобальная будет изменена):

rails new ~/projects/secret_app
cd ~/projects/secret_app
rbenv local 2.0.0-p247

Читать далее →

Разработка приложения на Sinatra с использованием Shotgun

По умолчанию Sinatra не перезагружает ваше приложение при каждом вызове. Поэтому при внесении каких-либо изменений в код вашего проекта, вам нужно постоянно перезапускать веб-сервер. Чтобы избежать этого, просто установите гем Shotgun.

Делается это следующим образом:

gem install shotgun

Далее просто запускайте файл с вашим приложением с помощью этого гема:

shotgun -p 4567 my_app.rb

Читать далее →

Bundler — установка гемов в кастомную директорию

Помимо всего прочего, вы можете устанавливать все нужные гемы (и их зависимости) не в системную директорию для гемов, а в любое другое место. Хорошей практикой является установка необходимых приложению гемов в директорию этого приложения по адресу vendor/bundle.

Делается это вот такой командой:

bundle install --path vendor/bundle

Читать далее →

Bundler — обновление гемов

У обновлений версий ваших гемов есть свои тонкости и о них вы можете прочитать на официальном сайте (ссылко). Однаком здесь пробежимся быстро и по верхушкам. Главный совет - не обновляйте гемы скопом. Обновление происходит следующим способом - в Gemfile вы просто указываете новую версию гема, а потом запускаете bundle install.

Читать далее →

Bundler — группы гемов

Бывают ситуации, когда какие-либо гемы нужны при разработке и не нужны при деплое, например. В таком случае, при создании файла Gemfile, вы можете объединить эти гемы в группы. А затем при установке гемов можете указывать специальное поведение для установки этих групп. Допустим, есть такой Gemfile:

source "http://rubygems.org"
 
gem "rails", "3.0.0.rc"
gem "rack-cache", :require => "rack/cache"
gem "nokogiri", "~> 1.4.2"
 
group :development do
  gem "sqlite3-ruby"
end
 
group :production do
  gem "pg"
end

Читать далее →