appjam 0.1.0.pre11 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/README.rdoc +22 -2
  2. data/lib/appjam/generators/cli.rb +7 -0
  3. data/lib/appjam/generators/model.rb +66 -10
  4. data/lib/appjam/generators/project.rb +57 -7
  5. data/lib/appjam/generators/project/Classes/ContactsAppDelegate.h.tt +5 -5
  6. data/lib/appjam/generators/project/Classes/ContactsAppDelegate.m.tt +14 -14
  7. data/lib/appjam/generators/project/Classes/contacts/ApplicationFacade.h.tt +11 -11
  8. data/lib/appjam/generators/project/Classes/contacts/ApplicationFacade.m.tt +8 -8
  9. data/lib/appjam/generators/project/Classes/contacts/controller/CreateUserCommand.h.tt +4 -4
  10. data/lib/appjam/generators/project/Classes/contacts/controller/CreateUserCommand.m.tt +13 -13
  11. data/lib/appjam/generators/project/Classes/contacts/controller/DeleteUserCommand.h.tt +4 -4
  12. data/lib/appjam/generators/project/Classes/contacts/controller/DeleteUserCommand.m.tt +10 -10
  13. data/lib/appjam/generators/project/Classes/contacts/controller/GetUsersCommand.h.tt +4 -5
  14. data/lib/appjam/generators/project/Classes/contacts/controller/GetUsersCommand.m.tt +8 -9
  15. data/lib/appjam/generators/project/Classes/contacts/controller/StartupCommand.h.tt +2 -2
  16. data/lib/appjam/generators/project/Classes/contacts/controller/StartupCommand.m.tt +12 -12
  17. data/lib/appjam/generators/project/Classes/contacts/controller/UpdateUserCommand.h.tt +4 -4
  18. data/lib/appjam/generators/project/Classes/contacts/controller/UpdateUserCommand.m.tt +13 -13
  19. data/lib/appjam/generators/project/Classes/contacts/model/UserProxy.h.tt +4 -4
  20. data/lib/appjam/generators/project/Classes/contacts/model/UserProxy.m.tt +15 -15
  21. data/lib/appjam/generators/project/Classes/contacts/model/vo/UserVO.h.tt +7 -7
  22. data/lib/appjam/generators/project/Classes/contacts/model/vo/UserVO.m.tt +18 -18
  23. data/lib/appjam/generators/project/Classes/contacts/view/UserFormMediator.h.tt +5 -5
  24. data/lib/appjam/generators/project/Classes/contacts/view/UserFormMediator.m.tt +18 -18
  25. data/lib/appjam/generators/project/Classes/contacts/view/UserListMediator.h.tt +5 -5
  26. data/lib/appjam/generators/project/Classes/contacts/view/UserListMediator.m.tt +19 -19
  27. data/lib/appjam/generators/project/Classes/contacts/view/UserMediator.h.tt +15 -0
  28. data/lib/appjam/generators/project/Classes/contacts/view/UserMediator.m.tt +43 -0
  29. data/lib/appjam/generators/project/Classes/contacts/view/components/Contacts.h.tt +12 -12
  30. data/lib/appjam/generators/project/Classes/contacts/view/components/Contacts.m.tt +14 -14
  31. data/lib/appjam/generators/project/Classes/contacts/view/components/UserForm.h.tt +14 -14
  32. data/lib/appjam/generators/project/Classes/contacts/view/components/UserForm.m.tt +29 -29
  33. data/lib/appjam/generators/project/Classes/contacts/view/components/UserList.h.tt +15 -15
  34. data/lib/appjam/generators/project/Classes/contacts/view/components/UserList.m.tt +29 -29
  35. data/lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/SimpleCommand.m +1 -1
  36. data/lib/appjam/generators/project/Contacts_Prefix.pch.tt +1 -1
  37. data/lib/appjam/generators/project/main.m.tt +4 -4
  38. data/lib/appjam/generators/project/utils/NSStringWhiteSpace.h +2 -2
  39. data/lib/appjam/generators/project/utils/NSStringWhiteSpace.m +2 -2
  40. data/lib/appjam/generators/project/utils/UIDevice.h +2 -2
  41. data/lib/appjam/generators/project/utils/UIDevice.m +2 -2
  42. data/lib/appjam/generators/project/utils/URLEncodeString.h +2 -2
  43. data/lib/appjam/generators/project/utils/URLEncodeString.m +2 -2
  44. data/lib/appjam/version.rb +4 -4
  45. data/test/test_model_generator.rb +28 -0
  46. data/test/test_project_generator.rb +5 -5
  47. metadata +13 -15
  48. data/lib/appjam/generators/project/Classes/contacts/view/ContactsMediator.h.tt +0 -15
  49. data/lib/appjam/generators/project/Classes/contacts/view/ContactsMediator.m.tt +0 -43
data/README.rdoc CHANGED
@@ -6,11 +6,31 @@ for PureMVC framework, see http://trac.puremvc.org/PureMVC_ObjectiveC/
6
6
 
7
7
  == Installation
8
8
 
9
- $ gem install appjam --pre
9
+ $ gem install appjam
10
10
 
11
11
  == Usage
12
12
 
13
- $ appjam project contact
13
+ ==== Usage 1: generate iphone app project
14
+
15
+ $ appjam project todo
16
+
17
+ $ cd todo
18
+
19
+ $ open Todo.xcodeproj
20
+
21
+ Xcode build and run
22
+
23
+ ==== Usage 2: add model to iphone app project
24
+
25
+ $ cd todo
26
+
27
+ $ appjam model user
28
+
29
+ $ open Todo.xcodeproj
30
+
31
+ Add "Classes/user/" folder to the "Classes/apps" Group
32
+
33
+ Xcode build and run
14
34
 
15
35
  == Contributing to appjam
16
36
 
@@ -34,7 +34,14 @@ module Appjam
34
34
  args = ARGV.empty? && generator_class.require_arguments? ? ["-h"] : ARGV
35
35
  generator_class.start(args)
36
36
  else
37
+ puts
38
+ puts '-'*70
37
39
  puts "Please specify generator to use (#{Appjam::Generators.mappings.keys.join(", ")})"
40
+ puts '-'*70
41
+ puts 'Usage1: appjam project todo # generate iphone project skeleton'
42
+ puts 'Usage2: appjam model user # generate iphone project data model'
43
+ puts '-'*70
44
+ puts
38
45
  end
39
46
  end
40
47
  end # Cli
@@ -2,6 +2,9 @@ require 'thor'
2
2
  require 'thor/group'
3
3
  require 'thor/actions'
4
4
  require 'active_support/core_ext/string'
5
+ require 'active_support/inflector'
6
+ require File.dirname(__FILE__) + '/actions'
7
+ require 'date'
5
8
 
6
9
  module Appjam
7
10
  module Generators
@@ -16,6 +19,7 @@ module Appjam
16
19
 
17
20
  # Include related modules
18
21
  include Thor::Actions
22
+ include Appjam::Generators::Actions
19
23
 
20
24
  desc "Description:\n\n\tappjam will generates an new PureMvc Model for iphone"
21
25
 
@@ -23,27 +27,79 @@ module Appjam
23
27
 
24
28
  class_option :root, :desc => "The root destination", :aliases => '-r', :default => ".", :type => :string
25
29
  class_option :destroy, :aliases => '-d', :default => false, :type => :boolean
26
-
27
- # Show help if no argv given
28
- #require_arguments!
29
30
 
30
31
  def in_app_root?
31
32
  File.exist?('Classes')
32
33
  end
33
34
 
34
35
  def create_app
35
- self.destination_root = options[:root]
36
- @model_name = name.gsub(/\W/, "_").downcase
37
- app = options[:model]
38
- self.behavior = :revoke if options[:destroy]
36
+ if in_app_root?
37
+ valid_constant?(options[:model] || name)
38
+ @model_name = (options[:app] || name).gsub(/\W/, "_").downcase
39
+ @project_name = (options[:app] || name).gsub(/\W/, "_").downcase
40
+ @xcode_project_name = File.basename(Dir.glob('*.xcodeproj')[0],'.xcodeproj').downcase
41
+ @class_name = (options[:app] || name).gsub(/\W/, "_").capitalize
42
+ @developer = "#{`whoami`.strip}"
43
+ @created_on = Date.today.to_s
44
+ self.destination_root = options[:root]
45
+ project = options[:project]
46
+ self.behavior = :revoke if options[:destroy]
47
+
48
+ header = "
49
+ #define ShowNew#{@class_name} @\"ShowNew#{@class_name}\"
50
+ #define ShowEdit#{@class_name} @\"ShowEdit#{@class_name}\"
51
+ #define Show#{@class_name}Form @\"Show#{@class_name}Form\"
52
+ #define Show#{@class_name}List @\"Show#{@class_name}Lis\t\"
53
+ #define Create#{@class_name} @\"Create#{@class_name}\"
54
+ #define Update#{@class_name} @\"Update#{@class_name}\"
55
+ #define Delete#{@class_name} @\"Delete#{@class_name}\"
56
+ #define Get#{@class_name}s @\"Get#{@class_name}s\"
57
+ #define Get#{@class_name}sSuccess @\"Get#{@class_name}sSuccess\"
58
+ "
59
+ inject_into_file destination_root("Classes/#{@xcode_project_name}/ApplicationFacade.h"), header, :after => "#import \"Facade.h\"\n"
60
+ template "project/Classes/contacts/controller/CreateUserCommand.h.tt" , "Classes/#{@model_name}/controller/Create#{@class_name}Command.h"
61
+ template "project/Classes/contacts/controller/CreateUserCommand.m.tt" , "Classes/#{@model_name}/controller/Create#{@class_name}Command.m"
62
+ template "project/Classes/contacts/controller/DeleteUserCommand.h.tt" , "Classes/#{@model_name}/controller/Delete#{@class_name}Command.h"
63
+ template "project/Classes/contacts/controller/DeleteUserCommand.m.tt" , "Classes/#{@model_name}/controller/Delete#{@class_name}Command.m"
64
+ template "project/Classes/contacts/controller/GetUsersCommand.h.tt" , "Classes/#{@model_name}/controller/Get#{@class_name}sCommand.h"
65
+ template "project/Classes/contacts/controller/GetUsersCommand.m.tt" , "Classes/#{@model_name}/controller/Get#{@class_name}sCommand.m"
66
+ template "project/Classes/contacts/controller/UpdateUserCommand.h.tt" , "Classes/#{@model_name}/controller/Update#{@class_name}Command.h"
67
+ template "project/Classes/contacts/controller/UpdateUserCommand.m.tt" , "Classes/#{@model_name}/controller/Update#{@class_name}Command.m"
68
+ template "project/Classes/contacts/model/UserProxy.h.tt" , "Classes/#{@model_name}/model/#{@class_name}Proxy.h"
69
+ template "project/Classes/contacts/model/UserProxy.m.tt" , "Classes/#{@model_name}/model/#{@class_name}Proxy.m"
70
+ template "project/Classes/contacts/model/vo/UserVO.h.tt" , "Classes/#{@model_name}/model/vo/#{@class_name}VO.h"
71
+ template "project/Classes/contacts/model/vo/UserVO.m.tt" , "Classes/#{@model_name}/model/vo/#{@class_name}VO.m"
72
+ template "project/Classes/contacts/view/UserMediator.h.tt" , "Classes/#{@model_name}/view/#{@class_name}Mediator.h"
73
+ template "project/Classes/contacts/view/UserMediator.m.tt" , "Classes/#{@model_name}/view/#{@class_name}Mediator.m"
74
+ template "project/Classes/contacts/view/UserFormMediator.h.tt" , "Classes/#{@model_name}/view/#{@class_name}FormMediator.h"
75
+ template "project/Classes/contacts/view/UserFormMediator.m.tt" , "Classes/#{@model_name}/view/#{@class_name}FormMediator.m"
76
+ template "project/Classes/contacts/view/UserListMediator.h.tt" , "Classes/#{@model_name}/view/#{@class_name}ListMediator.h"
77
+ template "project/Classes/contacts/view/UserListMediator.m.tt" , "Classes/#{@model_name}/view/#{@class_name}ListMediator.m"
78
+ template "project/Classes/contacts/view/components/Contacts.h.tt" , "Classes/#{@model_name}/view/components/#{@class_name}.h"
79
+ template "project/Classes/contacts/view/components/Contacts.m.tt" , "Classes/#{@model_name}/view/components/#{@class_name}.m"
80
+ template "project/Classes/contacts/view/components/UserForm.h.tt" , "Classes/#{@model_name}/view/components/#{@class_name}Form.h"
81
+ template "project/Classes/contacts/view/components/UserForm.m.tt" , "Classes/#{@model_name}/view/components/#{@class_name}Form.m"
82
+ template "project/Classes/contacts/view/components/UserList.h.tt" , "Classes/#{@model_name}/view/components/#{@class_name}List.h"
83
+ template "project/Classes/contacts/view/components/UserList.m.tt" , "Classes/#{@model_name}/view/components/#{@class_name}List.m"
84
+
39
85
 
40
- say (<<-TEXT).gsub(/ {10}/,'')
86
+ say (<<-TEXT).gsub(/ {10}/,'')
41
87
 
42
88
  =================================================================
43
- Your #{@model_name} Model app has been generated.
89
+ Your [#{@model_name.capitalize}] Model has been generated.
90
+ Open #{@xcode_project_name.capitalize}.xcodeproj
91
+ Add "Classes/#{@model_name}/" folder to the "Classes/apps" Group
92
+ Build and Run
44
93
  =================================================================
45
94
 
46
- TEXT
95
+ TEXT
96
+ else
97
+ puts
98
+ puts '-'*70
99
+ puts "You are not in an iphone project folder"
100
+ puts '-'*70
101
+ puts
102
+ end
47
103
  end
48
104
  end # Model
49
105
  end # Generators
@@ -4,6 +4,7 @@ require 'thor/actions'
4
4
  require 'active_support/core_ext/string'
5
5
  require 'active_support/inflector'
6
6
  require File.dirname(__FILE__) + '/actions'
7
+ require 'date'
7
8
 
8
9
  module Appjam
9
10
  module Generators
@@ -27,9 +28,6 @@ module Appjam
27
28
  class_option :root, :desc => "The root destination", :aliases => '-r', :default => ".", :type => :string
28
29
  class_option :destroy, :aliases => '-d', :default => false, :type => :boolean
29
30
 
30
- # Show help if no argv given
31
- #require_arguments!
32
-
33
31
  def in_app_root?
34
32
  File.exist?('Classes')
35
33
  end
@@ -37,14 +35,31 @@ module Appjam
37
35
  def create_app
38
36
  valid_constant?(options[:project] || name)
39
37
  @project_name = (options[:app] || name).gsub(/\W/, "_").downcase
38
+ @class_name = (options[:app] || name).gsub(/\W/, "_").capitalize
39
+ @developer = "#{`whoami`.strip}"
40
+ @created_on = Date.today.to_s
40
41
  self.destination_root = options[:root]
41
42
  project = options[:project]
42
43
  self.behavior = :revoke if options[:destroy]
43
44
 
44
45
  empty_directory "#{@project_name}"
45
- template "project/Contacts_Prefix.pch.tt", "#{@project_name}/Contacts_Prefix.pch"
46
- template "project/Contacts-Info.plist.tt", "#{@project_name}/Contacts-Info.plist"
47
- directory "project/Contacts.xcodeproj", "#{@project_name}/Contacts.xcodeproj"
46
+ template "project/Contacts_Prefix.pch.tt", "#{@project_name}/#{@class_name}_Prefix.pch"
47
+ template "project/Contacts-Info.plist.tt", "#{@project_name}/#{@class_name}-Info.plist"
48
+ directory "project/Contacts.xcodeproj", "#{@project_name}/#{@class_name}.xcodeproj"
49
+ fileName = "#{options[:root]}/#{@project_name}/#{@class_name}.xcodeproj/project.pbxproj"
50
+ aFile = File.open(fileName, "r")
51
+ aString = aFile.read
52
+ aFile.close
53
+
54
+ aString.gsub!('contacts', "#{@project_name}")
55
+ aString.gsub!('User', "#{@class_name}")
56
+ aString.gsub!('Contacts', "#{@class_name}")
57
+ aString.gsub!('Contact', "#{@class_name}")
58
+ File.open(fileName, "w") { |file| file << aString }
59
+
60
+ system "mv #{options[:root]}/#{@project_name}/#{@class_name}.xcodeproj/eiffel.pbxuser #{options[:root]}/#{@project_name}/#{@class_name}.xcodeproj/#{`whoami`.strip}.pbxuser"
61
+ system "mv #{options[:root]}/#{@project_name}/#{@class_name}.xcodeproj/eiffel.perspectivev3 #{options[:root]}/#{@project_name}/#{@class_name}.xcodeproj/#{`whoami`.strip}.perspectivev3"
62
+
48
63
  template "project/main.m.tt", "#{@project_name}/main.m"
49
64
 
50
65
  empty_directory "#{@project_name}/Classes/utils"
@@ -56,12 +71,47 @@ module Appjam
56
71
  copy_file "project/utils/URLEncodeString.h", "#{@project_name}/Classes/utils/URLEncodeString.h"
57
72
  copy_file "project/utils/URLEncodeString.m", "#{@project_name}/Classes/utils/URLEncodeString.m"
58
73
 
59
- directory "project/Classes", "#{@project_name}/Classes"
74
+ directory "project/Classes/org", "#{@project_name}/Classes/org"
75
+
76
+ template "project/Classes/ContactsAppDelegate.h.tt" , "#{@project_name}/Classes/#{@class_name}AppDelegate.h"
77
+ template "project/Classes/ContactsAppDelegate.m.tt" , "#{@project_name}/Classes/#{@class_name}AppDelegate.m"
78
+ template "project/Classes/contacts/ApplicationFacade.h.tt" , "#{@project_name}/Classes/#{@project_name}/ApplicationFacade.h"
79
+ template "project/Classes/contacts/ApplicationFacade.m.tt" , "#{@project_name}/Classes/#{@project_name}/ApplicationFacade.m"
80
+ template "project/Classes/contacts/controller/CreateUserCommand.h.tt" , "#{@project_name}/Classes/#{@project_name}/controller/Create#{@class_name}Command.h"
81
+ template "project/Classes/contacts/controller/CreateUserCommand.m.tt" , "#{@project_name}/Classes/#{@project_name}/controller/Create#{@class_name}Command.m"
82
+ template "project/Classes/contacts/controller/DeleteUserCommand.h.tt" , "#{@project_name}/Classes/#{@project_name}/controller/Delete#{@class_name}Command.h"
83
+ template "project/Classes/contacts/controller/DeleteUserCommand.m.tt" , "#{@project_name}/Classes/#{@project_name}/controller/Delete#{@class_name}Command.m"
84
+ template "project/Classes/contacts/controller/GetUsersCommand.h.tt" , "#{@project_name}/Classes/#{@project_name}/controller/Get#{@class_name}sCommand.h"
85
+ template "project/Classes/contacts/controller/GetUsersCommand.m.tt" , "#{@project_name}/Classes/#{@project_name}/controller/Get#{@class_name}sCommand.m"
86
+ template "project/Classes/contacts/controller/StartupCommand.h.tt" , "#{@project_name}/Classes/#{@project_name}/controller/StartupCommand.h"
87
+ template "project/Classes/contacts/controller/StartupCommand.m.tt" , "#{@project_name}/Classes/#{@project_name}/controller/StartupCommand.m"
88
+ template "project/Classes/contacts/controller/UpdateUserCommand.h.tt" , "#{@project_name}/Classes/#{@project_name}/controller/Update#{@class_name}Command.h"
89
+ template "project/Classes/contacts/controller/UpdateUserCommand.m.tt" , "#{@project_name}/Classes/#{@project_name}/controller/Update#{@class_name}Command.m"
90
+ template "project/Classes/contacts/model/UserProxy.h.tt" , "#{@project_name}/Classes/#{@project_name}/model/#{@class_name}Proxy.h"
91
+ template "project/Classes/contacts/model/UserProxy.m.tt" , "#{@project_name}/Classes/#{@project_name}/model/#{@class_name}Proxy.m"
92
+ template "project/Classes/contacts/model/vo/UserVO.h.tt" , "#{@project_name}/Classes/#{@project_name}/model/vo/#{@class_name}VO.h"
93
+ template "project/Classes/contacts/model/vo/UserVO.m.tt" , "#{@project_name}/Classes/#{@project_name}/model/vo/#{@class_name}VO.m"
94
+ template "project/Classes/contacts/view/UserMediator.h.tt" , "#{@project_name}/Classes/#{@project_name}/view/#{@class_name}Mediator.h"
95
+ template "project/Classes/contacts/view/UserMediator.m.tt" , "#{@project_name}/Classes/#{@project_name}/view/#{@class_name}Mediator.m"
96
+ template "project/Classes/contacts/view/UserFormMediator.h.tt" , "#{@project_name}/Classes/#{@project_name}/view/#{@class_name}FormMediator.h"
97
+ template "project/Classes/contacts/view/UserFormMediator.m.tt" , "#{@project_name}/Classes/#{@project_name}/view/#{@class_name}FormMediator.m"
98
+ template "project/Classes/contacts/view/UserListMediator.h.tt" , "#{@project_name}/Classes/#{@project_name}/view/#{@class_name}ListMediator.h"
99
+ template "project/Classes/contacts/view/UserListMediator.m.tt" , "#{@project_name}/Classes/#{@project_name}/view/#{@class_name}ListMediator.m"
100
+ template "project/Classes/contacts/view/components/Contacts.h.tt" , "#{@project_name}/Classes/#{@project_name}/view/components/#{@class_name}.h"
101
+ template "project/Classes/contacts/view/components/Contacts.m.tt" , "#{@project_name}/Classes/#{@project_name}/view/components/#{@class_name}.m"
102
+ template "project/Classes/contacts/view/components/UserForm.h.tt" , "#{@project_name}/Classes/#{@project_name}/view/components/#{@class_name}Form.h"
103
+ template "project/Classes/contacts/view/components/UserForm.m.tt" , "#{@project_name}/Classes/#{@project_name}/view/components/#{@class_name}Form.m"
104
+ template "project/Classes/contacts/view/components/UserList.h.tt" , "#{@project_name}/Classes/#{@project_name}/view/components/#{@class_name}List.h"
105
+ template "project/Classes/contacts/view/components/UserList.m.tt" , "#{@project_name}/Classes/#{@project_name}/view/components/#{@class_name}List.m"
106
+
107
+
60
108
 
61
109
  say (<<-TEXT).gsub(/ {10}/,'')
62
110
 
63
111
  =================================================================
64
112
  Your #{@project_name} application has been generated.
113
+ Open #{@project_name.capitalize}.xcodeproj
114
+ Build and Run
65
115
  =================================================================
66
116
 
67
117
  TEXT
@@ -1,14 +1,14 @@
1
1
  //
2
- // ContactsAppDelegate.h
3
- // Contacts
2
+ // <%= @class_name %>AppDelegate.h
3
+ // <%= @class_name %>
4
4
  //
5
- // Created by eiffel on 11-2-16.
6
- // Copyright 2011 Redsafi. All rights reserved.
5
+ // Created by <%= @developer.capitalize %> on <%= @created_on %>
6
+ // Copyright(c) <%= Time.now.year %>, All rights reserved.
7
7
  //
8
8
 
9
9
  #import <UIKit/UIKit.h>
10
10
 
11
- @interface ContactsAppDelegate : NSObject <UIApplicationDelegate> {
11
+ @interface <%= @class_name %>AppDelegate : NSObject <UIApplicationDelegate> {
12
12
  UIWindow *window;
13
13
  }
14
14
 
@@ -1,16 +1,16 @@
1
1
  //
2
- // ContactsAppDelegate.m
3
- // Contacts
2
+ // <%= @class_name %>AppDelegate.m
3
+ // <%= @class_name %>
4
4
  //
5
- // Created by eiffel on 11-2-16.
6
- // Copyright 2011 Redsafi. All rights reserved.
5
+ // Created by <%= @developer.capitalize %> on <%= @created_on %>
6
+ // Copyright(c) <%= Time.now.year %>, All rights reserved.
7
7
  //
8
8
 
9
- #import "ContactsAppDelegate.h"
9
+ #import "<%= @class_name %>AppDelegate.h"
10
10
  #import "ApplicationFacade.h"
11
- #import "Contacts.h"
11
+ #import "<%= @class_name %>.h"
12
12
 
13
- @implementation ContactsAppDelegate
13
+ @implementation <%= @class_name %>AppDelegate
14
14
 
15
15
  @synthesize window;
16
16
 
@@ -22,9 +22,9 @@
22
22
 
23
23
  // Override point for customization after application launch.
24
24
  window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
25
- Contacts *contacts = [[[Contacts alloc] initWithFrame:[window frame]] autorelease];
26
- [[ApplicationFacade getInstance] startup:contacts];
27
- [window addSubview:contacts];
25
+ <%= @class_name %> *<%= @project_name %> = [[[<%= @class_name %> alloc] initWithFrame:[window frame]] autorelease];
26
+ [[ApplicationFacade getInstance] startup:<%= @project_name %>];
27
+ [window addSubview:<%= @project_name %>];
28
28
  [window makeKeyAndVisible];
29
29
 
30
30
  return YES;
@@ -33,7 +33,7 @@
33
33
 
34
34
  - (void)applicationWillResignActive:(UIApplication *)application {
35
35
  /*
36
- Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
36
+ Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the <%= @project_name %> quits the application and it begins the transition to the background state.
37
37
  Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
38
38
  */
39
39
  }
@@ -41,8 +41,8 @@
41
41
 
42
42
  - (void)applicationDidEnterBackground:(UIApplication *)application {
43
43
  /*
44
- Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
45
- If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
44
+ Use this method to release shared resources, save <%= @project_name %> data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
45
+ If your application supports background execution, called instead of applicationWillTerminate: when the <%= @project_name %> quits.
46
46
  */
47
47
  }
48
48
 
@@ -56,7 +56,7 @@
56
56
 
57
57
  - (void)applicationDidBecomeActive:(UIApplication *)application {
58
58
  /*
59
- Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
59
+ Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the <%= @project_name %> interface.
60
60
  */
61
61
  }
62
62
 
@@ -2,24 +2,24 @@
2
2
  // ApplicationFacade.h
3
3
  // PureMVC_ObjectiveC
4
4
  //
5
- // PureMVC Port to ObjectiveC by Brian Knorr <brian.knorr@puremvc.org>
6
- // PureMVC - Copyright(c) 2006-2008 Futurescale, Inc., Some rights reserved.
5
+ // Created by <%= @developer.capitalize %> on <%= @created_on %>
6
+ // Copyright(c) <%= Time.now.year %>, All rights reserved.
7
7
  //
8
8
 
9
9
  #import <UIKit/UIKit.h>
10
10
  #import "Facade.h"
11
11
 
12
12
  #define Startup @"Startup"
13
- #define ShowNewUser @"ShowNewUser"
14
- #define ShowEditUser @"ShowEditUser"
15
- #define ShowUserForm @"ShowUserForm"
16
- #define ShowUserList @"ShowUserList"
13
+ #define ShowNew<%= @class_name %> @"ShowNew<%= @class_name %>"
14
+ #define ShowEdit<%= @class_name %> @"ShowEdit<%= @class_name %>"
15
+ #define Show<%= @class_name %>Form @"Show<%= @class_name %>Form"
16
+ #define Show<%= @class_name %>List @"Show<%= @class_name %>List"
17
17
  #define ShowError @"ShowError"
18
- #define CreateUser @"CreateUser"
19
- #define UpdateUser @"UpdateUser"
20
- #define DeleteUser @"DeleteUser"
21
- #define GetUsers @"GetUsers"
22
- #define GetUsersSuccess @"GetUsersSuccess"
18
+ #define Create<%= @class_name %> @"Create<%= @class_name %>"
19
+ #define Update<%= @class_name %> @"Update<%= @class_name %>"
20
+ #define Delete<%= @class_name %> @"Delete<%= @class_name %>"
21
+ #define Get<%= @class_name %>s @"Get<%= @class_name %>s"
22
+ #define Get<%= @class_name %>sSuccess @"Get<%= @class_name %>sSuccess"
23
23
 
24
24
  @interface ApplicationFacade : Facade {
25
25
  }
@@ -2,15 +2,15 @@
2
2
  // ApplicationFacade.m
3
3
  // PureMVC_ObjectiveC
4
4
  //
5
- // PureMVC Port to ObjectiveC by Brian Knorr <brian.knorr@puremvc.org>
6
- // PureMVC - Copyright(c) 2006-2008 Futurescale, Inc., Some rights reserved.
5
+ // Created by <%= @developer.capitalize %> on <%= @created_on %>
6
+ // Copyright(c) <%= Time.now.year %>, All rights reserved.
7
7
  //
8
8
 
9
9
  #import "ApplicationFacade.h"
10
10
  #import "StartupCommand.h"
11
- #import "CreateUserCommand.h"
12
- #import "UpdateUserCommand.h"
13
- #import "GetUsersCommand.h"
11
+ #import "Create<%= @class_name %>Command.h"
12
+ #import "Update<%= @class_name %>Command.h"
13
+ #import "Get<%= @class_name %>sCommand.h"
14
14
 
15
15
  @implementation ApplicationFacade
16
16
 
@@ -25,9 +25,9 @@
25
25
  -(void)initializeController {
26
26
  [super initializeController];
27
27
  [self registerCommand:Startup commandClassRef:[StartupCommand class]];
28
- [self registerCommand:CreateUser commandClassRef:[CreateUserCommand class]];
29
- [self registerCommand:UpdateUser commandClassRef:[UpdateUserCommand class]];
30
- [self registerCommand:GetUsers commandClassRef:[GetUsersCommand class]];
28
+ [self registerCommand:Create<%= @class_name %> commandClassRef:[Create<%= @class_name %>Command class]];
29
+ [self registerCommand:Update<%= @class_name %> commandClassRef:[Update<%= @class_name %>Command class]];
30
+ [self registerCommand:Get<%= @class_name %>s commandClassRef:[Get<%= @class_name %>sCommand class]];
31
31
  }
32
32
 
33
33
  @end
@@ -1,15 +1,15 @@
1
1
  //
2
- // CreateUserCommand.h
2
+ // Create<%= @class_name %>Command.h
3
3
  // PureMVC_ObjectiveC
4
4
  //
5
- // PureMVC Port to ObjectiveC by Brian Knorr <brian.knorr@puremvc.org>
6
- // PureMVC - Copyright(c) 2006-2008 Futurescale, Inc., Some rights reserved.
5
+ // Created by <%= @developer.capitalize %> on <%= @created_on %>
6
+ // Copyright(c) <%= Time.now.year %>, All rights reserved.
7
7
  //
8
8
 
9
9
  #import "SimpleCommand.h"
10
10
 
11
11
 
12
- @interface CreateUserCommand : SimpleCommand {
12
+ @interface Create<%= @class_name %>Command : SimpleCommand {
13
13
 
14
14
  }
15
15
 
@@ -1,26 +1,26 @@
1
1
  //
2
- // CreateUserCommand.h
2
+ // Create<%= @class_name %>Command.h
3
3
  // PureMVC_ObjectiveC
4
4
  //
5
- // PureMVC Port to ObjectiveC by Brian Knorr <brian.knorr@puremvc.org>
6
- // PureMVC - Copyright(c) 2006-2008 Futurescale, Inc., Some rights reserved.
5
+ // Created by <%= @developer.capitalize %> on <%= @created_on %>
6
+ // Copyright(c) <%= Time.now.year %>, All rights reserved.
7
7
  //
8
8
 
9
- #import "CreateUserCommand.h"
9
+ #import "Create<%= @class_name %>Command.h"
10
10
  #import "ApplicationFacade.h"
11
- #import "UserProxy.h"
12
- #import "UserVO.h"
11
+ #import "<%= @class_name %>Proxy.h"
12
+ #import "<%= @class_name %>VO.h"
13
13
 
14
- @implementation CreateUserCommand
14
+ @implementation Create<%= @class_name %>Command
15
15
 
16
16
  -(void)execute:(id<INotification>)notification {
17
- UserProxy *userProxy = (UserProxy *)[facade retrieveProxy:[UserProxy NAME]];
18
- UserVO *userVO = [notification body];
19
- if ([userVO isValid]) {
20
- [userProxy create:userVO];
21
- [facade sendNotification:ShowUserList];
17
+ <%= @class_name %>Proxy *<%= @project_name %>Proxy = (<%= @class_name %>Proxy *)[facade retrieveProxy:[<%= @class_name %>Proxy NAME]];
18
+ <%= @class_name %>VO *<%= @project_name %>VO = [notification body];
19
+ if ([<%= @project_name %>VO isValid]) {
20
+ [<%= @project_name %>Proxy create:<%= @project_name %>VO];
21
+ [facade sendNotification:Show<%= @class_name %>List];
22
22
  } else {
23
- [facade sendNotification:ShowError body:@"Invalid User"];
23
+ [facade sendNotification:ShowError body:@"Invalid <%= @class_name %>"];
24
24
  }
25
25
  }
26
26