Module: Kajian::FungsiBantu
Instance Method Summary collapse
-
#adapter_ke_simbol(kelas_adapter) ⇒ Object
Konversi dari kelas adapter ke simbol.
-
#simbol_ke_adapter(simbol) ⇒ Object
Konversi dari simbol ke kelas adapter.
Instance Method Details
#adapter_ke_simbol(kelas_adapter) ⇒ Object
Konversi dari kelas adapter ke simbol. Misal:
Kajian::Adapter::JadwalKajian ke :jadwal_kajian
6 7 8 9 10 11 12 13 14 |
# File 'lib/kajian/fungsi_bantu.rb', line 6 def adapter_ke_simbol(kelas_adapter) kelas_adapter.name .sub(/(\w+::)+/, '') .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr("-", "_") .downcase .to_sym end |
#simbol_ke_adapter(simbol) ⇒ Object
Konversi dari simbol ke kelas adapter. Misal:
:jadwal_kajian ke Kajian::Adapter::JadwalKajian
19 20 21 22 23 24 |
# File 'lib/kajian/fungsi_bantu.rb', line 19 def simbol_ke_adapter(simbol) nama_adapter = simbol.to_s .sub(/^[a-z\d]*/) { |match| match.capitalize } .gsub!(/(?:_)([a-z\d]*)/i) {"#{$1.capitalize}"} Kernel.const_get("Kajian::Adapter::#{nama_adapter}") end |