Ответы пользователя по тегу Ruby gems
  • Как добавить метод (расширить класс) для объекта нативного класса в Ruby?

    shurik_sh
    @shurik_sh
    Начинающий программист
    Добрый день.
    Не нужно в классе Hash делать такой метод, т.к. любой хэш это валидный json
    Пример:
    a = {'a'=>'n'}
    a.to_json #=> Валидная строка в формате json

    Можно, но я не рекомендую добавлять методы в руби классы, создайте лучше свой и работайте с ним, можете свой класс унаследовать от Hash и делать с ним что хотите
    class MyHash < Hash
    
      def foo_value?
        has_value? 'foo'
      end
    
    end
    
    a = MyHash.new
    a[:a] = 'foo'
    b = MyHash.new
    b[:a] = 'baz'
    p a.foo_value?
    p b.foo_value?

    Просто работать с кодом где много изменений в стандартных классах не удобно.
    Ответ написан
  • Как получить доступ к моделям которые хранятся в геме?

    shurik_sh
    @shurik_sh
    Начинающий программист
    Все гемы загружаются в память при инициализации рельсового приложения, соответственно все объекты доступны в коде без дополнительного подключения библиотек. Модель подключаемой библиотеки это обычный руби класс, скорее всего до него можно добраться по полному пути, например SuperGem::SuperAR::SuperModel
    Нужно ознакомиться с документацией api гема или посмотреть исходный код, чтобы понять как он работает.
    Ответ написан
    Комментировать