Pull to refresh
  • by relevance
  • by date
  • by rating

Установка RubyGems на хостинге

Ruby *
Сегодня решил протестировать один из своих рельсовых проектов на хостинге. Дома-то работает всё круто, а вот в продакшн-режиме не захотело. Во-первых, оказалось, что рельсы на хостинге установлены не те, во-вторых, RubyGems старый. Ладно, хоть Ruby сам работал, и на том спасибо ((-:
Первым делом я решил обновить RubyGems, чтобы в дальнейшем избежать лишних вопросов от менеджера gem'ов. Делается это так:
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Views 1.7K
Comments 19

Делаем gem для RubyGems

Ruby *

Собираем камешки для Ruby


Зачастую бывает так, что таскаешь из проекта в проект какие-то куски кода. Такие куски очень удобно выносить во внешние файлы, модули. Для этого в Ruby существует RubyGems — менеджер приложений и библиотек, оформленных в один файл-пакет — gem. И собрать такой гем, а главное, сделать его доступным для любой машины, подключенной к интернету, оказалось очень просто.

Итак, gem за пол-часа
Total votes 32: ↑27 and ↓5 +22
Views 2K
Comments 17

Сборка Ruby, RubyGems и Ruby on Rails в новом Snow Leopard

Lumber room
Translation
Это инструкции по сборке и установке 64-битной версии Ruby, Rubygems и Ruby on Rails в новой Mac OS X 10.6 Snow Leopard.

Плюсы собственной сборки Руби в /usr/local описаны тут и здесь.

Читать дальше →
Total votes 8: ↑4 and ↓4 0
Views 351
Comments 14

tweet-button

Ruby *
tweet-button — gem/plugin для генерации новой Twitter кнопки.

Использование

Включите TweetButton в вашем application хелпере. После этого в любом шаблоне можно вызвать хелпер:

<%= tweet_button %>

Поддерживаются так же дополнительные параметры:

<%= tweet_button(:via => «peterc», :url => «hashtrain.com», :text => «AWESOME.») %>

Исходный код и документация доступны на Github: http://github.com/intridea/tweet-button
Total votes 20: ↑7 and ↓13 -6
Views 401
Comments 3

GeoIP

Ruby *
GeoIP позволяет реализовать поиск информации о стране, городе по IP адресу или хосту.

При помощи GeoIP можно например определять предпочтительную локализацию вашего проекта для нового пользователя. Приятно зайти на сайт у которого по умолчанию интерфейс на твоем родном языке.

Областей применения довольно много.
Читать дальше →
Total votes 12: ↑7 and ↓5 +2
Views 2.3K
Comments 7

RubyGems — подробно

Ruby *

Для начала определимся с понятиями:
RubyGems — фрэймворк для установки и запаковки Ruby библиотек и приложений.
gem — пакет(файл) с библиотекой или приложением. Имеет стандартизированный вид и расположен в хранилище в сети.
gem command tool — RubyGems предоставляет утилиту «gem» для работы с gem пакетами из командной строки. Она интегрирована с Ruby и позволяет получать доступ к установленным gem'ам как к библиотекам.

В чем же предназначение RubyGems?

До того как появилась RubyGems, для установки новой библиотеки нужно было найти, скачать её, попытаться установить, часто лишь для того, чтобы убедиться в отсутствии нужных зависимостей. Если же библиотека запакована с помощью RubyGems, достаточно попросить RubyGems сделать это за нас и получить установленную, интегрированную библиотеку со всеми нужными зависимостями. В дополнение ко всему утилита gem — платформонезависима, неважно какую ОС вы используете, везде механизм установки библиотек и приложений будет одинаков. Здорово, правда?

Под катом будут описаны:
1) Поиск, получение деталей, установка gem's
2) Доступ документации по установленному gem
3) Использование установленных gem's
4) Работа с версиями gem's
5) Создание собственных gem's

Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Views 36K
Comments 21

Управляем версиями с помощью Bundler

Ruby *
Translation
Недавно вышло обновление rake с версии 0.8.7 до версии 0.9.0, которое наделало много шума в сообществе и в очередной раз выявило проблему управления версиями. Мне бы хотелось прояснить ситуацию и снова проговорить основные моменты, которые я уже упоминал во времена релиза Bundler 1.0. Вначале я расскажу о простых правилах работы, а затем слегка углублюсь в детали.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Views 14K
Comments 4

Пишем свой первый gem

Ruby *
Sandbox
Хочу рассказать Вам свой опыт написания gem. Данная идея возникала у меня давно, но до реализации все никак не доходила. Все упиралась в банальную лень и отсутствие достаточной мотивации. Однако неделю назад мне достался проект, связанный с сервером рассылки писем.

Выбираем генератор

На первом этапе нужно было определиться с тем, как будет создаваться библиотека: с нуля или с помощью какого-то генератора. Для первого раза, на мой взгляд, писать с нуля будет достаточно сложно и долго, поэтому рассмотрим известные генераторы. Небольшой поиск показал такие gems: hoe, newgem, bundler. Лично мне понравились два – newgem и bundler. Первый представляет полный комплект шаблонов, охватывающий множество случаев. Но я выбрал bundler за его простоту, минимальный набор сгенерированных файлов и набор rake tasks для создания пакета и его дальнейшей публикации.

Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Views 8.6K
Comments 21

Знакомство с Gem. Часть первая

Ruby *
Доброго времени суток!

Введение


Каждый рубист, да и вообще программист, рано или поздно начинает задумываться о написании своих библиотек. Ему начинает надоедать перетаскивание одних и тех же кусков кода в другие проекты. В Ruby лекарством от данного заболевания являются gem'ы. Итак, давайте познакомимся с ним поближе.
Добро пожаловать к нам под хабракат
Total votes 41: ↑35 and ↓6 +29
Views 18K
Comments 31

Знакомство с Gem. Часть вторая

Ruby *
Доброго времени суток!

Вместо введения


Наконец-то я нашёл немного времени для того, чтобы продолжить своё повествование о разнообразных чудесах в Ruby. Как вы помните, в прошлой части мы познакомились с основами написания своего гема. Мы узнали, какой минимальный набор файлов должен быть для того, чтобы его собрать. Также мы узнали как мы можем опубликовать своё творение в RubyGems. В тот же день (после написания первой части) в RubyGems неожиданно проявился всплеск гемов под названием hello-world. Причём я застал довольно много вариаций оного. Некоторые даже не удосужились поменять строку, где указывается автор гема.
g.author = "krovatti"

Некоторые вовсе задавали гему следующие значения версий:
g.version = "666"
g.version = "111"
g.version = "911"

В общем было достаточно много других вариаций, что меня, как автора, безусловно, не могло не радовать.
Итак, переходим к делу
Total votes 41: ↑37 and ↓4 +33
Views 2.2K
Comments 23

Создание гемов — Руководство

Ruby *
Хотя на Хабре уже проскакивали статьи о создании гемов, они либо содержат устаревшую, либо неполную информацию.

Как же на самом деле надо создавать, развивать и публиковать свои гемы?

Современный подход заключается в использовании Bundler совместно с другими инструментами, такими, как Git, YARD и RSpec-2.
Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Views 8.7K
Comments 12

Как я использовал gem gon в Групоне

«Evil Martians» corporate blog Website development *Ruby *
На днях я зарелизил новую версию своего gem Gon – 4.0.0 и решил привести пару примеров его возможностей и использования. Данная библиотека служит для упрощения работы с данными в MVC архитектуре. Она позволяет работать с данными контроллера из JS пропуская шаги перекидывания этих данных через вью. На сегодняшний день существуют реализации гона для RoR приложений, sinatra-like приложений (sinatra, padrino, etc.) и для .Net MVC.

Карта в админке

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

Читать дальше →
Total votes 30: ↑25 and ↓5 +20
Views 5.6K
Comments 8

Ruby NoName Podcast S04E17

Ruby *

Подкаст

http://ruby.rpod.ru/283342.html

Новости



Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Views 1.9K
Comments 0

Хоткеи в приложенях Ruby on Rails

Ruby on Rails *
Fingers on the railsMousetrap — javascript-библиотека, позволяющая легко и непринужденно добавлять хоткеи на сайты, появилась не так давно. Но уже успела полюбиться мне настолько, что я решил сделать ее добавление к проекту на Ruby on Rails простым и приятным. А именно, завернуть в ruby-библиотеку для рельсов. Так появился gem mousetrap-rails.

Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Views 5.1K
Comments 28

Первые жертвы критических уязвимостей Rails: RubyGems.org подвергся хакерской атаке

Information Security *Ruby *Ruby on Rails *
Не успело Rails сообщество оправиться от последних критических уязвимостей с YAML парсингом, как злоумышленники нанесли удар по святому — RubyGems.org(wiki) подвергся хакерской атаке, через выше описанные уязвимости. Как минимум один зловредный гем был залит на RubyGems, который потенциально имел доступ к чувствительной информации, включая права на манипулирование гемами.
Читать дальше →
Total votes 39: ↑37 and ↓2 +35
Views 12K
Comments 24

PluggableJs – простой и удобный способ подключения джаваскрипта на определенных страницах

Ruby on Rails *

Предисловие


Если вы используете Rails >= 3.1 с включенным asset pipeline, то конечно знаете, что все скрипты под директивой require_tree (а речь пойдет именно о них) сжимаются в один файл и, соответственно, отрабатывают на всех страницах. Но что делать, если кусок джаваскрипта нужен только на одной странице и совсем не нужен на другой? Behold! Именно эту задачу решает pluggable_js.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 3.1K
Comments 17

Rails 4. Гибкая разработка веб-приложений

Издательский дом «Питер» corporate blog Ruby *Ruby on Rails *
Перед вами новое издание бестселлера «Agile web development with Rails», написанного Сэмом Руби — руководителем Apache Software Foundation и разработчиком формата Atom, Дэйвом Томасом — автором книги «Programming Ruby» и Дэвидом Хэнссоном — создателем технологии Rails. Rails представляет собой среду, облегчающую разработку, развертывание и обслуживание веб-приложений. За время, прошедшее с момента ее первого релиза, Rails прошла путь от малоизвестной технологии до феномена мирового масштаба и стала именно той средой, которую выбирают, чтобы создавать так называемые «приложения Web 2.0». Эта книга, уже давно ставшая настольной по изучению Ruby on Rails, предназначена для всех программистов, собирающихся создавать и развертывать современные веб-приложения. Из первой части книги вы получите начальное представление о языке Ruby и общие сведения о самой среде Rails. Далее на примере создания интернет-магазина вы изучите концепции, положенные в основу Rails. В третьей части рассматривается вся экосистема Rails: ее функции, возможности и дополнительные модули. Обновленное издание книги описывает работу с Rails поколения 4 и Ruby 1.9 и 2.0.

image

Книга на сайте издательства ПИТЕР

Оглавление
Отрывок

Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Views 23K
Comments 18

Ruby 2.1 в деталях (Часть 2)

Ruby *
Translation

Refinements

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

Теперь к методу #using для активации уточнений на уровне файла добавился метод Module#using для активации в пределах модуля. Однако использование уточнений по-прежнему ограничено лексической областью видимости, т.е. они не будут активны при повторном открытии модуля.
Читать дальше →
Total votes 36: ↑36 and ↓0 +36
Views 11K
Comments 7

Ruby Together – фонд развития языка Ruby

Open source *Ruby *Ruby on Rails *


Пару раз проскочив в условном Ruby Weekly, сайт инициативы Ruby Together не зацепил моего внимания, хотя должен был. Давайте разберемся, на что нам предлагают потратить свой трудовой доллар.

Ruby Together — некоммерческая организация, занятая привлечением и распределением денег на развитие инфраструктуры языка Ruby. Уже сейчас под крылом организации находятся столпы экосистемы Ruby: гем bundler, репозиторий rubygems.org и сам проект rubygems. Организация управляется советом директоров, который состоит из хорошо знакомых всем рубистам имен: André Arko, Aaron Patterson (интервью для хабра), Steve Klabnik (интервью для хабра, «Как я нахожу время?»), Sarah Mei, Terence Lee, Ines Sombra, Joel Watson.

Индивидуальное членство в организации стоит $40 в месяц, корпоративное членство – $800. Взносы дают право голоса и ряд бонусов, о которых под катом. Для тех, кто просто хочет помочь проекту деньгами, существует статус «друга», без доступа к внутренним ресурсам и права голоса, с ежемесячным взносом $10, либо разовым взносом произвольной суммы. На текущий момент к проекту присоединились компании Stripe и Engine Yard, а также более 30 индивидуальных участников.

Принять участие.
Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Views 8.5K
Comments 5
1