Size: a a a

2020 January 11

VK

Vadim Kuzmin in pro.ruby
Andrey Andreev
Не разу не видел использования протектед
Я понимаю что его редко кто использует. Это вопрос с собеседования просто. Нужно сказать различия. Поэтому  я так заморочился.
источник

AI

Alex Ilizarov in pro.ruby
Vadim Kuzmin
хмм
может быть я неправильно вас понял,но в Ruby и private и protected методы любые наследники могут использовать

ruby
class A
 private
 def private
   'I am private of A'
 end

 protected
 def protected
   'I am protected of A'
 end
end


ruby
class B < A
 def call_private_of_A
   private
 end

 def call_protected_of_A
   protected
 end
end

> b = B.new => #<B:0x00cdcaa8>
> b.call_private_of_A => "I am private of A"
> b.call_protected_of_A => "I am protected of A"
https://stackoverflow.com/a/4293330/656669
Как то через жопу короче сделали.

class Foo
   private

   def hidden_method
       "hidden output"
   end
end

class Bar < Foo
   def test_hidden_method
       self.hidden_method
   end
end

Bar.new.test_hidden_method
источник

AI

Alex Ilizarov in pro.ruby
The definition of private in Ruby is "can only be called without an explicit receiver"


Как то так крч
источник
2020 January 12

YD

Yurii Dubinka in pro.ruby
Alex Ilizarov
The definition of private in Ruby is "can only be called without an explicit receiver"


Как то так крч
Добрый день.
А как вырубить такую фичу языка? Что бы никто не мог приватные методы вызывать(кроме собственно методов этого класса) или можно через rubocop?
источник

VK

Vasya Kuzmik in pro.ruby
Yurii Dubinka
Добрый день.
А как вырубить такую фичу языка? Что бы никто не мог приватные методы вызывать(кроме собственно методов этого класса) или можно через rubocop?
Сделать его компилируемым
источник

YD

Yurii Dubinka in pro.ruby
Расшифруйте пожалуйста
источник

VK

Vasya Kuzmik in pro.ruby
Yurii Dubinka
Расшифруйте пожалуйста
Таким болеют все интерпретируемые языки
источник

YD

Yurii Dubinka in pro.ruby
А, прочитав Ваш комментарий подумал что для руби есть что-то что компилирует исходники)
источник

YD

Yurii Dubinka in pro.ruby
Вот и удивился
источник

VK

Vasya Kuzmik in pro.ruby
Yurii Dubinka
А, прочитав Ваш комментарий подумал что для руби есть что-то что компилирует исходники)
Ну, что-то есть, насколько, я знаю, и есть та же jit  компиляция, но не советую прям полностью компилировать руби. Иначе смысл тогда вообще руби брать?
источник

AI

Alex Ilizarov in pro.ruby
Vasya Kuzmik
Таким болеют все интерпретируемые языки
В пхп приватные методы - приватные, не надо
источник
2020 January 13

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
как живетес?
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
так раньше переопределялся класс и в нем метод
Discourse::Utils.class_eval do 

self.execute_command
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
Aliaksandr ¯\_(ツ)_/¯
так раньше переопределялся класс и в нем метод
Discourse::Utils.class_eval do 

self.execute_command
теперь этот код вынесли в новый приватный класс и приватный метод
как теперь переопределить?
https://github.com/discourse/discourse/blob/3b7f5db5ba9d4db23593fe116499f9583fed271f/lib/discourse.rb#L62-L73
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
Aliaksandr ¯\_(ツ)_/¯
теперь этот код вынесли в новый приватный класс и приватный метод
как теперь переопределить?
https://github.com/discourse/discourse/blob/3b7f5db5ba9d4db23593fe116499f9583fed271f/lib/discourse.rb#L62-L73
щас кароче попробую сам
типо так

module ForumUtils

   class Utils

       private
   
       class CommandRunner

         private
   
         def execute_command(*command, failure_message: "", success_status_codes: [0], chdir: ".")
         //my code
         end
       end
     end

def
источник

VK

Vasya Kuzmik in pro.ruby
Aliaksandr ¯\_(ツ)_/¯
теперь этот код вынесли в новый приватный класс и приватный метод
как теперь переопределить?
https://github.com/discourse/discourse/blob/3b7f5db5ba9d4db23593fe116499f9583fed271f/lib/discourse.rb#L62-L73
Ты обещал выучить руби. Помнишь?
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
Vasya Kuzmik
Ты обещал выучить руби. Помнишь?
я учил эти дни и руби и рельсы
рельсы вообще вылетая лара
одинаковые флеш методы, паршены

как то я не сталкнулся в изучении с системой плагинов и переопределении ядра

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

VK

Vasya Kuzmik in pro.ruby
Aliaksandr ¯\_(ツ)_/¯
я учил эти дни и руби и рельсы
рельсы вообще вылетая лара
одинаковые флеш методы, паршены

как то я не сталкнулся в изучении с системой плагинов и переопределении ядра

я просто пишешь роут, для него контролер и модель и рабоатешь выводишь что тебе нужно
Ну, видимо, что-то не то учил, раз не дошел до неймспейсов
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
Vasya Kuzmik
Ну, видимо, что-то не то учил, раз не дошел до неймспейсов
вот вот
источник

Aliaksandr ¯\_(ツ)_/¯ in pro.ruby
роуты были, валидация, аплодер, флеш, формы.. неймспейсов не былоо
источник