@proRuby

Страница 124 из 1594
Nikolay
11.08.2016
20:57:00
не мешает

но хочется красиво :)

ojab
11.08.2016
20:57:27
на самом деле в первый раз красиво точно не получится

Nikolay
11.08.2016
20:57:38
я ебаный перфекционист

Google
ojab
11.08.2016
20:57:47
и с оверинжинирингом вероятность того что получится некрасиво больше

Nikolay
11.08.2016
20:58:03
та какой в пень оверинжинирингш

ojab
11.08.2016
20:58:27
ничто не мешает после получения рабчего класса EppClient это всё отрефакторить, потому что будет понятно где что неудобно

Nikolay
11.08.2016
20:58:58
у меня уже раскидано по методам конект, логин/логофф, работа с доменами/контактами и т.п

но оно блин без классов

в которых я хуево разбираюст

в процессе написания этого гема с этим разобраться,

а нахерачить все говно в кучу я мог еще час назад

ojab
11.08.2016
21:00:14
и, опять же, нужен ли тебе сразу гем?

Nikolay
11.08.2016
21:00:22
да

как кусок другого проекта

ojab
11.08.2016
21:00:59
что мешает для начала закинуть класс в файл и его require'рить?

Nikolay
11.08.2016
21:01:42
еще раз. гнету классов у меня. методы одни

Google
Nikolay
11.08.2016
21:01:59
я хочу это все собрать красиво в классы

но я ооп плаваю

ojab
11.08.2016
21:02:54
ещё раз: кинь все методы в новый класс, чтобы оно работало, а потом правь места где неудобно

красиво — это когда приятная api'шка которой можно беспроблемно пользоваться

Nikolay
11.08.2016
21:03:37
блядь. еще раз говорю - у меня три разные сущности

с одинаковыми методами

и я хочу сделать нормальную апишку, чтобы блин красиво

а ты мне рекомендуешь нахерачить какой-то индусокод

ojab
11.08.2016
21:04:36
ох

Nikolay
11.08.2016
21:04:57
я блин пришел учиться и за советом

а говнокодить это кудато на битрикс с php

v
11.08.2016
21:05:50
не наговнокодишь - не научишься

Nikolay
11.08.2016
21:06:13
блядь. НЕ ХОЧУ Я ЕБУЧИЙ ГОВНОКОД

v
11.08.2016
21:06:14
Есть даже книжка про это

ПИШИ КОД, БЛЯ

ojab
11.08.2016
21:06:24
ок, делай сразу красиво

Nikolay
11.08.2016
21:06:32
блядь.

я и спрашиваю КУАК

последние 15 минут

потому что плаваю в ООП

Google
Nikolay
11.08.2016
21:07:29
и не очень понимаю что такое модуль, класс, и как это все правильно вложить

ojab
11.08.2016
21:07:39
API к ООП отношения не имеет абсолютно. Если ты распишешь какие методы и как ты хочешь вызывать — тогда будет понятно что тебе сказать.

Иван
11.08.2016
21:07:42
но вот чтобы client.DomainNew(blabla)
я если честно не понимаю что тут хочешь сделать.

ojab
11.08.2016
21:10:34
самое простое — создать класс с одинаковыми методами и от него отнаследовать твои сущности

Nikolay
11.08.2016
21:10:37
client = EPP::Client.new(host/port) client.domain_check(domainname) { self.login(login/pass) -> {open socket, read, send, read} self.check(domainname) ->{open socket, read, send, read} self.logount -> {open socket, read, send, read} }

вот уже ближе к помощи )

ojab
11.08.2016
21:11:35
модули тебе здесь нафиг не нужны

Nikolay
11.08.2016
21:11:53
а про модули я не говорил

я говорил что это гемный модуль

точне даже не говорил

ojab
11.08.2016
21:12:20
EPP::Client — класс Client модуля EPP

(ну и не стоит upcase'ом что-либо называть, если это не константа)

Nikolay
11.08.2016
21:13:59
тоесть client = Epp::Client.new... а тогда Epp::Domain это будет совсем другая херня

и значит мне таки надо делать Client.check_comain

ojab
11.08.2016
21:14:42
login/logout в API'шке тебе точно нужны? Почему не login/logout при каждом запросе?

Nikolay
11.08.2016
21:15:06
логин/логофф при каждом запросе методами

невидимо для апи

внутри метода check_domain

ojab
11.08.2016
21:15:29
ок

Nikolay
11.08.2016
21:15:40
как и поднять/положить сокет

Google
ojab
11.08.2016
21:16:04
ну то есть как-то так? https://gist.github.com/ojab/1b7a178fb8e5b28e87ae9ea7699d6841

для начала

или всё же .check_domain у EppClient'a?

(опять же, рекомендую .check_domain, если будет неудобно — потом можно отрефакторить)

Nikolay
11.08.2016
21:17:13
а как будет вызываться domain.check если взять за основу гист?

ojab
11.08.2016
21:17:34
Domain.new(login, password, whatever).check

Nikolay
11.08.2016
21:17:50
ойбля )

ojab
11.08.2016
21:18:21
соответственно можно сделать Domain.new и потом его юзать для всяких манипуляций

Nikolay
11.08.2016
21:18:42
не, лучше client.check_domain, тоесть все будет в пространстве клиента ерр

а если Epp::Client::Domain.check?

Admin
ERROR: S client not available

ojab
11.08.2016
21:19:26
а где ты логинопароль собрался указывать?

и, опять же, :: — модуль

Nikolay
11.08.2016
21:21:29
короче, как я понял мне надо сделать в классе Client require 'lib/connect.rb' где в нутри классе Client прописать мои методы коннекта , lib/login где логин/логофф и дальше мои файлы для домена/хоста/контакта

так?

тоесть текущие методы просто обернуть в class Client чтобы они собрались в один класс при компиляции, так?

ojab
11.08.2016
21:22:38
зачем их вообще на файлы разбивать?

Nikolay
11.08.2016
21:22:53
потому что блеать их ДОХУЯ

lib с текущими скриптами 18 килобайт текста

скрипт который их дергает еще несколько десятков

Google
ojab
11.08.2016
21:24:38
o_o

Nikolay
11.08.2016
21:25:17
поэтому я и спрашиваю за то, можно ли собрать методы одного класса из нескольких файлов

тоесть я в check_domain() смогу заюзать методы login из EPP::Connection ?

Иван
11.08.2016
21:28:20
зачем их вообще на файлы разбивать?
если 3 сущности с одинаковыми методами, то ведь можно засунуть эти одинаковые методы в модуль и инклюдить его в классы?

Arthur ?
11.08.2016
21:28:59
вечер добрый, такой вопрос: подглядел на стэковерфлоу, что если создать темплейт (internet_access.html.erb) в папке лэйаутс , то это станет лейаутом для всех вьюх в папке internet access но на самом деле, он стал лейаутом на всех страницах как сделать так, чтобы этот темплейт был лейаутом только для вьюх из папки internet_access? скрин прилагаю

Иван
11.08.2016
21:29:46
но сущность же одна
николай писал что 3 сущности

ojab
11.08.2016
21:30:11
николай писал что 3 сущности
но мы же уже разобрались что одна, а не три

не, лучше client.check_domain, тоесть все будет в пространстве клиента ерр

Иван
11.08.2016
21:31:01
понял, но в принципе так ведь делается?

Nikolay
11.08.2016
21:31:18
николай писал что 3 сущности
методы одни и те же. а вот свойсвта у контакта, домена и хоста отличаются

Nikolay
11.08.2016
21:32:25
но вот так заинклюдить весь набор методов по модулям это хорошее решение

ojab
11.08.2016
21:33:18
откуда у тебя столько кода получилось, непонятно

Nikolay
11.08.2016
21:33:45
распарсить ответ через нокогири и сформировать хеш

я гем допишу - выложу :)

спасибо, снов

Иван
11.08.2016
21:45:39
а по поводу переменных класса - их советуют не использовать только из-за возможности подклассов менять эту переменную?

ojab
11.08.2016
21:46:32
А у них есть какие-то реальные юзкейсы?

Иван
11.08.2016
21:46:49
просто хранить в каждом экземпляре класса одинаковую переменную это как то странно

Страница 124 из 1594