Wpis z mikrobloga

#pytanie na temat #programowanie w języku #ruby

Uczę się od teraz Rubego (na nowo, ale nic i tak wcześniej nie potrafiłem, więc tak jakbym od zera się uczył, w dodatku pewnie porywam się z motyką na Słońce, ale co mi tam), nawet spoko język, ale chciałbym się dowiedzieć jednej rzeczy, mianowicie:

Czy jest możliwe załadowanie modułów/include/jak to się tam zwie prosto z pliku .json?


W sensie - mam plik bota z taką zawartością:

require "cgi"
require 'json'
BOT_FILENAME = open("require_test.json")
BOT_PARSE = JSON.parse(BOT_FILENAME.read)
oraz plik .json z taką zawartością:

{
"include": {
"require": "cinch",
"require": "nokogiri",
"require": "open-uri"
}
}
i chciałbym jakoś magicznie zrobić, ażeby wszystkie te "require coś" były wczytywane z pliku .json dynamicznie. Jest to możliwe? Jeśli tak - w jaki sposób?
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Linux__Shines:

Jest to możliwe. Wczytujesz tego jsona, iterujesz po kluczach i require na ten klucz. Żadna większa filozofia - traktowane jak każdy inny string.

Ale oczywiście require 'json' musisz zrobić wcześniej. :)

No i wywal to 'require' z jsona. To robisz w kodzie. Parsujesz, dostajesz na końcy jakiś array ['cinch', '..'] i robisz ['cinch', '..'].each{|f| require f }
  • Odpowiedz