Одной из самых приятных вещей в разработке на платформе Ruby является большое количество тщательно классифицированного, многократно используемого кода, заключенного в форму метко названных «жемчужин».
Я уверен, что вы слышали о популярных фреймворках, таких как Sinatra или супер популярных Rails, которые поставляются в виде драгоценных камней, но вам не хватает всего спектра других, которые решают проблемы на гораздо более низком уровне. Начните использовать их и наблюдайте, как ваша производительность будет стремительно расти!
Быстрая заметка
Я хорошо знаю, что некоторые из перечисленных здесь драгоценных камней имеют Rails, или части Rails, в качестве зависимости. Это не значит, что они менее полезны или требуют насмешек.
CarrierWave
Загружайте файлы в свои приложения Ruby, сопоставляйте их с целым рядом ORM, сохраняйте их на разных серверах. Он хорошо работает с веб-приложениями на основе Rack, такими как Ruby on Rails.
Связанное чтение
Kaminari
Kaminari — это чистый, мощный, настраиваемый и сложный пагинатор на основе Scope & Engine. Kaminari поддерживает несколько ORM (ActiveRecord, Mongoid, MongoMapper), несколько веб-фреймворков (Rails, Sinatra) и несколько шаблонизаторов (ERB, Haml).
Связанное чтение
HAML
Haml (язык разметки абстракции HTML) — это слой поверх XHTML или XML, который предназначен для выражения структуры документов XHTML или XML неповторяющимся, элегантным и простым способом, с использованием отступов, а не с закрывающими тегами и позволяющими вставлять Ruby легко. Первоначально он был задуман как плагин для Ruby on Rails, но он может функционировать как отдельный шаблонизатор.
Связанное чтение
Authlogic
Простое, ненавязчивое решение для аутентификации на основе Ruby. Authlogic очень гибок, имеет сильный публичный API и множество хуков, позволяющих вам изменять поведение и расширять его.
Связанное чтение
Shoulda
Следует, это драгоценный камень, который позволяет вам создавать более понятные тесты для вашего приложения Ruby. Если вам нужно предоставить контекст для ваших тестов, вы сможете классифицировать тесты в соответствии с определенной функцией или сценарием, который вы тестируете.
Связанное чтение
factory_girl
factory_girl предоставляет инфраструктуру и DSL для определения и использования фабрик — менее подвержена ошибкам, более явная и с которой проще работать, чем приборы. Он имеет простой синтаксис определения, поддержку нескольких стратегий построения (сохраненные экземпляры, несохраненные экземпляры, хэши атрибутов и объекты-заглушки) и поддержку нескольких фабрик для одного и того же класса (user, admin_user и т. Д.), Включая фабричное наследование.
Связанное чтение
RMagick
RMagick — это интерфейс между языком программирования Ruby и библиотеками обработки изображений ImageMagick и GraphicsMagick.
Связанное чтение
Может может
CanCan — это библиотека авторизации для Ruby on Rails, которая ограничивает ресурсы, доступ к которым разрешен данному пользователю, и не связана с ролями пользователей. Все разрешения хранятся в одном месте и не дублируются для контроллеров, представлений и запросов к базе данных.
Связанное чтение
Nokogiri
Nokogiri — это анализатор HTML, XML, SAX и Reader. Среди многих особенностей Nokogiri — возможность поиска документов с помощью селекторов XPath или CSS3. Nokogiri очень быстро анализирует и ищет XML / HTML, а также правильно внедрила поддержку селектора CSS3 и поддержку XPath.
Связанное чтение
SASS
Sass снова делает CSS забавным. Sass — это расширение CSS3, добавляющее вложенные правила, переменные, миксины, наследование селектора и многое другое. Он переведен в хорошо отформатированный стандартный CSS с использованием инструмента командной строки или плагина веб-фреймворка.
Связанное чтение
Formtastic
Formtastic — это RailB FormBuilder DSL (с некоторыми другими вкусностями), который значительно упрощает создание красивых, семантически богатых, синтаксически потрясающих, легко стилевых и чудесно доступных HTML-форм в ваших приложениях на Rails.
Связанное чтение
Capistrano
Capistrano — это утилита и среда для параллельного выполнения команд на нескольких удаленных компьютерах через SSH. Он использует простой DSL (частично заимствованный из Rake), который позволяет вам определять задачи, которые могут быть применены к машинам в определенных ролях. Он также поддерживает туннелирование соединений через некоторые шлюзы, что позволяет выполнять операции за VPN и межсетевыми экранами.
Связанное чтение
OmniAuth
OmniAuth представляет собой среду аутентификации Ruby, которая предоставляет стандартизированный интерфейс для многих различных поставщиков аутентификации, таких как Facebook, OpenID и даже традиционные имя пользователя и пароль.
Связанное чтение
- Github репо
- Как использовать Omniauth для аутентификации ваших пользователей
- Railscasts # 241 Simple OmniAuth
Bundler
Bundler — это инструмент, который управляет гем-зависимостями для вашего приложения ruby. Он принимает файл манифеста гемов и может извлекать, загружать и устанавливать гемы и все дочерние зависимости, указанные в этом манифесте. Он может управлять любым обновлением файла манифеста гемов и соответствующим образом обновлять гемы комплекта. Он также позволяет запускать любой код ruby в контексте среды гемов комплекта.
Связанное чтение
спасательное
Resque (произносится как «спасение») — это библиотека с поддержкой Redis для создания фоновых заданий, размещения этих заданий в нескольких очередях и последующей их обработки. Resque в значительной степени вдохновлен DelayedJob.
Связанное чтение
Jammit
Jammit — это мощная промышленная библиотека для упаковки ресурсов для Rails, которая обеспечивает ожидаемую конкатенацию и сжатие CSS и JavaScript, а также совместимость с YUI Compressor и Closure Compiler, заблаговременное сжатие, встроенную поддержку шаблонов JavaScript, и необязательное внедрение изображений Data-URI / MHTML.
Связанное чтение
водосвинка
Capybara помогает вам тестировать приложения Rails и Rack, имитируя взаимодействие реального пользователя с вашим приложением. Он не зависит от драйвера, выполняющего ваши тесты, и поставляется со встроенной поддержкой Rack :: Test и Selenium.
Связанное чтение
Активный продавец
Active Merchant — это извлечение из системы электронной коммерции Shopify. Требования Shopify к простому и унифицированному API для доступа к десяткам различных платежных шлюзов с очень разными внутренними API были главным принципом при разработке библиотеки. Он был разработан для использования в веб-приложениях на Ruby on Rails и легко интегрируется как плагин, но также отлично работает как отдельная библиотека.
Связанное чтение
eventmachine
EventMachine реализует быстрый однопоточный движок для произвольных сетевых коммуникаций. Это очень легко использовать в Ruby. EventMachine оборачивает все взаимодействия с IP-сокетами, позволяя программам сконцентрироваться на реализации сетевых протоколов. Его можно использовать для создания как сетевых серверов, так и клиентов.
Связанное чтение
усы
Вдохновленный ctemplate, Mustache является независимым от фреймворка способом представления без логики. Как говорит ctemplates, «он подчеркивает разделение логики от представления: невозможно встроить логику приложения в этот язык шаблона.
Связанное чтение
пассажир
Phusion Passenger ™ — он же mod_rails или mod_rack — делает развертывание веб-приложений Ruby, таких как приложения, построенные на революционной веб-инфраструктуре Ruby on Rails, очень простым.
Связанное чтение
шеф-повар
Chef — это инфраструктура системной интеграции, предназначенная для использования преимуществ управления конфигурациями во всей вашей инфраструктуре. С Chef вы можете управлять своими серверами, написав код, а не запуская команды.
Связанное чтение
Думающий Сфинкс
Краткая и простая в использовании библиотека Ruby, которая соединяет ActiveRecord с демоном поиска Sphinx, управляя настройкой, индексацией и поиском.
Связанное чтение
Завершение
Таким образом, это были некоторые из удивительных жемчужин, которые я нашел чрезвычайно полезными, когда я запускаю веб-приложение в Ruby. Я на 100% уверен, что мне не хватает метрической попки других. Дайте мне знать о ваших любимых драгоценных камнях в комментариях ниже и большое спасибо за чтение!