
Alex
07.09.2017
11:05:25
tnx

Anton
07.09.2017
11:05:47

Zamira
07.09.2017
11:06:02
У меня есть прикольная книжка по трейлблейзер. Могу отфорвардить по email

Vasiliy
07.09.2017
11:06:25
а почему в ханами для репозитория надо инстанс делать?

Google

Alex
07.09.2017
11:06:34

Anton
07.09.2017
11:06:45
?

Nikolay
07.09.2017
11:06:50

Anton
07.09.2017
11:07:03

Nikolay
07.09.2017
11:07:11
да и руби тоже

Vasiliy
07.09.2017
11:07:15
ну так нахуя?)

Alex
07.09.2017
11:07:28

Vasiliy
07.09.2017
11:07:39
чем плох то класс метод?

Dmitriy
07.09.2017
11:07:54

Nikolay
07.09.2017
11:07:59

Anton
07.09.2017
11:08:04

Vasiliy
07.09.2017
11:08:28

Google

Anton
07.09.2017
11:08:29
советую загуглить
там будет много постов на эту тему
но в целом, класс методы превращают ооп в процедурное программирование и добавляют какой-то глобал стейт
что усложняет понимание и поддержку кода

Nikolay
07.09.2017
11:09:10

Alex
07.09.2017
11:09:15

Nikolay
07.09.2017
11:09:15
бло, опередели(

Vasiliy
07.09.2017
11:09:43
ну т.е. мы создадим инстанс чтобы юзать не через класс методы, а через инстанс?

Anton
07.09.2017
11:09:44

Nikolay
07.09.2017
11:10:07
из головы вылетело название

Vasiliy
07.09.2017
11:10:30
эликсир?

Anton
07.09.2017
11:10:31

Nikolay
07.09.2017
11:10:47
mruby

Anton
07.09.2017
11:11:08
ну, он не для этого

Vasiliy
07.09.2017
11:11:24

Nikolay
07.09.2017
11:11:40
я кроме названия ничего не знаю, да и то забыл))

Anton
07.09.2017
11:13:23
App['repositories.book'].create(title: 'hanami')

Google

Anton
07.09.2017
11:15:20

Vasiliy
07.09.2017
11:16:25
ну хуй знает, по мне класс методы были б очень ок(и ну и лан что не ооп)

Anton
07.09.2017
11:17:40
сейчас пр найду даже

Vasiliy
07.09.2017
11:18:14
ты ж все равно с репо общаешься, нахуя эта промежуточная переменная

Anton
07.09.2017
11:18:45
https://github.com/hanami/model/issues/290
We are forced to assign a class level adapter (BookRepository.adapter = adapter) before the application starts. We should reduce as much as possible global state.
Class methods resist refactoring
Dependency injection should work with instances. Having repositories as instances helps to use DI in projects.

Ivan
07.09.2017
11:19:33
@davydovanton мне кажется твоя удаленная работа - это в ТГ чатик постоянно писать))

Anton
07.09.2017
11:19:40
там ссылки посмотри

Dima
07.09.2017
11:19:49
А вот кто знает откуда sublime3 берет настройки для rubucop? что что у меня затык знаете ли. Вот в терминале пишу
rubocop
и он берет настройки из .rubocop.yml , а в редакторе эти настройки не натягиваются.

Anton
07.09.2017
11:19:52

Ivan
07.09.2017
11:20:01

Fedor
07.09.2017
11:20:15

Mariya
07.09.2017
11:20:17
Доброго дня!:) Меня зовут Мария, я из университета интернет-профессий Нетология. Сейчас у нас активно развивается факультет Программирование и мы планируем запуск курса по Ruby.
Мы приглашаем для работы над этим курсом автора, который в сотрудничестве с нами будет разрабатывать учебную программу (концепция, структуру, план). А также методистов, которые будут прорабатывать материалы к отдельным лекциям. В материалы к занятию входит: конспект для преподавателя, презентация, небольшой теоретический тест (5-7 вопросов), формулировка домашнего задания.
Было бы кому-то интересно присоединиться к команде наших экспертов?:)

Ivan
07.09.2017
11:20:30

Mariya
07.09.2017
11:21:51

Fedor
07.09.2017
11:22:24

Google

Fedor
07.09.2017
11:22:35
там вроде уже курс даже есть какой-то
от автора

Mariya
07.09.2017
11:23:02

Vasiliy
07.09.2017
11:24:44
ну можно сделать класс методы через магию
def method_missing(method_name, *args)
inst = new()
send(inst, method_name)
end
(это схематично)

Nikita
07.09.2017
11:34:51

Vasiliy
07.09.2017
11:36:05
почему?

Admin
ERROR: S client not available

Vasiliy
07.09.2017
11:36:38
почему создавать инстанс только для того чтобы вызвать то что можно вызвать через класс метод прекрасно?

Nikita
07.09.2017
11:37:26
хочешь глобальных объектов, напиши $user_repo = UserRepo.new
и живи потом в этом проклятом мире

Vasiliy
07.09.2017
11:38:38
не, ну так говно ж
ну просто там экземпляр ради экземпляра

Nikita
07.09.2017
11:39:01
это на сто процентов одно и то же

Vasiliy
07.09.2017
11:39:30
эм... ну нет

Nikita
07.09.2017
11:39:34
тебе не придется переписывать весь код
пойми простую идею, тебе откуда-то нужно взять соединение к базе данных

Google

Vasiliy
07.09.2017
11:40:36
так можно ж этот адаптер через DI кидать и в случае необходимости менять его(если так можно конечно, гг)

Nikita
07.09.2017
11:40:45
наличие методов класса отменяет даже теоретическое отсуствие глобального состояния

Anton
07.09.2017
11:40:55

Nikita
07.09.2017
11:41:04
класс — это константа, глобальный объект

Vasiliy
07.09.2017
11:41:14
ну я в скобках пояснил)

Nikita
07.09.2017
11:42:10

Vasiliy
07.09.2017
11:42:49
ну что-то типа такого
def call_class_metod(*args, adapter: DI['adapter'])
я понимаю
как-то так

Nikita
07.09.2017
11:43:26

Vasiliy
07.09.2017
11:43:48
я чуть поправил, ну и ты ж не часто адаптеры меняешь

Nikita
07.09.2017
11:43:50
DI тут не сработает, потому что он обычно на уровне конструктора отрабатывает

Anton
07.09.2017
11:43:57

Nikita
07.09.2017
11:44:05

Vasiliy
07.09.2017
11:44:17
не

Nikita
07.09.2017
11:44:26
?

Vasiliy
07.09.2017
11:44:42
пацаны, я же не против инстанса, когда он в тему

Nikolay
07.09.2017
11:44:48

Vasiliy
07.09.2017
11:45:01