Sha256: b827a3db8c9c1285205a8724b0784c6b776c14ceec3667c60d1263bd6d18dee2
Contents?: true
Size: 1.58 KB
Versions: 3
Compression:
Stored size: 1.58 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 53986 2007-01-14T15:03:21.549822Z ertai $ 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 if defined? @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.4.6.1 | lib/uttk/strategies/Import.rb |
uttk-0.4.5.0 | lib/uttk/strategies/Import.rb |
uttk-0.4.6.2 | lib/uttk/strategies/Import.rb |