Class Uttk::Strategies::Import
In: lib/uttk/strategies/Import.rb
Parent: Proxy

I can import a strategy from on another file. Just tell me which file using my import attribute and which loader to use using my loader attribute.

Methods

epilogue   import=   loader=   prologue  

Included Modules

Concrete

Public Instance methods

[Source]

# File lib/uttk/strategies/Import.rb, line 40
      def import= ( aPath )
        @import = aPath
        @import = Pathname.new(aPath) unless aPath.is_a? Pathname
      end

[Source]

# File lib/uttk/strategies/Import.rb, line 45
      def loader= ( aLoader )
        if aLoader.is_a? Loaders::Loader
          @loader = aLoader
        else
          @loader = Loaders.const_get(aLoader).new
        end
      end

Protected Instance methods

[Source]

# File lib/uttk/strategies/Import.rb, line 33
      def epilogue
        @symtbl[:loader] = @save_loader unless @loader.nil?
        @symtbl[:pwd] = @old_pwd if defined? @old_pwd
        super
      end

[Source]

# File lib/uttk/strategies/Import.rb, line 17
      def prologue
        super
        unless @import.exist?
          raise ArgumentError, "the import file must exits (#@import)"
        end
        unless @loader.nil?
          @save_loader = @symtbl[:loader]
          @symtbl[:loader] = @loader
        end
        @old_pwd = @symtbl[:pwd]
        create(@import) do |t|
          t.symtbl[:loader] = @symtbl[:loader]
        end
      end

[Validate]