diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
commit | 9ff1e787f915539b1980654e3d3d2013ff5c81d2 (patch) | |
tree | 8d0fc9ca5b4dbfa9885dc56862292d55091bcaac /ruby_1_8_6/lib/wsdl/xmlSchema/xsd2ruby.rb | |
parent | 441546edcfbb1b346c87b69c5f578d1a0e522e06 (diff) |
wrong commit; sorryv1_8_6_269
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/lib/wsdl/xmlSchema/xsd2ruby.rb')
-rw-r--r-- | ruby_1_8_6/lib/wsdl/xmlSchema/xsd2ruby.rb | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/ruby_1_8_6/lib/wsdl/xmlSchema/xsd2ruby.rb b/ruby_1_8_6/lib/wsdl/xmlSchema/xsd2ruby.rb deleted file mode 100644 index afe5fc5ada..0000000000 --- a/ruby_1_8_6/lib/wsdl/xmlSchema/xsd2ruby.rb +++ /dev/null @@ -1,107 +0,0 @@ -# XSD4R - XSD to ruby mapping library. -# Copyright (C) 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>. - -# This program is copyrighted free software by NAKAMURA, Hiroshi. You can -# redistribute it and/or modify it under the same terms of Ruby's license; -# either the dual license version in 2003, or any later version. - - -require 'xsd/codegen/gensupport' -require 'wsdl/xmlSchema/importer' -require 'wsdl/soap/classDefCreator' - - -module WSDL -module XMLSchema - - -class XSD2Ruby - attr_accessor :location - attr_reader :opt - attr_accessor :logger - attr_accessor :basedir - - def run - unless @location - raise RuntimeError, "XML Schema location not given" - end - @xsd = import(@location) - @name = create_classname(@xsd) - create_file - end - -private - - def initialize - @location = nil - @opt = {} - @logger = Logger.new(STDERR) - @basedir = nil - @xsd = nil - @name = nil - end - - def create_file - create_classdef - end - - def create_classdef - @logger.info { "Creating class definition." } - @classdef_filename = @name + '.rb' - check_file(@classdef_filename) or return - write_file(@classdef_filename) do |f| - f << WSDL::SOAP::ClassDefCreator.new(@xsd).dump - end - end - - def write_file(filename) - if @basedir - filename = File.join(basedir, filename) - end - File.open(filename, "w") do |f| - yield f - end - end - - def check_file(filename) - if @basedir - filename = File.join(basedir, filename) - end - if FileTest.exist?(filename) - if @opt.key?('force') - @logger.warn { - "File '#{filename}' exists but overrides it." - } - true - else - @logger.warn { - "File '#{filename}' exists. #{$0} did not override it." - } - false - end - else - @logger.info { "Creates file '#{filename}'." } - true - end - end - - def create_classname(xsd) - name = nil - if xsd.targetnamespace - name = xsd.targetnamespace.scan(/[a-zA-Z0-9]+$/)[0] - end - if name.nil? - 'default' - else - XSD::CodeGen::GenSupport.safevarname(name) - end - end - - def import(location) - WSDL::XMLSchema::Importer.import(location) - end -end - - -end -end |