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.
- data/README.rdoc +22 -2
- data/lib/appjam/generators/cli.rb +7 -0
- data/lib/appjam/generators/model.rb +66 -10
- data/lib/appjam/generators/project.rb +57 -7
- data/lib/appjam/generators/project/Classes/ContactsAppDelegate.h.tt +5 -5
- data/lib/appjam/generators/project/Classes/ContactsAppDelegate.m.tt +14 -14
- data/lib/appjam/generators/project/Classes/contacts/ApplicationFacade.h.tt +11 -11
- data/lib/appjam/generators/project/Classes/contacts/ApplicationFacade.m.tt +8 -8
- data/lib/appjam/generators/project/Classes/contacts/controller/CreateUserCommand.h.tt +4 -4
- data/lib/appjam/generators/project/Classes/contacts/controller/CreateUserCommand.m.tt +13 -13
- data/lib/appjam/generators/project/Classes/contacts/controller/DeleteUserCommand.h.tt +4 -4
- data/lib/appjam/generators/project/Classes/contacts/controller/DeleteUserCommand.m.tt +10 -10
- data/lib/appjam/generators/project/Classes/contacts/controller/GetUsersCommand.h.tt +4 -5
- data/lib/appjam/generators/project/Classes/contacts/controller/GetUsersCommand.m.tt +8 -9
- data/lib/appjam/generators/project/Classes/contacts/controller/StartupCommand.h.tt +2 -2
- data/lib/appjam/generators/project/Classes/contacts/controller/StartupCommand.m.tt +12 -12
- data/lib/appjam/generators/project/Classes/contacts/controller/UpdateUserCommand.h.tt +4 -4
- data/lib/appjam/generators/project/Classes/contacts/controller/UpdateUserCommand.m.tt +13 -13
- data/lib/appjam/generators/project/Classes/contacts/model/UserProxy.h.tt +4 -4
- data/lib/appjam/generators/project/Classes/contacts/model/UserProxy.m.tt +15 -15
- data/lib/appjam/generators/project/Classes/contacts/model/vo/UserVO.h.tt +7 -7
- data/lib/appjam/generators/project/Classes/contacts/model/vo/UserVO.m.tt +18 -18
- data/lib/appjam/generators/project/Classes/contacts/view/UserFormMediator.h.tt +5 -5
- data/lib/appjam/generators/project/Classes/contacts/view/UserFormMediator.m.tt +18 -18
- data/lib/appjam/generators/project/Classes/contacts/view/UserListMediator.h.tt +5 -5
- data/lib/appjam/generators/project/Classes/contacts/view/UserListMediator.m.tt +19 -19
- data/lib/appjam/generators/project/Classes/contacts/view/UserMediator.h.tt +15 -0
- data/lib/appjam/generators/project/Classes/contacts/view/UserMediator.m.tt +43 -0
- data/lib/appjam/generators/project/Classes/contacts/view/components/Contacts.h.tt +12 -12
- data/lib/appjam/generators/project/Classes/contacts/view/components/Contacts.m.tt +14 -14
- data/lib/appjam/generators/project/Classes/contacts/view/components/UserForm.h.tt +14 -14
- data/lib/appjam/generators/project/Classes/contacts/view/components/UserForm.m.tt +29 -29
- data/lib/appjam/generators/project/Classes/contacts/view/components/UserList.h.tt +15 -15
- data/lib/appjam/generators/project/Classes/contacts/view/components/UserList.m.tt +29 -29
- data/lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/SimpleCommand.m +1 -1
- data/lib/appjam/generators/project/Contacts_Prefix.pch.tt +1 -1
- data/lib/appjam/generators/project/main.m.tt +4 -4
- data/lib/appjam/generators/project/utils/NSStringWhiteSpace.h +2 -2
- data/lib/appjam/generators/project/utils/NSStringWhiteSpace.m +2 -2
- data/lib/appjam/generators/project/utils/UIDevice.h +2 -2
- data/lib/appjam/generators/project/utils/UIDevice.m +2 -2
- data/lib/appjam/generators/project/utils/URLEncodeString.h +2 -2
- data/lib/appjam/generators/project/utils/URLEncodeString.m +2 -2
- data/lib/appjam/version.rb +4 -4
- data/test/test_model_generator.rb +28 -0
- data/test/test_project_generator.rb +5 -5
- metadata +13 -15
- data/lib/appjam/generators/project/Classes/contacts/view/ContactsMediator.h.tt +0 -15
- 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
|
9
|
+
$ gem install appjam
|
10
10
|
|
11
11
|
== Usage
|
12
12
|
|
13
|
-
|
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
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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
|
-
|
86
|
+
say (<<-TEXT).gsub(/ {10}/,'')
|
41
87
|
|
42
88
|
=================================================================
|
43
|
-
Your #{@model_name} Model
|
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
|
-
|
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}
|
46
|
-
template "project/Contacts-Info.plist.tt", "#{@project_name}
|
47
|
-
directory "project/Contacts.xcodeproj", "#{@project_name}
|
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
|
-
//
|
3
|
-
//
|
2
|
+
// <%= @class_name %>AppDelegate.h
|
3
|
+
// <%= @class_name %>
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
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
|
11
|
+
@interface <%= @class_name %>AppDelegate : NSObject <UIApplicationDelegate> {
|
12
12
|
UIWindow *window;
|
13
13
|
}
|
14
14
|
|
@@ -1,16 +1,16 @@
|
|
1
1
|
//
|
2
|
-
//
|
3
|
-
//
|
2
|
+
// <%= @class_name %>AppDelegate.m
|
3
|
+
// <%= @class_name %>
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
|
-
#import "
|
9
|
+
#import "<%= @class_name %>AppDelegate.h"
|
10
10
|
#import "ApplicationFacade.h"
|
11
|
-
#import "
|
11
|
+
#import "<%= @class_name %>.h"
|
12
12
|
|
13
|
-
@implementation
|
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
|
-
|
26
|
-
[[ApplicationFacade getInstance] startup
|
27
|
-
[window addSubview
|
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
|
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
|
45
|
-
If your application supports background execution, called instead of applicationWillTerminate: when the
|
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
|
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
|
-
//
|
6
|
-
//
|
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
|
14
|
-
#define
|
15
|
-
#define
|
16
|
-
#define
|
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
|
19
|
-
#define
|
20
|
-
#define
|
21
|
-
#define
|
22
|
-
#define
|
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
|
-
//
|
6
|
-
//
|
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 "
|
12
|
-
#import "
|
13
|
-
#import "
|
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:
|
29
|
-
[self registerCommand:
|
30
|
-
[self registerCommand:
|
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
|
-
//
|
2
|
+
// Create<%= @class_name %>Command.h
|
3
3
|
// PureMVC_ObjectiveC
|
4
4
|
//
|
5
|
-
//
|
6
|
-
//
|
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
|
12
|
+
@interface Create<%= @class_name %>Command : SimpleCommand {
|
13
13
|
|
14
14
|
}
|
15
15
|
|
@@ -1,26 +1,26 @@
|
|
1
1
|
//
|
2
|
-
//
|
2
|
+
// Create<%= @class_name %>Command.h
|
3
3
|
// PureMVC_ObjectiveC
|
4
4
|
//
|
5
|
-
//
|
6
|
-
//
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
|
-
#import "
|
9
|
+
#import "Create<%= @class_name %>Command.h"
|
10
10
|
#import "ApplicationFacade.h"
|
11
|
-
#import "
|
12
|
-
#import "
|
11
|
+
#import "<%= @class_name %>Proxy.h"
|
12
|
+
#import "<%= @class_name %>VO.h"
|
13
13
|
|
14
|
-
@implementation
|
14
|
+
@implementation Create<%= @class_name %>Command
|
15
15
|
|
16
16
|
-(void)execute:(id<INotification>)notification {
|
17
|
-
|
18
|
-
|
19
|
-
if ([
|
20
|
-
[
|
21
|
-
[facade sendNotification:
|
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
|
23
|
+
[facade sendNotification:ShowError body:@"Invalid <%= @class_name %>"];
|
24
24
|
}
|
25
25
|
}
|
26
26
|
|