calatrava 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. data/.gitignore +9 -0
  2. data/.rvmrc +2 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +202 -0
  5. data/Plans.md +20 -0
  6. data/README.md +73 -0
  7. data/Rakefile +26 -0
  8. data/bin/calatrava +6 -0
  9. data/calatrava.gemspec +35 -0
  10. data/features/cli.feature +14 -0
  11. data/features/project.feature +48 -0
  12. data/features/step_definitions/template_steps.rb +8 -0
  13. data/features/support/env.rb +5 -0
  14. data/lib/calatrava/app.rb +30 -0
  15. data/lib/calatrava/manifest.rb +44 -0
  16. data/lib/calatrava/project.rb +218 -0
  17. data/lib/calatrava/resources_build_phase.rb +19 -0
  18. data/lib/calatrava/tasks/apache.rb +44 -0
  19. data/lib/calatrava/tasks/artifact.rb +24 -0
  20. data/lib/calatrava/tasks/assets.rb +6 -0
  21. data/lib/calatrava/tasks/automation.rb +38 -0
  22. data/lib/calatrava/tasks/bootstrap.rb +10 -0
  23. data/lib/calatrava/tasks/build.rb +1 -0
  24. data/lib/calatrava/tasks/configuration.rb +41 -0
  25. data/lib/calatrava/tasks/droid.rb +83 -0
  26. data/lib/calatrava/tasks/haml.rb +71 -0
  27. data/lib/calatrava/tasks/ios.rb +73 -0
  28. data/lib/calatrava/tasks/kernel.rb +52 -0
  29. data/lib/calatrava/tasks/precommit.rb +22 -0
  30. data/lib/calatrava/tasks/release.rb +17 -0
  31. data/lib/calatrava/tasks/shell.rb +17 -0
  32. data/lib/calatrava/tasks/web.rb +82 -0
  33. data/lib/calatrava/tasks.rb +93 -0
  34. data/lib/calatrava/template.rb +44 -0
  35. data/lib/calatrava/templates/.rvmrc.calatrava +2 -0
  36. data/lib/calatrava/templates/Gemfile.calatrava +4 -0
  37. data/lib/calatrava/templates/Rakefile +1 -0
  38. data/lib/calatrava/templates/assets/lib/ICanHaz.js +542 -0
  39. data/lib/calatrava/templates/assets/lib/underscore.js +1059 -0
  40. data/lib/calatrava/templates/assets/lib/zepto.js +1355 -0
  41. data/lib/calatrava/templates/build_env.sh +2 -0
  42. data/lib/calatrava/templates/config/environments.yml +17 -0
  43. data/lib/calatrava/templates/config/templates/env.coffee.erb +7 -0
  44. data/lib/calatrava/templates/config/templates/httpd.conf.erb +33 -0
  45. data/lib/calatrava/templates/droid/app/bridge.coffee +130 -0
  46. data/lib/calatrava/templates/droid/calatrava/ant/calatrava.xml +48 -0
  47. data/lib/calatrava/templates/droid/calatrava/calatrava-build.xml +91 -0
  48. data/lib/calatrava/templates/droid/calatrava/ivy.xml +8 -0
  49. data/lib/calatrava/templates/droid/calatrava/ivysettings.xml +12 -0
  50. data/lib/calatrava/templates/droid/calatrava/src/com/CALATRAVA_TMPL/AndroidManifest.xml.calatrava +20 -0
  51. data/lib/calatrava/templates/droid/calatrava/src/com/CALATRAVA_TMPL/ConversionForm.java.calatrava +27 -0
  52. data/lib/calatrava/templates/droid/calatrava/src/com/CALATRAVA_TMPL/Title.java.calatrava +23 -0
  53. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/CalatravaPage.java +13 -0
  54. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/AjaxRequestManager.java +166 -0
  55. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/AssetRepository.java +17 -0
  56. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/KernelBridge.java +25 -0
  57. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/Launcher.java +85 -0
  58. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/PageRegistry.java +225 -0
  59. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RegisteredActivity.java +86 -0
  60. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RequestLoader.java +31 -0
  61. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RhinoService.java +212 -0
  62. data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/shell/WebViewActivity.java +247 -0
  63. data/lib/calatrava/templates/droid/manifest.yml +1 -0
  64. data/lib/calatrava/templates/ios/Podfile.calatrava +5 -0
  65. data/lib/calatrava/templates/ios/manifest.yml +1 -0
  66. data/lib/calatrava/templates/ios/res/js/bridge.js +249 -0
  67. data/lib/calatrava/templates/ios/res/xibs/ProgressViewController.xib +334 -0
  68. data/lib/calatrava/templates/ios/res/xibs/WebViewController.xib +173 -0
  69. data/lib/calatrava/templates/ios/src/AppDelegate.h +8 -0
  70. data/lib/calatrava/templates/ios/src/AppDelegate.m +56 -0
  71. data/lib/calatrava/templates/ios/src/CALATRAVA_TMPL-Info.plist +45 -0
  72. data/lib/calatrava/templates/ios/src/CALATRAVA_TMPL-Prefix.pch +14 -0
  73. data/lib/calatrava/templates/ios/src/ConversionFormViewController.h +16 -0
  74. data/lib/calatrava/templates/ios/src/ConversionFormViewController.m +179 -0
  75. data/lib/calatrava/templates/ios/src/ConversionFormViewController.xib +357 -0
  76. data/lib/calatrava/templates/ios/src/en.lproj/InfoPlist.strings +2 -0
  77. data/lib/calatrava/templates/ios/src/main.m +10 -0
  78. data/lib/calatrava/templates/ios/test/AJAXConnectionTest.m +21 -0
  79. data/lib/calatrava/templates/ios/test/AppTests-Prefix.pch +8 -0
  80. data/lib/calatrava/templates/ios/test/CalatravaiOSTests-Info.plist +22 -0
  81. data/lib/calatrava/templates/ios/test/TWBridgePageRegistryTest.m +15 -0
  82. data/lib/calatrava/templates/ios/test/en.lproj/InfoPlist.strings +2 -0
  83. data/lib/calatrava/templates/kernel/.gitignore +1 -0
  84. data/lib/calatrava/templates/kernel/app/calatrava.coffee +8 -0
  85. data/lib/calatrava/templates/kernel/app/converter/controller.converter.coffee +50 -0
  86. data/lib/calatrava/templates/kernel/app/converter/init.converter.coffee +11 -0
  87. data/lib/calatrava/templates/kernel/app/pageHelper.coffee +17 -0
  88. data/lib/calatrava/templates/kernel/features/support/bridge.coffee +124 -0
  89. data/lib/calatrava/templates/kernel/features/support/spec_helper.js +49 -0
  90. data/lib/calatrava/templates/kernel/spec/converter/controller.converter.spec.coffee +37 -0
  91. data/lib/calatrava/templates/kernel/spec/environment.spec_helper.coffee +25 -0
  92. data/lib/calatrava/templates/kernel/spec/spec_helper.js +49 -0
  93. data/lib/calatrava/templates/kernel/spec/stubView.coffee +18 -0
  94. data/lib/calatrava/templates/kernel/watchr.rb +17 -0
  95. data/lib/calatrava/templates/package.json +20 -0
  96. data/lib/calatrava/templates/shell/layouts/single_page.haml +23 -0
  97. data/lib/calatrava/templates/shell/pages/converter/conversionForm.haml +12 -0
  98. data/lib/calatrava/templates/shell/pages/converter/page.conversionForm.coffee +42 -0
  99. data/lib/calatrava/templates/shell/shell.scss +1 -0
  100. data/lib/calatrava/templates/shell/support/shell.coffee +21 -0
  101. data/lib/calatrava/templates/web/apache/conf/mime.types +1357 -0
  102. data/lib/calatrava/templates/web/app/source/bridge.coffee +158 -0
  103. data/lib/calatrava/templates/web/app/source/init.coffee +14 -0
  104. data/lib/calatrava/templates/web/app/views/index.haml +18 -0
  105. data/lib/calatrava/templates/web/deploy/instance.sh +10 -0
  106. data/lib/calatrava/templates/web/manifest.yml +1 -0
  107. data/lib/calatrava/version.rb +3 -0
  108. data/lib/calatrava.rb +5 -0
  109. metadata +302 -0
@@ -0,0 +1,179 @@
1
+ //
2
+ // ConversionFormViewController.m
3
+ // currencyConverter
4
+ //
5
+ // Created by Giles Alexander on 7/26/12.
6
+ // Copyright (c) 2012 ThoughtWorks. All rights reserved.
7
+ //
8
+
9
+ #import "ConversionFormViewController.h"
10
+
11
+ @interface ConversionFormViewController (){
12
+ NSArray *_inCurrencyData;
13
+ NSArray *_outCurrencyData;
14
+ }
15
+
16
+ @property (retain, nonatomic) IBOutlet UIPickerView *outCurrencyPicker;
17
+ @property (retain, nonatomic) IBOutlet UIPickerView *inCurrencyPicker;
18
+
19
+ - (void)updateCurrencyPickerSelection:(UIPickerView *)pickerView usingData:(NSArray *)currencyData;
20
+ @end
21
+
22
+ @implementation ConversionFormViewController
23
+ @synthesize outCurrencyPicker;
24
+ @synthesize inCurrencyPicker;
25
+
26
+ - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
27
+ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
28
+ if (self) {
29
+ _inCurrencyData = [[NSArray alloc] init];
30
+ _outCurrencyData = [[NSArray alloc] init];
31
+ }
32
+ return self;
33
+ }
34
+
35
+ - (void)dealloc {
36
+ [outCurrencyPicker release];
37
+ [inCurrencyPicker release];
38
+ [_inCurrencyData release];
39
+ [_outCurrencyData release];
40
+ [super dealloc];
41
+ }
42
+
43
+ -(void)viewDidLoad{
44
+ [super viewDidLoad];
45
+ inCurrencyPicker.delegate = self;
46
+ inCurrencyPicker.dataSource = self;
47
+ outCurrencyPicker.delegate = self;
48
+ outCurrencyPicker.dataSource = self;
49
+ [inCurrencyPicker reloadAllComponents];
50
+ [outCurrencyPicker reloadAllComponents];
51
+ [self updateCurrencyPickerSelection:inCurrencyPicker usingData:_inCurrencyData];
52
+ [self updateCurrencyPickerSelection:outCurrencyPicker usingData:_outCurrencyData];
53
+ }
54
+
55
+ - (void)viewDidUnload
56
+ {
57
+ [self setOutCurrencyPicker:nil];
58
+ [self setInCurrencyPicker:nil];
59
+ [super viewDidUnload];
60
+ }
61
+
62
+ - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
63
+ {
64
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
65
+ }
66
+
67
+ - (void)updateCurrencyPickerSelection:(UIPickerView *)pickerView usingData:(NSArray *)currencyData
68
+ {
69
+ int i = -1;
70
+ for (NSDictionary *currencyDetails in currencyData) {
71
+ i++;
72
+ if ([[currencyDetails objectForKey:@"selected"] boolValue])
73
+ {
74
+ [pickerView selectRow:i inComponent:0 animated:NO];
75
+ }
76
+ }
77
+ }
78
+
79
+ - (void)renderCurrencyPicker:(UIPickerView *)pickerView usingData:(NSArray *)currencyData to:(NSArray **)pickerStore
80
+ {
81
+ [*pickerStore release];
82
+ *pickerStore = [currencyData copy];
83
+ if( pickerView ){
84
+ [pickerView reloadComponent:0];
85
+ [self updateCurrencyPickerSelection:pickerView usingData:currencyData];
86
+ }
87
+ }
88
+
89
+ - (void)render:(NSDictionary *)jsViewObject
90
+ {
91
+ for (NSString *key in jsViewObject)
92
+ {
93
+ id value = [jsViewObject objectForKey:key];
94
+ if( [key isEqualToString:@"inCurrencies"] )
95
+ {
96
+ [self renderCurrencyPicker:inCurrencyPicker usingData:value to:&_inCurrencyData];
97
+ }else if( [key isEqualToString:@"outCurrencies"] ){
98
+ [self renderCurrencyPicker:outCurrencyPicker usingData:value to:&_outCurrencyData];
99
+ }
100
+ }
101
+ }
102
+
103
+ - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
104
+ return 1;
105
+ }
106
+
107
+ - (NSArray *)currenciesForPicker:(UIPickerView *)picker{
108
+ if( picker == self.inCurrencyPicker ){
109
+ return _inCurrencyData;
110
+ }else if( picker == self.outCurrencyPicker ){
111
+ return _outCurrencyData;
112
+ }else{
113
+ return nil;
114
+ }
115
+ }
116
+
117
+ - (NSDictionary *)currencyDetailsForPickerView:(UIPickerView *)pickerView atRow:(NSInteger)row{
118
+ NSArray *currencies = [self currenciesForPicker:pickerView];
119
+ if( !currencies )
120
+ return nil;
121
+
122
+ return [currencies objectAtIndex:row];
123
+ }
124
+
125
+ - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
126
+ NSArray *currencies = [self currenciesForPicker:pickerView];
127
+ if( currencies )
128
+ return [currencies count];
129
+ else
130
+ return 0;
131
+ }
132
+
133
+ - (void)userSelectedCurrency:(NSDictionary *)details fromPicker:(UIPickerView *)picker
134
+ {
135
+ NSString *event = picker == inCurrencyPicker ? @"selectedInCurrency" : @"selectedOutCurrency";
136
+
137
+ NSString *currencyCode = [details objectForKey:@"code"];
138
+ [self dispatchEvent:event withArgs:[NSArray arrayWithObject:currencyCode]];
139
+ }
140
+
141
+ - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
142
+ NSDictionary *currencyDetails = [self currencyDetailsForPickerView:pickerView atRow:row];
143
+ BOOL isValidSelection = [[currencyDetails objectForKey:@"enabled"] boolValue];
144
+
145
+ if (isValidSelection) {
146
+ [self userSelectedCurrency:currencyDetails fromPicker:pickerView];
147
+ } else {
148
+ int fallbackRow = (row == 0 ? row + 1 : row - 1);
149
+ [pickerView selectRow:fallbackRow inComponent:component animated:YES];
150
+ [self userSelectedCurrency:[self currencyDetailsForPickerView:pickerView atRow:fallbackRow] fromPicker:pickerView];
151
+ }
152
+ }
153
+
154
+ - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
155
+ {
156
+ NSDictionary *currencyDetails = [self currencyDetailsForPickerView:pickerView atRow:row];
157
+
158
+ if (!view) {
159
+ view = [[UILabel alloc] init];
160
+ }
161
+
162
+ UILabel *label = (UILabel *)view;
163
+ [label setFrame:CGRectMake(9.0, 0.0, [pickerView frame].size.width - 40.0, 44.0)];
164
+ [label setText:[currencyDetails objectForKey:@"code"]];
165
+ [label setFont:[UIFont boldSystemFontOfSize:20.0]];
166
+ [label setBackgroundColor:[UIColor clearColor]];
167
+ [label setShadowColor:[UIColor whiteColor]];
168
+ [label setOpaque:NO];
169
+ [label setShadowOffset:CGSizeMake(1, 1)];
170
+ if ([[currencyDetails objectForKey:@"enabled"] boolValue])
171
+ {
172
+ [label setTextColor:[UIColor blackColor]];
173
+ } else {
174
+ [label setTextColor:[UIColor lightGrayColor]];
175
+ }
176
+ return label;
177
+ }
178
+
179
+ @end
@@ -0,0 +1,357 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
3
+ <data>
4
+ <int key="IBDocument.SystemTarget">1296</int>
5
+ <string key="IBDocument.SystemVersion">11D50d</string>
6
+ <string key="IBDocument.InterfaceBuilderVersion">2182</string>
7
+ <string key="IBDocument.AppKitVersion">1138.32</string>
8
+ <string key="IBDocument.HIToolboxVersion">568.00</string>
9
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
10
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
11
+ <string key="NS.object.0">1181</string>
12
+ </object>
13
+ <array key="IBDocument.IntegratedClassDependencies">
14
+ <string>IBUIPickerView</string>
15
+ <string>IBUITextField</string>
16
+ <string>IBUIView</string>
17
+ <string>IBUILabel</string>
18
+ <string>IBProxyObject</string>
19
+ </array>
20
+ <array key="IBDocument.PluginDependencies">
21
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
22
+ </array>
23
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
24
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
25
+ <integer value="1" key="NS.object.0"/>
26
+ </object>
27
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
28
+ <object class="IBProxyObject" id="372490531">
29
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
30
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
31
+ </object>
32
+ <object class="IBProxyObject" id="975951072">
33
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
34
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
35
+ </object>
36
+ <object class="IBUIView" id="191373211">
37
+ <reference key="NSNextResponder"/>
38
+ <int key="NSvFlags">274</int>
39
+ <array class="NSMutableArray" key="NSSubviews">
40
+ <object class="IBUILabel" id="278875700">
41
+ <reference key="NSNextResponder" ref="191373211"/>
42
+ <int key="NSvFlags">292</int>
43
+ <string key="NSFrame">{{20, 344}, {203, 96}}</string>
44
+ <reference key="NSSuperview" ref="191373211"/>
45
+ <reference key="NSWindow"/>
46
+ <reference key="NSNextKeyView"/>
47
+ <string key="NSReuseIdentifierKey">_NS:9</string>
48
+ <bool key="IBUIOpaque">NO</bool>
49
+ <bool key="IBUIClipsSubviews">YES</bool>
50
+ <int key="IBUIContentMode">7</int>
51
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
52
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
53
+ <string key="IBUIText">SERIOUSLY THIS CURRENCY CONVERTER IS REALLY AWESOME</string>
54
+ <object class="NSColor" key="IBUITextColor">
55
+ <int key="NSColorSpace">1</int>
56
+ <bytes key="NSRGB">MC4yMDA0NzEyOTc2IDAuMjAwNDcxMjk3NiAwLjIwMDQ3MTI5NzYAA</bytes>
57
+ </object>
58
+ <nil key="IBUIHighlightedColor"/>
59
+ <int key="IBUIBaselineAdjustment">0</int>
60
+ <float key="IBUIMinimumFontSize">10</float>
61
+ <int key="IBUINumberOfLines">0</int>
62
+ <object class="IBUIFontDescription" key="IBUIFontDescription" id="628107554">
63
+ <int key="type">1</int>
64
+ <double key="pointSize">17</double>
65
+ </object>
66
+ <object class="NSFont" key="IBUIFont" id="267264194">
67
+ <string key="NSName">Helvetica</string>
68
+ <double key="NSSize">17</double>
69
+ <int key="NSfFlags">16</int>
70
+ </object>
71
+ </object>
72
+ <object class="IBUILabel" id="671683200">
73
+ <reference key="NSNextResponder" ref="191373211"/>
74
+ <int key="NSvFlags">292</int>
75
+ <string key="NSFrame">{{139, 83}, {43, 90}}</string>
76
+ <reference key="NSSuperview" ref="191373211"/>
77
+ <reference key="NSWindow"/>
78
+ <reference key="NSNextKeyView" ref="463978271"/>
79
+ <string key="NSReuseIdentifierKey">_NS:9</string>
80
+ <bool key="IBUIOpaque">NO</bool>
81
+ <bool key="IBUIClipsSubviews">YES</bool>
82
+ <int key="IBUIContentMode">7</int>
83
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
84
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
85
+ <string key="IBUIText">➜</string>
86
+ <object class="NSColor" key="IBUITextColor">
87
+ <int key="NSColorSpace">1</int>
88
+ <bytes key="NSRGB">MC4yMDA0NzEyOTc2IDAuMjAwNDcxMjk3NiAwLjIwMDQ3MTI5NzYAA</bytes>
89
+ </object>
90
+ <nil key="IBUIHighlightedColor"/>
91
+ <int key="IBUIBaselineAdjustment">0</int>
92
+ <float key="IBUIMinimumFontSize">10</float>
93
+ <int key="IBUINumberOfLines">0</int>
94
+ <int key="IBUITextAlignment">1</int>
95
+ <object class="IBUIFontDescription" key="IBUIFontDescription">
96
+ <int key="type">1</int>
97
+ <double key="pointSize">46</double>
98
+ </object>
99
+ <object class="NSFont" key="IBUIFont">
100
+ <string key="NSName">Helvetica</string>
101
+ <double key="NSSize">46</double>
102
+ <int key="NSfFlags">16</int>
103
+ </object>
104
+ <bool key="IBUIAdjustsFontSizeToFit">NO</bool>
105
+ </object>
106
+ <object class="IBUILabel" id="544627895">
107
+ <reference key="NSNextResponder" ref="191373211"/>
108
+ <int key="NSvFlags">292</int>
109
+ <string key="NSFrame">{{32, 48}, {42, 21}}</string>
110
+ <reference key="NSSuperview" ref="191373211"/>
111
+ <reference key="NSWindow"/>
112
+ <reference key="NSNextKeyView" ref="671683200"/>
113
+ <string key="NSReuseIdentifierKey">_NS:9</string>
114
+ <bool key="IBUIOpaque">NO</bool>
115
+ <bool key="IBUIClipsSubviews">YES</bool>
116
+ <int key="IBUIContentMode">7</int>
117
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
118
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
119
+ <string key="IBUIText"/>
120
+ <object class="NSColor" key="IBUITextColor">
121
+ <int key="NSColorSpace">1</int>
122
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
123
+ </object>
124
+ <nil key="IBUIHighlightedColor"/>
125
+ <int key="IBUIBaselineAdjustment">0</int>
126
+ <float key="IBUIMinimumFontSize">10</float>
127
+ <reference key="IBUIFontDescription" ref="628107554"/>
128
+ <reference key="IBUIFont" ref="267264194"/>
129
+ </object>
130
+ <object class="IBUIPickerView" id="313683017">
131
+ <reference key="NSNextResponder" ref="191373211"/>
132
+ <int key="NSvFlags">290</int>
133
+ <string key="NSFrame">{{20, 20}, {110, 216}}</string>
134
+ <reference key="NSSuperview" ref="191373211"/>
135
+ <reference key="NSWindow"/>
136
+ <reference key="NSNextKeyView" ref="544627895"/>
137
+ <string key="NSReuseIdentifierKey">_NS:9</string>
138
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
139
+ <bool key="IBUIShowsSelectionIndicator">YES</bool>
140
+ </object>
141
+ <object class="IBUIPickerView" id="463978271">
142
+ <reference key="NSNextResponder" ref="191373211"/>
143
+ <int key="NSvFlags">290</int>
144
+ <string key="NSFrame">{{190, 20}, {110, 216}}</string>
145
+ <reference key="NSSuperview" ref="191373211"/>
146
+ <reference key="NSWindow"/>
147
+ <reference key="NSNextKeyView" ref="557227880"/>
148
+ <string key="NSReuseIdentifierKey">_NS:9</string>
149
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
150
+ <bool key="IBUIShowsSelectionIndicator">YES</bool>
151
+ </object>
152
+ <object class="IBUITextField" id="557227880">
153
+ <reference key="NSNextResponder" ref="191373211"/>
154
+ <int key="NSvFlags">292</int>
155
+ <string key="NSFrame">{{112, 244}, {97, 31}}</string>
156
+ <reference key="NSSuperview" ref="191373211"/>
157
+ <reference key="NSWindow"/>
158
+ <reference key="NSNextKeyView" ref="278875700"/>
159
+ <string key="NSReuseIdentifierKey">_NS:9</string>
160
+ <bool key="IBUIOpaque">NO</bool>
161
+ <bool key="IBUIClipsSubviews">YES</bool>
162
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
163
+ <int key="IBUIContentVerticalAlignment">0</int>
164
+ <string key="IBUIText"/>
165
+ <int key="IBUIBorderStyle">3</int>
166
+ <string key="IBUIPlaceholder">Amount</string>
167
+ <object class="NSColor" key="IBUITextColor">
168
+ <int key="NSColorSpace">3</int>
169
+ <bytes key="NSWhite">MAA</bytes>
170
+ <object class="NSColorSpace" key="NSCustomColorSpace" id="348585157">
171
+ <int key="NSID">2</int>
172
+ </object>
173
+ </object>
174
+ <bool key="IBUIAdjustsFontSizeToFit">YES</bool>
175
+ <float key="IBUIMinimumFontSize">17</float>
176
+ <object class="IBUITextInputTraits" key="IBUITextInputTraits">
177
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
178
+ </object>
179
+ <object class="IBUIFontDescription" key="IBUIFontDescription">
180
+ <int key="type">1</int>
181
+ <double key="pointSize">14</double>
182
+ </object>
183
+ <object class="NSFont" key="IBUIFont">
184
+ <string key="NSName">Helvetica</string>
185
+ <double key="NSSize">14</double>
186
+ <int key="NSfFlags">16</int>
187
+ </object>
188
+ </object>
189
+ </array>
190
+ <string key="NSFrame">{{0, 20}, {320, 460}}</string>
191
+ <reference key="NSSuperview"/>
192
+ <reference key="NSWindow"/>
193
+ <reference key="NSNextKeyView" ref="313683017"/>
194
+ <object class="NSColor" key="IBUIBackgroundColor">
195
+ <int key="NSColorSpace">3</int>
196
+ <bytes key="NSWhite">MQA</bytes>
197
+ <reference key="NSCustomColorSpace" ref="348585157"/>
198
+ </object>
199
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
200
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
201
+ </object>
202
+ </array>
203
+ <object class="IBObjectContainer" key="IBDocument.Objects">
204
+ <array class="NSMutableArray" key="connectionRecords">
205
+ <object class="IBConnectionRecord">
206
+ <object class="IBCocoaTouchOutletConnection" key="connection">
207
+ <string key="label">view</string>
208
+ <reference key="source" ref="372490531"/>
209
+ <reference key="destination" ref="191373211"/>
210
+ </object>
211
+ <int key="connectionID">3</int>
212
+ </object>
213
+ <object class="IBConnectionRecord">
214
+ <object class="IBCocoaTouchOutletConnection" key="connection">
215
+ <string key="label">outCurrencyPicker</string>
216
+ <reference key="source" ref="372490531"/>
217
+ <reference key="destination" ref="463978271"/>
218
+ </object>
219
+ <int key="connectionID">11</int>
220
+ </object>
221
+ <object class="IBConnectionRecord">
222
+ <object class="IBCocoaTouchOutletConnection" key="connection">
223
+ <string key="label">inCurrencyPicker</string>
224
+ <reference key="source" ref="372490531"/>
225
+ <reference key="destination" ref="313683017"/>
226
+ </object>
227
+ <int key="connectionID">12</int>
228
+ </object>
229
+ </array>
230
+ <object class="IBMutableOrderedSet" key="objectRecords">
231
+ <array key="orderedObjects">
232
+ <object class="IBObjectRecord">
233
+ <int key="objectID">0</int>
234
+ <array key="object" id="0"/>
235
+ <reference key="children" ref="1000"/>
236
+ <nil key="parent"/>
237
+ </object>
238
+ <object class="IBObjectRecord">
239
+ <int key="objectID">1</int>
240
+ <reference key="object" ref="191373211"/>
241
+ <array class="NSMutableArray" key="children">
242
+ <reference ref="278875700"/>
243
+ <reference ref="544627895"/>
244
+ <reference ref="313683017"/>
245
+ <reference ref="671683200"/>
246
+ <reference ref="463978271"/>
247
+ <reference ref="557227880"/>
248
+ </array>
249
+ <reference key="parent" ref="0"/>
250
+ </object>
251
+ <object class="IBObjectRecord">
252
+ <int key="objectID">-1</int>
253
+ <reference key="object" ref="372490531"/>
254
+ <reference key="parent" ref="0"/>
255
+ <string key="objectName">File's Owner</string>
256
+ </object>
257
+ <object class="IBObjectRecord">
258
+ <int key="objectID">-2</int>
259
+ <reference key="object" ref="975951072"/>
260
+ <reference key="parent" ref="0"/>
261
+ </object>
262
+ <object class="IBObjectRecord">
263
+ <int key="objectID">4</int>
264
+ <reference key="object" ref="278875700"/>
265
+ <reference key="parent" ref="191373211"/>
266
+ </object>
267
+ <object class="IBObjectRecord">
268
+ <int key="objectID">5</int>
269
+ <reference key="object" ref="544627895"/>
270
+ <reference key="parent" ref="191373211"/>
271
+ </object>
272
+ <object class="IBObjectRecord">
273
+ <int key="objectID">6</int>
274
+ <reference key="object" ref="313683017"/>
275
+ <reference key="parent" ref="191373211"/>
276
+ </object>
277
+ <object class="IBObjectRecord">
278
+ <int key="objectID">7</int>
279
+ <reference key="object" ref="671683200"/>
280
+ <reference key="parent" ref="191373211"/>
281
+ </object>
282
+ <object class="IBObjectRecord">
283
+ <int key="objectID">8</int>
284
+ <reference key="object" ref="463978271"/>
285
+ <reference key="parent" ref="191373211"/>
286
+ </object>
287
+ <object class="IBObjectRecord">
288
+ <int key="objectID">9</int>
289
+ <reference key="object" ref="557227880"/>
290
+ <reference key="parent" ref="191373211"/>
291
+ </object>
292
+ </array>
293
+ </object>
294
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
295
+ <string key="-1.CustomClassName">ConversionFormViewController</string>
296
+ <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
297
+ <string key="-2.CustomClassName">UIResponder</string>
298
+ <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
299
+ <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
300
+ <string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
301
+ <string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
302
+ <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
303
+ <string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
304
+ <string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
305
+ <string key="9.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
306
+ </dictionary>
307
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
308
+ <nil key="activeLocalization"/>
309
+ <dictionary class="NSMutableDictionary" key="localizations"/>
310
+ <nil key="sourceID"/>
311
+ <int key="maxID">12</int>
312
+ </object>
313
+ <object class="IBClassDescriber" key="IBDocument.Classes">
314
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
315
+ <object class="IBPartialClassDescription">
316
+ <string key="className">BaseUIViewController</string>
317
+ <string key="superclassName">UIViewController</string>
318
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
319
+ <string key="majorKey">IBProjectSource</string>
320
+ <string key="minorKey">./Classes/BaseUIViewController.h</string>
321
+ </object>
322
+ </object>
323
+ <object class="IBPartialClassDescription">
324
+ <string key="className">ConversionFormViewController</string>
325
+ <string key="superclassName">BaseUIViewController</string>
326
+ <dictionary class="NSMutableDictionary" key="outlets">
327
+ <string key="inCurrencyPicker">UIPickerView</string>
328
+ <string key="outCurrencyPicker">UIPickerView</string>
329
+ </dictionary>
330
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
331
+ <object class="IBToOneOutletInfo" key="inCurrencyPicker">
332
+ <string key="name">inCurrencyPicker</string>
333
+ <string key="candidateClassName">UIPickerView</string>
334
+ </object>
335
+ <object class="IBToOneOutletInfo" key="outCurrencyPicker">
336
+ <string key="name">outCurrencyPicker</string>
337
+ <string key="candidateClassName">UIPickerView</string>
338
+ </object>
339
+ </dictionary>
340
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
341
+ <string key="majorKey">IBProjectSource</string>
342
+ <string key="minorKey">./Classes/ConversionFormViewController.h</string>
343
+ </object>
344
+ </object>
345
+ </array>
346
+ </object>
347
+ <int key="IBDocument.localizationMode">0</int>
348
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
349
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
350
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
351
+ <real value="1296" key="NS.object.0"/>
352
+ </object>
353
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
354
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
355
+ <string key="IBCocoaTouchPluginVersion">1181</string>
356
+ </data>
357
+ </archive>
@@ -0,0 +1,2 @@
1
+ /* Localized versions of Info.plist keys */
2
+
@@ -0,0 +1,10 @@
1
+ #import <UIKit/UIKit.h>
2
+
3
+ #import "AppDelegate.h"
4
+
5
+ int main(int argc, char *argv[])
6
+ {
7
+ @autoreleasepool {
8
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
9
+ }
10
+ }
@@ -0,0 +1,21 @@
1
+ #import "Kiwi.h"
2
+ #import "AJAXConnection.h"
3
+
4
+ SPEC_BEGIN(AJAXConnectionSpec)
5
+
6
+ describe(@"AJAXConnection", ^{
7
+ pending(@"should set request type", ^{
8
+ id urlConnection = [NSURLConnection mock];
9
+ id navController = [UINavigationController mock];
10
+
11
+ NSString *connectionMethod = @"GET";
12
+ NSString *connectionURL = @"http://example.com";
13
+ AJAXConnection *connection = [[AJAXConnection alloc] initWithRequestId:@"testRequest" url:connectionURL root:navController];
14
+
15
+ [connection setHttpMethod:connectionMethod];
16
+
17
+ [connection execute];
18
+ });
19
+ });
20
+
21
+ SPEC_END
@@ -0,0 +1,8 @@
1
+ //
2
+ // Prefix header for all source files of the 'App' target in the 'App' project
3
+ //
4
+
5
+ #ifdef __OBJC__
6
+ #import <UIKit/UIKit.h>
7
+ #import <Foundation/Foundation.h>
8
+ #endif
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>en</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>${EXECUTABLE_NAME}</string>
9
+ <key>CFBundleIdentifier</key>
10
+ <string>com.thoughtworks.${PRODUCT_NAME:rfc1034identifier}</string>
11
+ <key>CFBundleInfoDictionaryVersion</key>
12
+ <string>6.0</string>
13
+ <key>CFBundlePackageType</key>
14
+ <string>BNDL</string>
15
+ <key>CFBundleShortVersionString</key>
16
+ <string>1.0</string>
17
+ <key>CFBundleSignature</key>
18
+ <string>????</string>
19
+ <key>CFBundleVersion</key>
20
+ <string>1</string>
21
+ </dict>
22
+ </plist>
@@ -0,0 +1,15 @@
1
+ #import "Kiwi.h"
2
+ #import "TWBridgePageRegistry.h"
3
+
4
+ SPEC_BEGIN(TWBridgePageRegistryTest)
5
+ describe(@"TWBridgePageRegistry", ^{
6
+ it(@"should provide a shared instance", ^{
7
+ id sharedRegistry = [TWBridgePageRegistry sharedRegistry];
8
+
9
+ [[sharedRegistry shouldNot] beNil];
10
+
11
+ [[[TWBridgePageRegistry sharedRegistry] should] equal:sharedRegistry];
12
+ });
13
+ });
14
+
15
+ SPEC_END
@@ -0,0 +1,2 @@
1
+ /* Localized versions of Info.plist keys */
2
+
@@ -0,0 +1 @@
1
+ /public/*
@@ -0,0 +1,8 @@
1
+ calatrava ?= {}
2
+
3
+ calatrava.pageView ?= {}
4
+
5
+ calatrava.app =
6
+
7
+ rootFeature: ->
8
+