appjam 0.1.0.pre4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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