Sha256: ec5814d957c67c917f51dfaa60a79c6c8a2479ba304fc40054391e4268ffe4b6
Contents?: true
Size: 1.56 KB
Versions: 3
Compression:
Stored size: 1.56 KB
Contents
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>. # Copyright:: Copyright (c) 2004, 2005 Uttk team. All rights reserved. # License:: LGPL # $Id: /w/fey/uttk/trunk/lib/uttk/strategies/Import.rb 22102 2006-02-21T23:03:39.538964Z pouillar $ module Uttk module Strategies # 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. class Import < Proxy include Concrete 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 protected :prologue def epilogue @symtbl[:loader] = @save_loader unless @loader.nil? @symtbl[:pwd] = @old_pwd super end protected :epilogue def import= ( aPath ) @import = aPath @import = Pathname.new(aPath) unless aPath.is_a? Pathname end def loader= ( aLoader ) if aLoader.is_a? Loaders::Loader @loader = aLoader else @loader = Loaders.const_get(aLoader).new end end attribute :import, 'the file to import', :mandatory attribute :loader, 'loader to use for the imported file' end # class Import end # module Strategies end # module Uttk
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
uttk-0.3.6.1 | lib/uttk/strategies/Import.rb |
uttk-0.3.1.2 | lib/uttk/strategies/Import.rb |
uttk-0.3.5.0 | lib/uttk/strategies/Import.rb |