Як і багато інших розробників Ruby, я хотів навчитися метапрограмування, щоб зробити стрибок від Ruby-новачка до Ruby-професіонала. Але, наближаючись до цієї теми, я відчував себе трохи лякаюче. намагався, всі доступні матеріали ставилися до ще більш складних і менш відомих концепцій, таких як: синглтон класи, об’єктна модель ruby, класи, що є об’єктами себе і т.д.
Отже, я провів кілька місяців, читаючи про всі ці концепції і синтезуючи весь доступний матеріал. Отже, я вирішив зробити цей курс. Я сподіваюся, що це заощадить ваш час і ви знайдете його корисним.
Цей відеокурс навчить вас метапрограмування в Ruby, представляючи невеликі, прості і маловідомі ідеї Ruby в кожному відео.
Наприкінці курсу ви:
Станете найкращим розробником Ruby, який може писати елегантний код, використовуючи можливості метапрограмування.
Зробите свій тестовий код коротшим, написавши тест, який динамічно генерує код, який охоплює всі тестові випадки.
Навчіться розуміти та пояснювати магію коду/синтаксису у всіх популярних випадках.
Краще вивчіть мову Ruby.
І, звичайно ж, напишіть свої власні DSL для свого бізнес-домену (так само, як rspec, rake і т. д.).
Метапрограмування є настільки невід’ємною частиною мови Ruby, що для її вивчення необхідно розуміти особливості цієї мови. Ruby Після цього розділу ви зрозумієте, чому якийсь метод або змінна недоступні в одній області видимості і доступні в іншій, або як змінюється область дії у вашому коді, та багато іншого.
У другому розділі курсу ми розглянемо всі методи SDK, задіяні в метапрограмуванні. Принагідно ми розглянемо кілька прикладів, які демістифікують магію найпопулярнішого коду.
В останньому розділі курсу ми застосуємо все, що дізналися, на практиці та створимо власну rspec, предметно-орієнтовану мову та деякі з найпопулярніших магічних методів Rails.