Ответы пользователя по тегу Ruby gems
  • Как решить ошибку Rails:4:in `''?

    Первая строчка лога: " tzinfo-data is not present. Please add gem 'tzinfo-data' to your Gemfile"
    Пояснения требуются?
    Ответ написан
    Комментировать
  • Каким гемом можно спарсить .pdf файл в руби?

    https://github.com/documentcloud/docsplit можно попробовать. Но я им пользовался лет 7 назад -- мне не зашло.
    Ответ написан
    Комментировать
  • Gem install mysql error. Как же установить?

    Попробуй:
    sudo apt-get install build-essential patch
    sudo apt-get install ruby-dev zlib1g-dev liblzma-dev

    Рубин лучше ставить через rbenv или rvm
    Ответ написан
    Комментировать
  • Зачем нужны puma, rack?

    Грубо говоря, в общих чертах:
    Rack это библиотека, которая предоставляет АПИ для работы с ХТТП (в основном всякие обработчики запросов и ответов, вызывальщики другого кода и пр).
    Пума -- Вёб-сервер. Пума слушает порты, обрабатывает соединения и тд. Примерно как Нгинкс или Апач.
    Но есть особенность -- получив запрос Пума применит к нему Рэк, который вызовет, в свою очередь, указанный рубиновый код, то-есть собстно приложение (обычно на каком-либо каркасе, например рельсе).
    Примерно так:
    80 порт, Пума --> Rack --> Application
    Ответ написан
    1 комментарий
  • Не происходит инсталляция bundle?

    В Gemfile укажите так:
    gem 'gem_name', path: '/path/to/downloaded/gem'

    Подробнее
    Ответ написан
    Комментировать
  • Как работают gems в rails?

    Про Gem:
    Gem это есмъ библиотека, скомпанованная определённым образом. То есть это набор кода (модули, классы и тд), которые решают некоторую задачу.
    Утилита gem занимается тем, что управляет этими библиотеками. Например 'gem install colorize' скачает с интернета библиотеку (далее "гем") в каталог, доступный для твоих программ (конкретное место зависит от настроек и способа установки Рубина). После чего ты сможешь в своём коде написать require 'colorize' и пользоваться методами, которые данный гем предоставляет. Гем может требовать для установки другие гемы.

    Про Bandler:
    Чтобы не ставить/обновлять гемы по-одиночке каждый раз, люди написали Бандлер (который сам является гемом). Работает это так: в Gemfile ты описываешь какие гемы тебе нужны (каких версий, где взять и прочее...). После чего запускаешь bundle install Бандлер проходит по твоему Gemfile и устанавливает (с помощью утилиты gem) нужные гемы, а также создаёт файл Gemfile.lock, в котором описывает что, откуда и почему он поставил. Это важный файл! храни его в репозитории.
    Если сказать bundle update, то бандлер заглянет в файлы Gemfile и Gemfile.lock, проверит версии и установит гем последней доступной версии. Внимание! не обновит, а поставит новый! То есть старая версия останется.
    Здесь мы приходим к команде bundle exec. Эта команда означает: выполнить нечто с помощью гема из файла Gemfile.lock. Внимание! в рельсе всё (пока не взматереешь) следует запускать через bundle exec! Это исключит конфликт версий. Например: bundle exec rspec, bundle exec rails db:migrate и тд.

    Про Рельсу:
    Посмотри в каком-либо рельсовом проекте bin/rails, там обычный рубиновый код: require_relative '../config/boot'
    Смотрим в config/boot.rb: require 'bundler/setup' Вот тут подключается гем Bundler и далее (можно посмотреть по исходникам) вызывается Bundler.setup, который, в свою очередь, смотрит в файлы Gemfile и Gemfile.lock и подключает указанные библиотеки (с помощью require), после чего методы оных библиотек становятся доступны в проекте. Кстати, Рельса сама является гемом, точнее набором гемов.
    Ответ написан
    Комментировать
  • Как реализовать upload txt файла в Rails?

    Рекомендую: carrierwave
    Популярная альтернатива: paperclip
    Если нужно просто и бесхитростно залить файло, то лучше штатные средства
    Ответ написан
    Комментировать
  • Почему Rails не устанавливается(Windows 7)?

    Смотреть в переменную окружения PATH. Вы послеустановочную процедуру выполнили?

    А вообще Рубин под виндой это тот ещё геморрой. Лучше виртуалку с Линуксом заведите....
    Ответ написан
    4 комментария