|
From: <luk...@us...> - 2006-09-06 04:16:04
|
Revision: 79
http://svn.sourceforge.net/asunit/?rev=79&view=rev
Author: lukebayes
Date: 2006-09-05 21:15:58 -0700 (Tue, 05 Sep 2006)
Log Message:
-----------
got modified class to create
Modified Paths:
--------------
trunk/ruby/src/create_class.rb
trunk/ruby/src/create_class_test.rb
trunk/ruby/src/settings.rb
trunk/ruby/src/template_resolver.rb
Modified: trunk/ruby/src/create_class.rb
===================================================================
--- trunk/ruby/src/create_class.rb 2006-09-06 03:45:13 UTC (rev 78)
+++ trunk/ruby/src/create_class.rb 2006-09-06 04:15:58 UTC (rev 79)
@@ -3,13 +3,12 @@
module AsUnit
class CreateClass
- attr_accessor :settings, :classname, :template_name
+ attr_accessor :settings, :template_name
def initialize(name, settings, template)
- @classname = name
@settings = settings
@template_name = template
- @resolver = AsUnit::TemplateResolver.new @classname
+ @resolver = AsUnit::TemplateResolver.new name
end
def run
@@ -17,9 +16,39 @@
puts 'opening: ' + src
template = IO.read(src)
@resolver.template = template
-
- puts @resolver.parse
-# file = File.new(src)
+ parsed = @resolver.parse
+ file = create_file(target_file(settings.src))
+ file.write(parsed)
end
+
+ def create_file(relative)
+ segments = relative.split(File::SEPARATOR)
+ file_name = segments.pop
+ current_path = ''
+ segments.each { |dir|
+ current_path << dir << File::SEPARATOR
+ if(!File.exists? current_path)
+ Dir.mkdir(current_path)
+ end
+ }
+ current_path << file_name
+ if(File.exists?(current_path))
+ raise 'Requested File Exists at: ' + Dir.pwd + File::SEPARATOR + current_path
+ else
+ file = File.new(current_path, 'w')
+ end
+ end
+
+ def target_file(setting)
+ if(@template_name == 'Class.erb')
+ puts Dir.pwd
+ return @settings.src + File::SEPARATOR + @resolver.path + @settings.file_extension
+# return get_dir(setting) + @resolver.path + @settings.file_extension
+ end
+ end
+
+ def get_dir setting
+ return Dir.pwd + File::SEPARATOR + setting + File::SEPARATOR
+ end
end
end
\ No newline at end of file
Modified: trunk/ruby/src/create_class_test.rb
===================================================================
--- trunk/ruby/src/create_class_test.rb 2006-09-06 03:45:13 UTC (rev 78)
+++ trunk/ruby/src/create_class_test.rb 2006-09-06 04:15:58 UTC (rev 79)
@@ -6,6 +6,9 @@
class CreateClassTest < Test::Unit::TestCase
def setup
+ if(File.exists? 'src')
+ File.delete 'src'
+ end
@classname = 'somepackage.otherpackage.SomeClass'
@template_name = 'Class.erb'
@settings = AsUnit::Settings.new
@@ -25,10 +28,6 @@
assert(!@instance.nil?)
end
- def test_classname
- assert_equal(@classname, @instance.classname)
- end
-
def test_template
assert_equal(@template_name, @instance.template_name)
end
Modified: trunk/ruby/src/settings.rb
===================================================================
--- trunk/ruby/src/settings.rb 2006-09-06 03:45:13 UTC (rev 78)
+++ trunk/ruby/src/settings.rb 2006-09-06 04:15:58 UTC (rev 79)
@@ -1,13 +1,16 @@
module AsUnit
class Settings
- attr_accessor :src, :test, :templates, :directories
-
+ @@FILE_EXTENSION = '.as'
+
+ attr_accessor :src, :test, :templates, :file_extension, :directories
+
def initialize
@directories = ['src', 'test', 'templates', 'css', 'xml']
@src = 'src'
@test = 'test'
@templates = 'templates'
+ @file_extension = @@FILE_EXTENSION
end
end
end
\ No newline at end of file
Modified: trunk/ruby/src/template_resolver.rb
===================================================================
--- trunk/ruby/src/template_resolver.rb 2006-09-06 03:45:13 UTC (rev 78)
+++ trunk/ruby/src/template_resolver.rb 2006-09-06 04:15:58 UTC (rev 79)
@@ -40,6 +40,10 @@
return @package
end
+ def path
+ return fullclass.split('.').join(File::SEPARATOR)
+ end
+
def add_test_case(test_case)
@test_cases.push(test_case)
@test_cases.sort!
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|