<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -126,6 +126,21 @@ module SproutCore
       @args.first || default_base_class_name
     end
 
+    # Checks whether the proper file structure exists to generate files
+    def file_structure_exists?
+      has_path_and_filename? &amp;&amp; target_directory_exists?
+    end
+    
+    # Checks whether the target directory for a generated file exists
+    def target_directory_exists?
+      File.exists?(&quot;#{Dir.pwd}/clients/#{File.dirname(args[0])}&quot;)
+    end
+    
+    # Checks that file generation was in the format client_name/file_name
+    def has_path_and_filename?
+      !(File.dirname(args[0]) == '.')
+    end
+        
     ###################
     # Borrowed from Rails NamedBase
 </diff>
      <filename>lib/sproutcore/generator_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ class ControllerGenerator &lt; RubiGen::Base
 
   def initialize(runtime_args, runtime_options = {})
     super
-    usage if args.empty?
+    usage if args.empty? || !file_structure_exists? 
     @name = args.shift
     extract_options
     assign_names!(@name)</diff>
      <filename>sc_generators/controller/controller_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ class ModelGenerator &lt; RubiGen::Base
 
   def initialize(runtime_args, runtime_options = {})
     super
-    usage if args.empty?
+    usage if args.empty? || !file_structure_exists?
     @name = args.shift
     extract_options
     assign_names!(@name)</diff>
      <filename>sc_generators/model/model_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ class TestGenerator &lt; RubiGen::Base
 
   def initialize(runtime_args, runtime_options = {})
     super
-    usage if args.empty?
+    usage if args.empty? || !file_structure_exists? 
     @name = args.shift
     extract_options
     assign_names!(@name)</diff>
      <filename>sc_generators/test/test_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ class ViewGenerator &lt; RubiGen::Base
 
   def initialize(runtime_args, runtime_options = {})
     super
-    usage if args.empty?
+    usage if args.empty? || !file_structure_exists? 
     @name = args.shift
     extract_options
     assign_names!(@name)</diff>
      <filename>sc_generators/view/view_generator.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2175b7598d89bc67a5350d5764e946a6df39d968</id>
    </parent>
  </parents>
  <author>
    <name>Trek Glowacki</name>
    <email>trek.glowacki@gmail.com</email>
  </author>
  <url>http://github.com/sproutit/sproutcore-buildtools/commit/06deaf93482b2ea6f3acaa45cc09c6a9a4b70e02</url>
  <id>06deaf93482b2ea6f3acaa45cc09c6a9a4b70e02</id>
  <committed-date>2008-09-30T04:35:09-07:00</committed-date>
  <authored-date>2008-08-15T14:03:54-07:00</authored-date>
  <message>Print USAGE file when sc-gen is used for model, controller, test, or view and the desired file isn't in the format client_name/file_name.

E.g.
sc-gen model foo
# prints usage file

sc-gen model todos/foo
# generates file if client &quot;todos&quot; exists</message>
  <tree>7eb7e97592897fb13768ac5731defb3bebb34074</tree>
  <committer>
    <name>Erich Ocean</name>
    <email>erich@atlasocean.com</email>
  </committer>
</commit>
