appjam 0.1.0.pre4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. data/LICENSE.txt +20 -0
  2. data/README.rdoc +27 -0
  3. data/bin/appjam +17 -0
  4. data/lib/appjam.rb +50 -0
  5. data/lib/appjam/generators/Classes/ContactsAppDelegate.h.tt +18 -0
  6. data/lib/appjam/generators/Classes/ContactsAppDelegate.m.tt +88 -0
  7. data/lib/appjam/generators/Classes/org/puremvc/objectivec/core/Controller.h +54 -0
  8. data/lib/appjam/generators/Classes/org/puremvc/objectivec/core/Controller.m +145 -0
  9. data/lib/appjam/generators/Classes/org/puremvc/objectivec/core/Model.h +47 -0
  10. data/lib/appjam/generators/Classes/org/puremvc/objectivec/core/Model.m +117 -0
  11. data/lib/appjam/generators/Classes/org/puremvc/objectivec/core/View.h +39 -0
  12. data/lib/appjam/generators/Classes/org/puremvc/objectivec/core/View.m +207 -0
  13. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/ICommand.h +16 -0
  14. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IController.h +57 -0
  15. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IFacade.h +135 -0
  16. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IMediator.h +84 -0
  17. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IModel.h +50 -0
  18. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/INotification.h +57 -0
  19. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/INotifier.h +41 -0
  20. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IObserver.h +67 -0
  21. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IProxy.h +53 -0
  22. data/lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IView.h +96 -0
  23. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h +50 -0
  24. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.m +101 -0
  25. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/command/SimpleCommand.h +28 -0
  26. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/command/SimpleCommand.m +34 -0
  27. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/facade/Facade.h +52 -0
  28. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/facade/Facade.m +304 -0
  29. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/mediator/Mediator.h +35 -0
  30. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/mediator/Mediator.m +101 -0
  31. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Notification.h +52 -0
  32. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Notification.m +71 -0
  33. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Notifier.h +40 -0
  34. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Notifier.m +54 -0
  35. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Observer.h +42 -0
  36. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Observer.m +67 -0
  37. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/proxy/Proxy.h +51 -0
  38. data/lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/proxy/Proxy.m +73 -0
  39. data/lib/appjam/generators/Classes/users/ApplicationFacade.h.tt +31 -0
  40. data/lib/appjam/generators/Classes/users/ApplicationFacade.m.tt +33 -0
  41. data/lib/appjam/generators/Classes/users/controller/CreateUserCommand.h.tt +16 -0
  42. data/lib/appjam/generators/Classes/users/controller/CreateUserCommand.m.tt +27 -0
  43. data/lib/appjam/generators/Classes/users/controller/DeleteUserCommand.h.tt +16 -0
  44. data/lib/appjam/generators/Classes/users/controller/DeleteUserCommand.m.tt +21 -0
  45. data/lib/appjam/generators/Classes/users/controller/GetUsersCommand.h.tt +17 -0
  46. data/lib/appjam/generators/Classes/users/controller/GetUsersCommand.m.tt +21 -0
  47. data/lib/appjam/generators/Classes/users/controller/StartupCommand.h.tt +16 -0
  48. data/lib/appjam/generators/Classes/users/controller/StartupCommand.m.tt +29 -0
  49. data/lib/appjam/generators/Classes/users/controller/UpdateUserCommand.h.tt +16 -0
  50. data/lib/appjam/generators/Classes/users/controller/UpdateUserCommand.m.tt +27 -0
  51. data/lib/appjam/generators/Classes/users/model/UserProxy.h.tt +19 -0
  52. data/lib/appjam/generators/Classes/users/model/UserProxy.m.tt +59 -0
  53. data/lib/appjam/generators/Classes/users/model/vo/UserVO.h.tt +22 -0
  54. data/lib/appjam/generators/Classes/users/model/vo/UserVO.m.tt +47 -0
  55. data/lib/appjam/generators/Classes/users/view/ContactsMediator.h.tt +15 -0
  56. data/lib/appjam/generators/Classes/users/view/ContactsMediator.m.tt +43 -0
  57. data/lib/appjam/generators/Classes/users/view/UserFormMediator.h.tt +17 -0
  58. data/lib/appjam/generators/Classes/users/view/UserFormMediator.m.tt +57 -0
  59. data/lib/appjam/generators/Classes/users/view/UserListMediator.h.tt +17 -0
  60. data/lib/appjam/generators/Classes/users/view/UserListMediator.m.tt +59 -0
  61. data/lib/appjam/generators/Classes/users/view/components/Contacts.h.tt +27 -0
  62. data/lib/appjam/generators/Classes/users/view/components/Contacts.m.tt +46 -0
  63. data/lib/appjam/generators/Classes/users/view/components/UserForm.h.tt +37 -0
  64. data/lib/appjam/generators/Classes/users/view/components/UserForm.m.tt +118 -0
  65. data/lib/appjam/generators/Classes/users/view/components/UserList.h.tt +31 -0
  66. data/lib/appjam/generators/Classes/users/view/components/UserList.m.tt +77 -0
  67. data/lib/appjam/generators/Contacts-Info.plist.tt +28 -0
  68. data/lib/appjam/generators/Contacts.xcodeproj/eiffel.pbxuser +1671 -0
  69. data/lib/appjam/generators/Contacts.xcodeproj/eiffel.perspectivev3 +1638 -0
  70. data/lib/appjam/generators/Contacts.xcodeproj/project.pbxproj +574 -0
  71. data/lib/appjam/generators/Contacts_Prefix.pch.tt +8 -0
  72. data/lib/appjam/generators/app.rb +78 -0
  73. data/lib/appjam/generators/main.m.tt +17 -0
  74. data/lib/appjam/generators/utils/NSStringWhiteSpace.h +17 -0
  75. data/lib/appjam/generators/utils/NSStringWhiteSpace.m +31 -0
  76. data/lib/appjam/generators/utils/UIDevice.h +17 -0
  77. data/lib/appjam/generators/utils/UIDevice.m +83 -0
  78. data/lib/appjam/generators/utils/URLEncodeString.h +16 -0
  79. data/lib/appjam/generators/utils/URLEncodeString.m +29 -0
  80. data/lib/appjam/version.rb +10 -0
  81. data/spec/appjam_spec.rb +7 -0
  82. data/spec/spec_helper.rb +12 -0
  83. metadata +270 -0
@@ -0,0 +1,8 @@
1
+ //
2
+ // Prefix header for all source files of the 'Contacts' target in the 'Contacts' project
3
+ //
4
+
5
+ #ifdef __OBJC__
6
+ #import <Foundation/Foundation.h>
7
+ #import <UIKit/UIKit.h>
8
+ #endif
@@ -0,0 +1,78 @@
1
+ require 'thor'
2
+ require 'thor/group'
3
+ require 'thor/actions'
4
+ require 'active_support/core_ext/string'
5
+
6
+ module Appjam
7
+ module Generators
8
+ class App < Thor::Group
9
+
10
+ # Add this generator to our appjam
11
+ Appjam::Generators.add_generator(:app, self)
12
+
13
+ # Define the source template root
14
+ def self.source_root; File.expand_path(File.dirname(__FILE__)); end
15
+ def self.banner; "appjam project [name]"; end
16
+
17
+ # Include related modules
18
+ include Thor::Actions
19
+
20
+ desc "Description:\n\n\tappjam app generates a new PureMvc application for iphone"
21
+
22
+ argument :name, :desc => "The name of your puremvc application"
23
+
24
+ class_option :root, :desc => "The root destination", :aliases => '-r', :default => ".", :type => :string
25
+ class_option :destroy, :aliases => '-d', :default => false, :type => :boolean
26
+
27
+ # Show help if no argv given
28
+ #require_arguments!
29
+
30
+ def in_app_root?
31
+ File.exist?('Classes')
32
+ end
33
+
34
+ def create_app
35
+ self.destination_root = options[:root]
36
+ @project_name = name.gsub(/\W/, "_").downcase
37
+ @class_name = name.gsub(/\W/, "_").capitalize
38
+ app = options[:app]
39
+ self.behavior = :revoke if options[:destroy]
40
+ empty_directory "#{@project_name}"
41
+ template "Contacts_Prefix.pch.tt", "#{@project_name}/Contacts_Prefix.pch"
42
+ template "Contacts-Info.plist.tt", "#{@project_name}/Contacts-Info.plist"
43
+ directory "Contacts.xcodeproj", "#{@project_name}/Contacts.xcodeproj"
44
+ template "main.m.tt", "#{@project_name}/main.m"
45
+
46
+ # empty_directory "#{@project_name}"
47
+ # empty_directory "#{@project_name}/Classes"
48
+ # template "ApplicationFacade.h.tt", "#{@project_name}/Classes/ApplicationFacade.h"
49
+ # template "ApplicationFacade.m.tt", "#{@project_name}/Classes/ApplicationFacade.m"
50
+ # empty_directory "#{@project_name}/Classes/controllers"
51
+ # empty_directory "#{@project_name}/Classes/models"
52
+ # empty_directory "#{@project_name}/Classes/models/enum"
53
+ # empty_directory "#{@project_name}/Classes/models/vo"
54
+ # empty_directory "#{@project_name}/Classes/views"
55
+ # empty_directory "#{@project_name}/Classes/views/components"
56
+ empty_directory "#{@project_name}/Classes/utils"
57
+
58
+ copy_file "utils/NSStringWhiteSpace.h", "#{@project_name}/Classes/utils/NSStringWhiteSpace.h"
59
+ copy_file "utils/NSStringWhiteSpace.m", "#{@project_name}/Classes/utils/NSStringWhiteSpace.m"
60
+ copy_file "utils/UIDevice.h", "#{@project_name}/Classes/utils/UIDevice.h"
61
+ copy_file "utils/UIDevice.m", "#{@project_name}/Classes/utils/UIDevice.m"
62
+ copy_file "utils/URLEncodeString.h", "#{@project_name}/Classes/utils/URLEncodeString.h"
63
+ copy_file "utils/URLEncodeString.m", "#{@project_name}/Classes/utils/URLEncodeString.m"
64
+
65
+ directory "Classes", "#{@project_name}/Classes"
66
+
67
+
68
+ say (<<-TEXT).gsub(/ {10}/,'')
69
+
70
+ =================================================================
71
+ Your #{@class_name} application has been generated.
72
+ =================================================================
73
+
74
+ TEXT
75
+ end
76
+ end # App
77
+ end # Generators
78
+ end # IphoneMvc
@@ -0,0 +1,17 @@
1
+ //
2
+ // main.m
3
+ // Contacts
4
+ //
5
+ // Created by eiffel on 11-2-16.
6
+ // Copyright 2011 Redsafi. All rights reserved.
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+
11
+ int main(int argc, char *argv[]) {
12
+
13
+ NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
14
+ int retVal = UIApplicationMain(argc, argv, nil, @"ContactsAppDelegate");
15
+ [pool release];
16
+ return retVal;
17
+ }
@@ -0,0 +1,17 @@
1
+ //
2
+ // NSStringWhiteSpace.h
3
+ // YueBao
4
+ //
5
+ // Created by eiffel on 10-4-8.
6
+ // Copyright 2010 www.likenote.com. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ @interface NSString (Whitespace)
12
+
13
+ // Note: a category implementation does not have ivars in { }
14
+
15
+ - (NSString *)stringByCompressingWhitespaceTo:(NSString *)seperator;
16
+
17
+ @end
@@ -0,0 +1,31 @@
1
+ //
2
+ // NSStringWhiteSpace.m
3
+ // YueBao
4
+ //
5
+ // Created by eiffel on 10-4-8.
6
+ // Copyright 2010 www.likenote.com. All rights reserved.
7
+ //
8
+
9
+ #import "NSStringWhiteSpace.h"
10
+
11
+
12
+ @implementation NSString (Whitespace)
13
+
14
+ - (NSString *)stringByCompressingWhitespaceTo:(NSString *)seperator
15
+ {
16
+ NSArray *comps = [self componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
17
+ NSMutableArray *nonemptyComps = [[[NSMutableArray alloc] init] autorelease];
18
+
19
+ // only copy non-empty entries
20
+ for (NSString *oneComp in comps)
21
+ {
22
+ if (![oneComp isEqualToString:@""])
23
+ {
24
+ [nonemptyComps addObject:oneComp];
25
+ }
26
+
27
+ }
28
+
29
+ return [nonemptyComps componentsJoinedByString:seperator]; // already marked as autoreleased
30
+ }
31
+ @end
@@ -0,0 +1,17 @@
1
+ //
2
+ // UIDevice.h
3
+ // EarthShake
4
+ //
5
+ // Created by eiffel on 10-4-2.
6
+ // Copyright 2010 www.likenote.com. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+
12
+ @interface UIDevice (DeviceConnectivity)
13
+ +(BOOL)cellularConnected;
14
+ +(BOOL)wiFiConnected;
15
+ +(BOOL)networkConnected;
16
+ +(BOOL)connectedToNetwork;
17
+ @end
@@ -0,0 +1,83 @@
1
+ //
2
+ // UIDevice.m
3
+ // EarthShake
4
+ //
5
+ // Created by eiffel on 10-4-2.
6
+ // Copyright 2010 www.likenote.com. All rights reserved.
7
+ //
8
+
9
+ #import "UIDevice.h"
10
+ #import <sys/socket.h>
11
+ #import <netinet/in.h>
12
+ #import <arpa/inet.h>
13
+ #import <netdb.h>
14
+ #import <SystemConfiguration/SCNetworkReachability.h>
15
+
16
+ @implementation UIDevice (DeviceConnectivity)
17
+
18
+ +(BOOL)connectedToNetwork
19
+ {
20
+ // Create zero addy
21
+ struct sockaddr_in zeroAddress;
22
+ bzero(&zeroAddress, sizeof(zeroAddress));
23
+ zeroAddress.sin_len = sizeof(zeroAddress);
24
+ zeroAddress.sin_family = AF_INET;
25
+
26
+ // Recover reachability flags
27
+ SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
28
+ SCNetworkReachabilityFlags flags;
29
+
30
+ BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
31
+ CFRelease(defaultRouteReachability);
32
+
33
+ if (!didRetrieveFlags)
34
+ {
35
+ return NO;
36
+ }
37
+
38
+ BOOL isReachable = flags & kSCNetworkFlagsReachable;
39
+ BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;
40
+ return (isReachable && !needsConnection) ? YES : NO;
41
+ }
42
+
43
+
44
+
45
+ +(BOOL)cellularConnected{
46
+ // EDGE or GPRS
47
+ SCNetworkReachabilityFlags flags = 0;
48
+ SCNetworkReachabilityRef netReachability;
49
+ netReachability = SCNetworkReachabilityCreateWithName(CFAllocatorGetDefault(), [@"www.google.com" UTF8String]);
50
+ if(netReachability){
51
+ SCNetworkReachabilityGetFlags(netReachability, &flags);
52
+ CFRelease(netReachability);
53
+ }
54
+ if(flags & kSCNetworkReachabilityFlagsIsWWAN){
55
+ return YES;
56
+ }
57
+ return NO;
58
+ }
59
+
60
+ +(BOOL)networkConnected {
61
+ SCNetworkReachabilityFlags flags = 0;
62
+ SCNetworkReachabilityRef netReachability;
63
+ BOOL retrievedFlags = NO;
64
+ netReachability = SCNetworkReachabilityCreateWithName( CFAllocatorGetDefault(), [@"www.google.com" UTF8String]);
65
+ if(netReachability){
66
+ retrievedFlags = SCNetworkReachabilityGetFlags(netReachability, &flags);
67
+ CFRelease(netReachability);
68
+ }
69
+ if (!retrievedFlags || !flags){
70
+ return NO;
71
+ }
72
+ return YES;
73
+ }
74
+
75
+ +(BOOL) wiFiConnected
76
+ {
77
+ if([self cellularConnected]){
78
+ return NO;
79
+ }
80
+ return [self networkConnected];
81
+ }
82
+
83
+ @end
@@ -0,0 +1,16 @@
1
+ //
2
+ // URLEncodeString.h
3
+ // YueBao
4
+ //
5
+ // Created by eiffel on 10-4-27.
6
+ // Copyright 2010 www.likenote.com. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+
12
+ @interface NSString (URLEncode)
13
+ + (NSString *)URLEncodeString:(NSString *)string;
14
+ - (NSString *)URLEncodeString;
15
+ - (BOOL) isWhitespace;
16
+ @end
@@ -0,0 +1,29 @@
1
+ //
2
+ // URLEncodeString.m
3
+ // YueBao
4
+ //
5
+ // Created by eiffel on 10-4-27.
6
+ // Copyright 2010 www.likenote.com. All rights reserved.
7
+ //
8
+
9
+ #import "URLEncodeString.h"
10
+
11
+ @implementation NSString (URLEncode)
12
+
13
+ // URL encode a string
14
+ + (NSString *)URLEncodeString:(NSString *)string {
15
+ NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR("% '\"?=&+<>;:-"), kCFStringEncodingUTF8);
16
+
17
+ return [result autorelease];
18
+ }
19
+
20
+ // Helper function
21
+ - (NSString *)URLEncodeString {
22
+ return [NSString URLEncodeString:self];
23
+ }
24
+
25
+ - (BOOL) isWhitespace{
26
+ return ([[self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]length] == 0);
27
+ }
28
+
29
+ @end
@@ -0,0 +1,10 @@
1
+ module Appjam
2
+ module Version
3
+ MAJOR = 0
4
+ MINOR = 1
5
+ PATCH = 0
6
+ BUILD = 'pre4'
7
+
8
+ STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Appjam" do
4
+ it "fails" do
5
+ # fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'appjam'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
metadata ADDED
@@ -0,0 +1,270 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: appjam
3
+ version: !ruby/object:Gem::Version
4
+ hash: -1876988169
5
+ prerelease: true
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ - pre4
11
+ version: 0.1.0.pre4
12
+ platform: ruby
13
+ authors:
14
+ - Eiffel Q
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2011-04-26 00:00:00 +08:00
20
+ default_executable: appjam
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ type: :runtime
24
+ prerelease: false
25
+ name: thor
26
+ version_requirements: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 3
32
+ segments:
33
+ - 0
34
+ version: "0"
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ type: :runtime
38
+ prerelease: false
39
+ name: activesupport
40
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ requirement: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ type: :development
52
+ prerelease: false
53
+ name: shoulda
54
+ version_requirements: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ requirement: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ type: :development
66
+ prerelease: false
67
+ name: rspec
68
+ version_requirements: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 2
76
+ - 3
77
+ - 0
78
+ version: 2.3.0
79
+ requirement: *id004
80
+ - !ruby/object:Gem::Dependency
81
+ type: :development
82
+ prerelease: false
83
+ name: bundler
84
+ version_requirements: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ hash: 23
90
+ segments:
91
+ - 1
92
+ - 0
93
+ - 0
94
+ version: 1.0.0
95
+ requirement: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ type: :development
98
+ prerelease: false
99
+ name: jeweler
100
+ version_requirements: &id006 !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ~>
104
+ - !ruby/object:Gem::Version
105
+ hash: 7
106
+ segments:
107
+ - 1
108
+ - 5
109
+ - 2
110
+ version: 1.5.2
111
+ requirement: *id006
112
+ - !ruby/object:Gem::Dependency
113
+ type: :development
114
+ prerelease: false
115
+ name: rcov
116
+ version_requirements: &id007 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ hash: 3
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ requirement: *id007
126
+ - !ruby/object:Gem::Dependency
127
+ type: :runtime
128
+ prerelease: false
129
+ name: activesupport
130
+ version_requirements: &id008 !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ hash: 3
136
+ segments:
137
+ - 0
138
+ version: "0"
139
+ requirement: *id008
140
+ description: generate iphone app skeleton based on pure mvc framework
141
+ email: eiffelqiu@gmail.com
142
+ executables:
143
+ - appjam
144
+ extensions: []
145
+
146
+ extra_rdoc_files:
147
+ - LICENSE.txt
148
+ - README.rdoc
149
+ files:
150
+ - lib/appjam.rb
151
+ - lib/appjam/generators/Classes/ContactsAppDelegate.h.tt
152
+ - lib/appjam/generators/Classes/ContactsAppDelegate.m.tt
153
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/core/Controller.h
154
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/core/Controller.m
155
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/core/Model.h
156
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/core/Model.m
157
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/core/View.h
158
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/core/View.m
159
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/ICommand.h
160
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IController.h
161
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IFacade.h
162
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IMediator.h
163
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IModel.h
164
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/INotification.h
165
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/INotifier.h
166
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IObserver.h
167
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IProxy.h
168
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/interfaces/IView.h
169
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.h
170
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/command/MacroCommand.m
171
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/command/SimpleCommand.h
172
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/command/SimpleCommand.m
173
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/facade/Facade.h
174
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/facade/Facade.m
175
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/mediator/Mediator.h
176
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/mediator/Mediator.m
177
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Notification.h
178
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Notification.m
179
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Notifier.h
180
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Notifier.m
181
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Observer.h
182
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/observer/Observer.m
183
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/proxy/Proxy.h
184
+ - lib/appjam/generators/Classes/org/puremvc/objectivec/patterns/proxy/Proxy.m
185
+ - lib/appjam/generators/Classes/users/ApplicationFacade.h.tt
186
+ - lib/appjam/generators/Classes/users/ApplicationFacade.m.tt
187
+ - lib/appjam/generators/Classes/users/controller/CreateUserCommand.h.tt
188
+ - lib/appjam/generators/Classes/users/controller/CreateUserCommand.m.tt
189
+ - lib/appjam/generators/Classes/users/controller/DeleteUserCommand.h.tt
190
+ - lib/appjam/generators/Classes/users/controller/DeleteUserCommand.m.tt
191
+ - lib/appjam/generators/Classes/users/controller/GetUsersCommand.h.tt
192
+ - lib/appjam/generators/Classes/users/controller/GetUsersCommand.m.tt
193
+ - lib/appjam/generators/Classes/users/controller/StartupCommand.h.tt
194
+ - lib/appjam/generators/Classes/users/controller/StartupCommand.m.tt
195
+ - lib/appjam/generators/Classes/users/controller/UpdateUserCommand.h.tt
196
+ - lib/appjam/generators/Classes/users/controller/UpdateUserCommand.m.tt
197
+ - lib/appjam/generators/Classes/users/model/UserProxy.h.tt
198
+ - lib/appjam/generators/Classes/users/model/UserProxy.m.tt
199
+ - lib/appjam/generators/Classes/users/model/vo/UserVO.h.tt
200
+ - lib/appjam/generators/Classes/users/model/vo/UserVO.m.tt
201
+ - lib/appjam/generators/Classes/users/view/ContactsMediator.h.tt
202
+ - lib/appjam/generators/Classes/users/view/ContactsMediator.m.tt
203
+ - lib/appjam/generators/Classes/users/view/UserFormMediator.h.tt
204
+ - lib/appjam/generators/Classes/users/view/UserFormMediator.m.tt
205
+ - lib/appjam/generators/Classes/users/view/UserListMediator.h.tt
206
+ - lib/appjam/generators/Classes/users/view/UserListMediator.m.tt
207
+ - lib/appjam/generators/Classes/users/view/components/Contacts.h.tt
208
+ - lib/appjam/generators/Classes/users/view/components/Contacts.m.tt
209
+ - lib/appjam/generators/Classes/users/view/components/UserForm.h.tt
210
+ - lib/appjam/generators/Classes/users/view/components/UserForm.m.tt
211
+ - lib/appjam/generators/Classes/users/view/components/UserList.h.tt
212
+ - lib/appjam/generators/Classes/users/view/components/UserList.m.tt
213
+ - lib/appjam/generators/Contacts-Info.plist.tt
214
+ - lib/appjam/generators/Contacts.xcodeproj/eiffel.pbxuser
215
+ - lib/appjam/generators/Contacts.xcodeproj/eiffel.perspectivev3
216
+ - lib/appjam/generators/Contacts.xcodeproj/project.pbxproj
217
+ - lib/appjam/generators/Contacts_Prefix.pch.tt
218
+ - lib/appjam/generators/app.rb
219
+ - lib/appjam/generators/main.m.tt
220
+ - lib/appjam/generators/utils/NSStringWhiteSpace.h
221
+ - lib/appjam/generators/utils/NSStringWhiteSpace.m
222
+ - lib/appjam/generators/utils/UIDevice.h
223
+ - lib/appjam/generators/utils/UIDevice.m
224
+ - lib/appjam/generators/utils/URLEncodeString.h
225
+ - lib/appjam/generators/utils/URLEncodeString.m
226
+ - lib/appjam/version.rb
227
+ - LICENSE.txt
228
+ - README.rdoc
229
+ - spec/appjam_spec.rb
230
+ - spec/spec_helper.rb
231
+ - bin/appjam
232
+ has_rdoc: true
233
+ homepage: http://github.com/eiffelqiu/appjam
234
+ licenses:
235
+ - MIT
236
+ post_install_message:
237
+ rdoc_options: []
238
+
239
+ require_paths:
240
+ - lib
241
+ required_ruby_version: !ruby/object:Gem::Requirement
242
+ none: false
243
+ requirements:
244
+ - - ">="
245
+ - !ruby/object:Gem::Version
246
+ hash: 3
247
+ segments:
248
+ - 0
249
+ version: "0"
250
+ required_rubygems_version: !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ">"
254
+ - !ruby/object:Gem::Version
255
+ hash: 25
256
+ segments:
257
+ - 1
258
+ - 3
259
+ - 1
260
+ version: 1.3.1
261
+ requirements: []
262
+
263
+ rubyforge_project:
264
+ rubygems_version: 1.3.7
265
+ signing_key:
266
+ specification_version: 3
267
+ summary: an iphone app generator
268
+ test_files:
269
+ - spec/appjam_spec.rb
270
+ - spec/spec_helper.rb