
Alexander
09.10.2016
21:51:26

Alex
09.10.2016
21:51:34
я как раз про гемы говорил ))

Google

Alex
09.10.2016
21:51:59
(да, я ленивая сволочь мне лень гуглить :( )

Alexander
09.10.2016
21:52:06
shards != gem
~
другое именование, как в elixir mix или что там. сами гемы не работают, ofc

Alex
09.10.2016
21:52:14
Опять ты не понял
на расте например гемы пишут. На C тоже гемы пишут.

Alexander
09.10.2016
21:52:30
а

Alex
09.10.2016
21:52:34
На кристале есть гемы? _для рубей_
посмотреть как реализовали хочу.

Alexander
09.10.2016
21:53:04
понял, да. вроде нет, не видел. был проект пару лет назад, Matz ретвитил ещё, но чёт он притух
у меня не запустилось, может плохо разобрался, но кажется дело в отсутствии поддержки

Alex
09.10.2016
21:53:46
т.е я не могу crystal юзать как FFI?

Alexander
09.10.2016
21:54:09
https://github.com/phoffer/crystalized_ruby
вот тут ещё чёт живо. короч, можно поискать

Alex
09.10.2016
21:54:40
печалька.

Alexander
09.10.2016
21:55:33
печалька.
в crystal до сих пор бывают breaking changes. тип «допишите в свои сорцы типов плиз». думаю, это влияет

Google

Alex
09.10.2016
21:55:53
вот про production grade я и говорил (

Alexander
09.10.2016
21:56:37
https://gist.github.com/notozeki/7159a9d9ab9707a22129
вот тут для меня вообще что-то странное
вот от создателей crystal
https://github.com/manastech/crystal_ruby
(тот же самый принцип)

Alex
09.10.2016
21:57:18

Alexander
09.10.2016
21:57:43
почему?
ну я не очень люблю лезть в Си и биндинги( наболело уже с универа

Alex
09.10.2016
21:57:52
я вообще C сложно перевариваю.
Обычно на нем хреново пишут и код выглядит лапшой

Alexander
09.10.2016
21:58:01
т.е. я могу понять и разобраться, но не хочу даже

Alex
09.10.2016
21:58:15
это как php, большинство пишут так коряво что это бросает тень на язык в целом.

Alexander
09.10.2016
21:59:00

Alex
09.10.2016
21:59:44
дизайнило комьюнити, оно же и огребает. Очень нехватает концепции "все = объект"
после рубей питона и яваскрипта
и получаются функция в функции функцией управляет
бесит.

Alexander
09.10.2016
22:01:29
вообще мало где кроме рубей видел «всё = объект», часто есть какие-нибудь атомарные типы, тип числел и булеана, которые ещё очень часто сука с маленького регистра пишутся, но какие-то сложные, тип String, а тем более уж свои, ты должен начинать с верхнего регистра. после руби у меня даже от такого припекает

Alex
09.10.2016
22:02:49
ну некоторым совсем уж базовым типам позволительно
но главное цифры объект и строки объект. Для меня это сильно важно например
про массивы вообще молчу

Alexander
09.10.2016
22:03:37
любая всеобщая стандартизация лучше, чем смесь. это как «используй хоть пробелы, хоть табы, но не смешивай». я не люблю функции, но понимаю, что люди, которым они нравятся, очень кайфуют от лиспа там или хаскеля или что ещё есть такое, как я от руби

Google

Alex
09.10.2016
22:04:50
вообще. да.

Alexander
09.10.2016
22:06:58
вообще. да.
вот. и когда я вижу «Char, String, Bool, Int32, Int64, Array MyType» — мне норм. когда вижу «char, string, bool, int32, int64, array», но «MyType» — смущаюсь и задумываюсь. когда вижу «char, String, bool, int32, int64, Array, MyType» — вот тут начинает печь.

Alex
09.10.2016
22:07:12
ахах.
возможно, да.

Alexander
09.10.2016
22:09:01
руби меня сильно изменил в этом плане. я и так очень критичный ко всему (в оффлайне в том числе), а тут ещё показали, как можно делать _красиво_ (субъективно, конечно же)
теперь у меня печёт от разного регистра типов, сложно читать camelCase (сложно underscore поставить?! экономия байтов?!) и непонимаю разные вещи тип func() (скобочки) и $myVar (доллар)
с camelCase тоже весело: печёт, когда вижу, например, рядом две функции: payCommission и isCommissionPayed, то есть когда одно и то же слово пишется разными регистрами, в зависимости от его местоположения в названии. _особенно_ весело с типами: int и isInt

Alex
09.10.2016
22:40:46
> руби меня сильно изменил в этом плане
аналогично ( я стал слишком привиредлив
у гитхаба проекты появились

I
10.10.2016
06:27:21

Alexander
10.10.2016
07:28:44

Anon
10.10.2016
13:12:46
Посоны, я тут опять обосрался. Ситуация такая: а где-то потерял одну миграцию, неуверен как. Т.е. в одной из таблиц базы есть колонка, которая не описана ни в схеме, ни в миграциях. Как мне исправить ситуацию не теряя данные из таблицы? (они нужные)

ojab
10.10.2016
13:14:57
добавить миграцию, которая добавляет колонку, и запретить для неё down

Anon
10.10.2016
13:15:14
если ручками создать файл миграции заново и схему подредактировать то при db:migrate жалуется мол колонка уже есть. Я честно сказать после такого плохо понимаю суть миграций, как оно определяет какие миграции уже накатило а какую нет

ojab
10.10.2016
13:15:54
по таблице schema_migrations
там текущая версия

I
10.10.2016
13:16:07
а зачем создавать заново миграцию, которую промигрировали?
нужно бы ее сперва откатить
а потом уже что хотите с ней делайте

Anon
10.10.2016
13:16:52
а как откатить несуществующую в виде файла миграцию?

Tim
10.10.2016
13:17:22
Всем привет. У кого есть опыт с единой аутентификацией ? Есть рельсы (основное приложение с api) + несколько отдельных приложений на ноде. Нужно чтобы пользователь мог зайти на основное приложение и пройти там аутентификацию, а потом пользовался остальными частями приложений на ноде.

Google

Tim
10.10.2016
13:17:58
Хочется понять как это правильно делать

Anon
10.10.2016
13:18:12
Не виже schema_migrations в проекте. Есть просто schema.rb

ojab
10.10.2016
13:18:40
schema_migrations — таблица в базе
в schema.rb записан текущий номер
в таблице schema_migrations — номер в базе

Anon
10.10.2016
13:35:23
Окей, с этим вроде разобрался, другой вопрос. В модели before_update устанавливаю булевый аттрибут модели так:
self.phone_confirmed = false
и всё ломается с 500 ошибкой (копался, не смог понять в чем дело, не может найти user_path при апдейте), методом тыка поробовал
self.phone_confirmed = 0
и всё стало работать как надо. Это какое-то правило работы с булевыми моделей или что-то другое?

ojab
10.10.2016
13:36:52
А в базе колонка какая?

Sergey
10.10.2016
13:37:39
привет? а кто знает хорошие курсы\видео по работе с api, лучше всего платежных систем?

Anon
10.10.2016
13:39:05
булевая

I
10.10.2016
13:41:16
а зачем в before_update?

Admin
ERROR: S client not available

Adamtsov
10.10.2016
13:41:38
@Anon063
попробуй
def foo
self.phone_confirmed = false
true
end

Anon
10.10.2016
13:42:12
думаешь суть в том, что метод фолс возвращает?

Adamtsov
10.10.2016
13:42:31
ага
только там помойму не ошибка у меня была, а он не сохранял это значение

I
10.10.2016
13:42:59

Anon
10.10.2016
13:43:12
??? спасибо
работает

I
10.10.2016
13:43:23
если колбек возвращает false - то дальше не идет воркфлоу

Anon
10.10.2016
13:43:39
Что бы я без вас делал

Google

I
10.10.2016
13:43:53
советую миграции не пересоздавать
и да, а почему бы не выставить default в миграции у поля

Anon
10.10.2016
13:45:37
ставил, тут смысл в другом: юзер подтверждает телефон через смс, подтверждение сбрасывается если номер меняется
А вот насчет миграций я пока отодвинул этот вопрос, что вообще посоветуешь? Что у меня в итоге: эта колонка записана в схема.рб, но миграции к ней нет. Дропать таблицу мне не вариант. Насколько плохо, что миграции у меня нет в условиях работы в команде? А то не хочу тимлида огорчать, лол

ojab
10.10.2016
13:48:06
если db:migrate создаёт schema.rb, отличающийся от того что по факту в базе — это хреново

Anon
10.10.2016
13:49:18
вот и я так думаю, можно ли как-то ручками подредактировать что-то, чтоб он думал, что вот сейчас созданная мною миграция - это та самая, которая создала в схеме эту колонку?

Adamtsov
10.10.2016
13:49:25
можешь создать эту миграцию и добавить if column_exists?(:column_name)

I
10.10.2016
13:49:30
можно сделать миграцию для этой колонки с условием
да-да
но вообще это моветон

Adamtsov
10.10.2016
13:49:46
точнее unless column_exists?(:column_name)

Anon
10.10.2016
13:49:59
Не хочется кашу в миграциях тоже создавать мол вот тут удалил колонку которой не было, вот тут её снова создал
А эти варианты кажутся костылями

Adamtsov
10.10.2016
13:50:32
тогда сразу нормально надо было делать )

Anon
10.10.2016
13:50:55
Так я создавал миграцию, видать гуляя по веткам она куда-то потерялась (

Adamtsov
10.10.2016
13:51:29
а на проде тоже есть эта калонка ?

Anon
10.10.2016
13:52:04
нет, но на этой ветке она была нн-ое колво коммитов назад

ojab
10.10.2016
13:52:35
git reflog и ищи коммит

Adamtsov
10.10.2016
13:52:36
если попробывать дропнуть твою дб, создать эту миграцию и накатить

Anon
10.10.2016
13:53:23
дропнуть дб нельзя, там данные

ojab
10.10.2016
13:53:25
ну и бери из коммита

Anon
10.10.2016
13:54:35
@ojab имеешь в виду найти коммит в котором еще была эта миграция? С этим и проблема, нету коммита с миграцией, я просто знаю что вот в таком коммите она должна уже была быть

ojab
10.10.2016
13:54:37
тебе по сути нужно сделать новую миграцию, которая будет на том месте (по id) где должна быть пропавшая