
d_shirin
09.11.2016
08:05:39
Трамп победил, слава США

Alex
09.11.2016
08:05:57
Сюда лучше не пихать политику
фигня начнется.

Кирилл
09.11.2016
08:06:11
К тому же внешнюю

Google

Alex
09.11.2016
08:06:57
Все относительно, в общем то.

ⰿⰰⰾⱏ
09.11.2016
08:14:12

d_shirin
09.11.2016
08:14:57

ⰿⰰⰾⱏ
09.11.2016
08:15:27

Плюшка
10.11.2016
02:10:03
а кто-нибудь тестировал crystal проекты в travis ci?
https://travis-ci.org/unn4m3d/cppize/builds/174632566 такая фигня

Maksim
10.11.2016
05:32:17
Привет. Кто-нибудь писал гемы? Не могу пройти даже Introduction на rubygems.org
Написал примитивный Hello,world:
-#lib/hola.rb
class Hola
def self.hi
puts 'Hello, world1!'
end
end
Успешно прошли команды:
gem build hola_maksim.gemspec
gem install hola_maksim-0.0.0.gem
Но когда дело дошло до того, чтобы этот метод запустить
Я захожу в irb и ввожу require 'hola_maksim'
Мне говорят, что такого файла или каталога нет
Посмотрел gem list, там этот гем есть
Посмотреть Gem.path, проверил гем в этих папках, он там тоже есть
Не понимаю, в чем может быть проблема...
Когда в irb писал gem 'hola_maksim'
Мне выдавали true
Но это ничего не дало, так как метод Hola.hi не работал

I
10.11.2016
05:33:51
а зачем называть гем по-одному, а его модули/классы объявлять иначе?

Alex
10.11.2016
05:34:32
> Я захожу в irb и ввожу require 'hola_maksim'
Вот когда я замучился с этим, мне подсказали создать файл hola_maksim.rb в lib который реквайрит все нужные файлы.

I
10.11.2016
05:35:03
вот-вот

Alex
10.11.2016
05:35:04
хотя у тебя он должен быть уже

Maksim
10.11.2016
05:35:10
Т.е имя фиксировано с именем файла?

Google

I
10.11.2016
05:35:12
не, у него hola.rb

Alex
10.11.2016
05:35:21
у меня косяк был с тем что у меня название было и с "_" и с "-"
gem_name-extension
и дальше уже при require рубигемы по папкам lib всех гемов идут
гем создавал через bundle gem name?

Maksim
10.11.2016
05:37:20
Нет. Руками

Alex
10.11.2016
05:37:22
через бандлер удобно гемы создавать.
Создай через бандлер и посмотри структуру которую он нагенерил.

Maksim
10.11.2016
05:37:44
Не знал, спасибо

Alex
10.11.2016
05:37:50
bundle gem name
Плюс при этом он полезные фишки добавляет. Например rake команду для публикации новой версии гема. Очень удобно.

Maksim
10.11.2016
05:40:58
Я решил руками попробовать, чтобы лучше разобраться, а не сделать побыстрее.
bundle gem name уже юзал, но я это хочу сделать, когда разберусь самостоятельно для чего все файлы нужны будут.
А по поводу папки lib. Разве я явно не задаю это в gemspec, когда прописываю путь до lib/hola?

Alex
10.11.2016
05:42:20
Т.е ты сначала будешь тратить кучу времени чтобы разобраться что куда пихать, а потом уже сделаешь это через бандлер?
а почему бы не сгенерить через бандлер и посмотреть как оно сделано чтобы сэкономить время?
Смотри, каждый гем лишь добавляет в список к autoload путям свою папку lib
и дальше уже при require рубигемы по папкам lib всех гемов идут
гем создавал через bundle gem name?

Google

Alex
10.11.2016
05:43:07
Соответственно при require 'hola_gem' рубигемы пройдутся по всем папкам гемов и будут искать hola_gem.rb

Maksim
10.11.2016
05:47:00
Я уже смотрел как оно сделано через bundler. Поэтому и решил разобраться, собрав тоже самое, но уже руками

Alex
10.11.2016
05:47:23
gemspec да папка lib, что там собирать )

Maksim
10.11.2016
05:47:34
Поменял название папки в lib и сами файлы на hola_maksim, все заработало

Alex
10.11.2016
05:48:05
ну ты делаешь require hola_maksim, значит где то должен быть hola_maksim.rb
не обязательно в твоем геме кстати.

Maksim
10.11.2016
05:49:48
bundler еще много другого за собой притащил, так что сразу не было понятно, что там нужно всего gemspec и lib. Так что я не думаю, что это было плохим решением, разобраться без его участия.
Еще момент. Нужно ли результат gem build кидать в репозиторий?

Alex
10.11.2016
05:51:01

Maksim
10.11.2016
05:51:01
В .gitignore при создании через bundler я такого не нашел

Alex
10.11.2016
05:51:11
а откуда у тебя взялся gem build?
Твой вопрос скорее звучит как "как релизить гем?"?

Maksim
10.11.2016
05:51:52
Думаю да
Это одно из составляющих этого вопросов
вопроса*

Alex
10.11.2016
05:53:37
rake release при генерации бандлером. При этом он создает локальный гит таг с версией из VERSION, пушит эти теги, дальше собирает гем локально, и заливает по апи на rubygems

Alexander
10.11.2016
06:58:40

Alex
10.11.2016
06:59:04
Возможно. Я не смотрел как он работает, не в этом цель была.

Alexander
10.11.2016
07:00:07
Насколько я помню — важен список files в gemspec, если там нет файла даже из lib — он не упакуется в gem, поэтому часто делают через Dir.glob

Alex
10.11.2016
07:00:38
Бандлер по умолчанию генерит гемспек который из гита список берет.

Google

Alexander
10.11.2016
07:00:43
Вчера, кстати, нашёл баг в руби, который, как оказалось, исправили только 25 дней назад
Но это с `refine`, так что мало кого затронет

Alex
10.11.2016
07:03:57
ну, рефайны относительно свежее изобретение.

Alexander
10.11.2016
07:05:47
Когда там 2.4 по графику выйдет?

Admin
ERROR: S client not available

I
10.11.2016
07:16:56

Alexander
10.11.2016
07:18:26
О, уже третья. Но меня интересует приблизительная дата релиза, или её нет и «когда доделаем и оттестируем»?

Timur
10.11.2016
07:19:27
25-12-2016

I
10.11.2016
07:19:48
кек)
самое то между рождеством и НГ обновить прод и уйти на выходные

Alex
10.11.2016
07:20:39
bad bad bad idea

I
10.11.2016
07:21:35
надо делать ставки, я думаю, что ничего не сломается

Alex
10.11.2016
07:21:59
новый стартап
Software on the edge
делаем ставки когда сломается.
Этакий software тотализатор.

I
10.11.2016
07:23:37
ну так нечестно - может кто-нибудь из контрибуторов основных гемов поучаствовать и уронить все к херам)

Alexander
10.11.2016
07:23:58

Google

I
10.11.2016
07:24:41
хм, поставлю-ка я 2.4.0-preview3 для интереса на сегодня)

Alexander
10.11.2016
07:26:23

I
10.11.2016
07:26:34
rvm install 2.4.0-preview3
:-p

Timur
10.11.2016
07:27:13
Есть уже

Alexander
10.11.2016
07:29:02
Есть уже
да, действительно, 18 часов назад

Amir
10.11.2016
07:30:06
А что лучше rvm или rbenv

I
10.11.2016
07:30:38
это как в загадке с двумя стульями

Alexander
10.11.2016
07:30:41

Alex
10.11.2016
07:30:54

Alexander
10.11.2016
07:33:27
rvm:
— меньше команд для достижения результата (2-3)
— может быть больше проблем (но не у всех, у многих всё гладко)
rbenv:
— больше команд для установки плюс выбора (3-4)
— проблемы только если сам что-то пропустил
посмотри сам, пробуй. советую попробовать начиная с rbenv, ибо он просит отредактировать шелл-конфиг самому, а не патчит автоматически. либо rvm и надейся, что у тебя всё будет гладко, как у большинства
надеюсь, этот ответ устроил всех и никто не будет тянуть спор

Alex
10.11.2016
07:34:30
rvm - убунта
rbenv - gentoo (ну, не настолько жестко)
(арч?)

Alexander
10.11.2016
07:34:50
Просто используй chruby )

Alex
10.11.2016
07:35:06
ГОНИТЕ ЕГО, НАСМЕХАЙТЕСЬ НАД НИМ!

Alexander
10.11.2016
07:35:24
(арч?)
(для арча можно просто ruby последний, но для старых придётся, да)