summaryrefslogtreecommitdiffstats
path: root/lib/wsdl/xmlSchema/xsd2ruby.rb
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-24 08:14:57 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-24 08:14:57 +0000
commit0eb20dc9b41da71b51540f75cfe955ed71420915 (patch)
tree6c16302232c2b655cfd5ea406a9ac202814a8b35 /lib/wsdl/xmlSchema/xsd2ruby.rb
parentf54f1ce821930931cf490d6c7ac8f3f12baec3a1 (diff)
downloadruby-0eb20dc9b41da71b51540f75cfe955ed71420915.tar.gz
ruby-0eb20dc9b41da71b51540f75cfe955ed71420915.tar.xz
ruby-0eb20dc9b41da71b51540f75cfe955ed71420915.zip
Mon Dec 24 17:06:37 2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* {lib,test}/{soap,wsdl,xsd}: removed soap4r along to the discussion at ruby-core and ruby-dev. see [ruby-core:12535], [ruby-dev:31969]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/wsdl/xmlSchema/xsd2ruby.rb')
-rw-r--r--lib/wsdl/xmlSchema/xsd2ruby.rb107
1 files changed, 0 insertions, 107 deletions
diff --git a/lib/wsdl/xmlSchema/xsd2ruby.rb b/lib/wsdl/xmlSchema/xsd2ruby.rb
deleted file mode 100644
index afe5fc5ad..000000000
--- a/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