Class: Module
- Inherits:
-
Object
- Object
- Module
- Defined in:
- lib/inline.rb
Overview
module Inline
Instance Method Summary collapse
-
#inline(lang = :C, options = {}) {|builder| ... } ⇒ Object
Extends the Module class to have an inline method.
Instance Method Details
#inline(lang = :C, options = {}) {|builder| ... } ⇒ Object
Extends the Module class to have an inline method. The default language/builder used is C, but can be specified with the lang
parameter.
833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 |
# File 'lib/inline.rb', line 833 def inline(lang = :C, ={}) Inline.register self case when TrueClass, FalseClass then warn "WAR\NING: 2nd argument to inline is now a hash, changing to {:testing=>#{}}" unless = { :testing => } when Hash [:testing] ||= false else raise ArgumentError, "BLAH" end builder_class = begin Inline.const_get(lang) rescue NameError require "inline/#{lang}" Inline.const_get(lang) end builder = builder_class.new self yield builder unless [:testing] then unless builder.load_cache then builder.build builder.load end end end |