Module: Wrnap::Package

Defined in:
lib/wrnap.rb,
lib/wrnap/package/base.rb,
lib/wrnap/package/eval.rb,
lib/wrnap/package/fold.rb,
lib/wrnap/package/heat.rb,
lib/wrnap/package/mfpt.rb,
lib/wrnap/package/plot.rb,
lib/wrnap/package/xbor.rb,
lib/wrnap/package/varna.rb,
lib/wrnap/package/fft_eq.rb,
lib/wrnap/package/fftbor.rb,
lib/wrnap/package/rnabor.rb,
lib/wrnap/package/subopt.rb,
lib/wrnap/package/fft_mfpt.rb,
lib/wrnap/package/fftbor2d.rb,
lib/wrnap/package/spectral.rb,
lib/wrnap/package/kinwalker.rb,
lib/wrnap/package/rna2dfold.rb,
lib/wrnap/package/tabu_path.rb,
lib/wrnap/package/ffthairpin.rb,
lib/wrnap/package/fft_eq_base.rb,
lib/wrnap/package/fftmultiloop.rb,
lib/wrnap/package/energy_grid_2d.rb,
lib/wrnap/package/fft_population.rb,
lib/wrnap/package/fold_constrained.rb

Defined Under Namespace

Classes: Base, EnergyGrid2d, Eval, FftEq, FftEqBase, FftMfpt, FftPopulation, Fftbor, Fftbor2d, Ffthairpin, Fftmultiloop, Fold, FoldConstrained, Heat, Kinwalker, Mfpt, Plot, Rna2dfold, Rnabor, Spectral, Subopt, TabuPath, Varna, Xbor

Class Method Summary collapse

Class Method Details

.const_missing(name) ⇒ Object



42
43
44
45
46
47
48
49
50
# File 'lib/wrnap.rb', line 42

def self.const_missing(name)
  if const_defined?(name)
    const_get(name)
  elsif Base.exec_exists?(name)
    module_eval do
      const_set(name, Class.new(Base))
    end
  end
end

.lookup(package_name) ⇒ Object



3
4
5
# File 'lib/wrnap/package/base.rb', line 3

def self.lookup(package_name)
  const_missing("#{package_name}".camelize) || raise(ArgumentError.new("#{package_name} can't be resolved as an executable"))
end