Module: Pik::Implementations

Defined in:
lib/pik/implementations.rb

Defined Under Namespace

Classes: Base, IronRuby, JRuby, Ruby

Class Method Summary collapse

Class Method Details

.[](implementation) ⇒ Object



7
8
9
# File 'lib/pik/implementations.rb', line 7

def self.[](implementation)
  self.send(implementation.downcase)
end

.ironrubyObject



15
16
17
# File 'lib/pik/implementations.rb', line 15

def self.ironruby
  IronRuby.new
end

.jrubyObject



19
20
21
# File 'lib/pik/implementations.rb', line 19

def self.jruby
  JRuby.new
end

.listObject



27
28
29
30
31
# File 'lib/pik/implementations.rb', line 27

def self.list
  h = {}
  [ruby, jruby, ironruby].each{|i| h[i.subclass] = i.versions  }
  h
end

.method_missing(meth) ⇒ Object



23
24
25
# File 'lib/pik/implementations.rb', line 23

def self.method_missing(meth)
  raise "Pik isn't aware of an implementation called '#{meth}' for Windows."
end

.rubyObject



11
12
13
# File 'lib/pik/implementations.rb', line 11

def self.ruby
  Ruby.new
end