formotion 0.5.1 → 1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +24 -0
- data/LIST_OF_ROW_TYPES.md +1 -1
- data/Rakefile +20 -5
- data/app/app_delegate.rb +89 -17
- data/examples/FormModel/.gitignore +5 -0
- data/examples/FormModel/Rakefile +9 -0
- data/examples/FormModel/app/app_delegate.rb +11 -0
- data/examples/FormModel/app/user.rb +18 -0
- data/examples/FormModel/app/users_controller.rb +52 -0
- data/examples/FormModel/spec/main_spec.rb +9 -0
- data/examples/KitchenSink/app/app_delegate.rb +2 -2
- data/gh-pages/assets/css/bootstrap-responsive.css +815 -0
- data/gh-pages/assets/css/bootstrap-responsive.min.css +9 -0
- data/gh-pages/assets/css/bootstrap.css +4983 -0
- data/gh-pages/assets/css/bootstrap.min.css +9 -0
- data/gh-pages/assets/css/formotion.css +117 -0
- data/gh-pages/assets/css/pygments.css +62 -0
- data/gh-pages/assets/img/glyphicons-halflings-white.png +0 -0
- data/gh-pages/assets/img/glyphicons-halflings.png +0 -0
- data/gh-pages/assets/js/bootstrap-alert.js +90 -0
- data/gh-pages/assets/js/bootstrap-button.js +96 -0
- data/gh-pages/assets/js/bootstrap-carousel.js +169 -0
- data/gh-pages/assets/js/bootstrap-collapse.js +157 -0
- data/gh-pages/assets/js/bootstrap-dropdown.js +100 -0
- data/gh-pages/assets/js/bootstrap-modal.js +218 -0
- data/gh-pages/assets/js/bootstrap-popover.js +98 -0
- data/gh-pages/assets/js/bootstrap-scrollspy.js +151 -0
- data/gh-pages/assets/js/bootstrap-tab.js +135 -0
- data/gh-pages/assets/js/bootstrap-tooltip.js +275 -0
- data/gh-pages/assets/js/bootstrap-transition.js +61 -0
- data/gh-pages/assets/js/bootstrap-typeahead.js +285 -0
- data/gh-pages/assets/js/bootstrap.js +1825 -0
- data/gh-pages/assets/js/bootstrap.min.js +6 -0
- data/gh-pages/index.html +205 -0
- data/lib/formotion.rb +15 -2
- data/lib/formotion/base.rb +5 -5
- data/lib/formotion/{form_controller.rb → controller/form_controller.rb} +22 -3
- data/lib/formotion/controller/formable_controller.rb +21 -0
- data/lib/formotion/form/form.rb +31 -8
- data/lib/formotion/form/form_delegate.rb +26 -3
- data/lib/formotion/model/formable.rb +78 -0
- data/lib/formotion/row/row.rb +54 -21
- data/lib/formotion/row/row_cell_builder.rb +1 -1
- data/lib/formotion/row_type/back_row.rb +11 -0
- data/lib/formotion/row_type/base.rb +42 -1
- data/lib/formotion/row_type/button.rb +30 -0
- data/lib/formotion/row_type/check_row.rb +9 -5
- data/lib/formotion/row_type/date_row.rb +5 -0
- data/lib/formotion/row_type/edit_row.rb +14 -0
- data/lib/formotion/row_type/image_row.rb +7 -7
- data/lib/formotion/row_type/options_row.rb +18 -8
- data/lib/formotion/row_type/slider_row.rb +14 -5
- data/lib/formotion/row_type/string_row.rb +17 -5
- data/lib/formotion/row_type/subform_row.rb +16 -0
- data/lib/formotion/row_type/submit_row.rb +1 -24
- data/lib/formotion/row_type/switch_row.rb +10 -2
- data/lib/formotion/row_type/template_row.rb +77 -0
- data/lib/formotion/row_type/text_row.rb +12 -4
- data/lib/formotion/section/section.rb +9 -1
- data/lib/formotion/version.rb +1 -1
- data/spec/form_spec.rb +24 -0
- data/spec/formable_spec.rb +100 -0
- data/spec/functional/formable_controller_spec.rb +47 -0
- data/spec/functional/image_row_spec.rb +2 -2
- data/spec/functional/subform_row.rb +33 -0
- data/spec/functional/template_row_spec.rb +57 -0
- data/spec/helpers/row_test_helpers.rb +26 -0
- data/spec/row_type/back_spec.rb +31 -0
- data/spec/row_type/check_spec.rb +9 -9
- data/spec/row_type/date_spec.rb +3 -10
- data/spec/row_type/email_spec.rb +1 -9
- data/spec/row_type/image_spec.rb +3 -12
- data/spec/row_type/number_spec.rb +1 -9
- data/spec/row_type/options_spec.rb +18 -10
- data/spec/row_type/phone_spec.rb +1 -9
- data/spec/row_type/picker_spec.rb +2 -11
- data/spec/row_type/slider_spec.rb +11 -10
- data/spec/row_type/static_spec.rb +1 -9
- data/spec/row_type/string_spec.rb +13 -9
- data/spec/row_type/subform_spec.rb +47 -0
- data/spec/row_type/submit_spec.rb +1 -9
- data/spec/row_type/switch_spec.rb +9 -9
- data/spec/row_type/template_spec.rb +14 -0
- data/spec/row_type/text_spec.rb +9 -9
- metadata +58 -6
@@ -1,14 +1,6 @@
|
|
1
1
|
# Tests character row behavior on a string type
|
2
2
|
describe "String Row Type" do
|
3
|
-
|
4
|
-
row_settings = {
|
5
|
-
title: "String",
|
6
|
-
key: :string,
|
7
|
-
type: :string,
|
8
|
-
}
|
9
|
-
@row = Formotion::Row.new(row_settings)
|
10
|
-
@row.reuse_identifier = 'test'
|
11
|
-
end
|
3
|
+
tests_row :string
|
12
4
|
|
13
5
|
it "should initialize with correct settings" do
|
14
6
|
@row.object.class.should == Formotion::RowType::StringRow
|
@@ -32,6 +24,18 @@ describe "String Row Type" do
|
|
32
24
|
@row.text_field.text.should == 'init value'
|
33
25
|
end
|
34
26
|
|
27
|
+
it "should be bound to value of row" do
|
28
|
+
@row.value = "first value"
|
29
|
+
cell = @row.make_cell
|
30
|
+
|
31
|
+
@row.value = "new value"
|
32
|
+
@row.text_field.text.should == 'new value'
|
33
|
+
|
34
|
+
@row.text_field.setText("other value")
|
35
|
+
@row.text_field.delegate.on_change(@row.text_field)
|
36
|
+
@row.value.should == "other value"
|
37
|
+
end
|
38
|
+
|
35
39
|
# Placeholder
|
36
40
|
it "should have no placeholder by default" do
|
37
41
|
cell = @row.make_cell
|
@@ -0,0 +1,47 @@
|
|
1
|
+
describe "Subform Row" do
|
2
|
+
tests_row title: "Subform", type: :subform,
|
3
|
+
subform: {
|
4
|
+
sections: [{
|
5
|
+
rows: [{
|
6
|
+
title: 'Hello',
|
7
|
+
type: :static
|
8
|
+
}]
|
9
|
+
}]
|
10
|
+
}
|
11
|
+
|
12
|
+
it "should build cell with a label and an accessory" do
|
13
|
+
cell = @row.make_cell
|
14
|
+
cell.accessoryType.should == UITableViewCellAccessoryDisclosureIndicator
|
15
|
+
cell.textLabel.text.should == 'Subform'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should build subform" do
|
19
|
+
@row.subform.to_form.class.should == Formotion::Form
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should push subform on select" do
|
23
|
+
form = FakeForm.new
|
24
|
+
@row.instance_variable_set("@section", form)
|
25
|
+
|
26
|
+
@row.object.on_select(nil, nil)
|
27
|
+
form.controller.push_subform_called.should == true
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
class FakeForm
|
33
|
+
def form
|
34
|
+
self
|
35
|
+
end
|
36
|
+
|
37
|
+
def controller
|
38
|
+
@controller ||= FakeControllerClass.new
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class FakeControllerClass
|
43
|
+
attr_accessor :push_subform_called
|
44
|
+
def push_subform(form)
|
45
|
+
self.push_subform_called = true
|
46
|
+
end
|
47
|
+
end
|
@@ -1,13 +1,5 @@
|
|
1
1
|
describe "Submit Row" do
|
2
|
-
|
3
|
-
row_settings = {
|
4
|
-
title: "Submit",
|
5
|
-
key: :submit,
|
6
|
-
type: :submit,
|
7
|
-
}
|
8
|
-
@row = Formotion::Row.new(row_settings)
|
9
|
-
@row.reuse_identifier = 'test'
|
10
|
-
end
|
2
|
+
tests_row :submit
|
11
3
|
|
12
4
|
it "should initialize with correct settings" do
|
13
5
|
@row.object.class.should == Formotion::RowType::SubmitRow
|
@@ -1,13 +1,5 @@
|
|
1
1
|
describe "Switch Row" do
|
2
|
-
|
3
|
-
row_settings = {
|
4
|
-
title: "Switch",
|
5
|
-
key: :switch,
|
6
|
-
type: :switch,
|
7
|
-
}
|
8
|
-
@row = Formotion::Row.new(row_settings)
|
9
|
-
@row.reuse_identifier = 'test'
|
10
|
-
end
|
2
|
+
tests_row :switch
|
11
3
|
|
12
4
|
it "should initialize with correct settings" do
|
13
5
|
@row.object.class.should == Formotion::RowType::SwitchRow
|
@@ -24,4 +16,12 @@ describe "Switch Row" do
|
|
24
16
|
cell = @row.make_cell
|
25
17
|
cell.accessoryView.on?.should == true
|
26
18
|
end
|
19
|
+
|
20
|
+
it "should bind its switch" do
|
21
|
+
@row.value = true
|
22
|
+
cell = @row.make_cell
|
23
|
+
|
24
|
+
@row.value = false
|
25
|
+
cell.accessoryView.on?.should == false
|
26
|
+
end
|
27
27
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
describe "Template Row" do
|
2
|
+
tests_row title: "Template", key: :template, type: :template,
|
3
|
+
template: {type: :string}
|
4
|
+
|
5
|
+
it "should initialize with correct settings" do
|
6
|
+
@row.object.class.should == Formotion::RowType::TemplateRow
|
7
|
+
end
|
8
|
+
|
9
|
+
# Value
|
10
|
+
it "should select default value" do
|
11
|
+
cell = @row.make_cell
|
12
|
+
@row.value.should == nil
|
13
|
+
end
|
14
|
+
end
|
data/spec/row_type/text_spec.rb
CHANGED
@@ -1,13 +1,5 @@
|
|
1
1
|
describe "Text Row" do
|
2
|
-
|
3
|
-
row_settings = {
|
4
|
-
title: "Text",
|
5
|
-
key: :text,
|
6
|
-
type: :text,
|
7
|
-
}
|
8
|
-
@row = Formotion::Row.new(row_settings)
|
9
|
-
@row.reuse_identifier = 'test'
|
10
|
-
end
|
2
|
+
tests_row :text
|
11
3
|
|
12
4
|
it "should initialize with correct settings" do
|
13
5
|
@row.object.class.should == Formotion::RowType::TextRow
|
@@ -26,6 +18,14 @@ describe "Text Row" do
|
|
26
18
|
@row.text_field.text.should == 'init value'
|
27
19
|
end
|
28
20
|
|
21
|
+
it "should bind row.value" do
|
22
|
+
@row.value = 'init value'
|
23
|
+
cell = @row.make_cell
|
24
|
+
|
25
|
+
@row.value = "new value"
|
26
|
+
@row.text_field.text.should == 'new value'
|
27
|
+
end
|
28
|
+
|
29
29
|
# Placeholder
|
30
30
|
it "should have no placeholder by default" do
|
31
31
|
cell = @row.make_cell
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: formotion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0
|
4
|
+
version: '1.0'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bubble-wrap
|
@@ -60,6 +60,12 @@ files:
|
|
60
60
|
- README.md
|
61
61
|
- Rakefile
|
62
62
|
- app/app_delegate.rb
|
63
|
+
- examples/FormModel/.gitignore
|
64
|
+
- examples/FormModel/Rakefile
|
65
|
+
- examples/FormModel/app/app_delegate.rb
|
66
|
+
- examples/FormModel/app/user.rb
|
67
|
+
- examples/FormModel/app/users_controller.rb
|
68
|
+
- examples/FormModel/spec/main_spec.rb
|
63
69
|
- examples/KitchenSink/.gitignore
|
64
70
|
- examples/KitchenSink/README.md
|
65
71
|
- examples/KitchenSink/Rakefile
|
@@ -71,12 +77,37 @@ files:
|
|
71
77
|
- examples/Login/app/login_controller.rb
|
72
78
|
- examples/Login/app/user_controller.rb
|
73
79
|
- examples/Login/spec/main_spec.rb
|
80
|
+
- gh-pages/assets/css/bootstrap-responsive.css
|
81
|
+
- gh-pages/assets/css/bootstrap-responsive.min.css
|
82
|
+
- gh-pages/assets/css/bootstrap.css
|
83
|
+
- gh-pages/assets/css/bootstrap.min.css
|
84
|
+
- gh-pages/assets/css/formotion.css
|
85
|
+
- gh-pages/assets/css/pygments.css
|
86
|
+
- gh-pages/assets/img/glyphicons-halflings-white.png
|
87
|
+
- gh-pages/assets/img/glyphicons-halflings.png
|
88
|
+
- gh-pages/assets/js/bootstrap-alert.js
|
89
|
+
- gh-pages/assets/js/bootstrap-button.js
|
90
|
+
- gh-pages/assets/js/bootstrap-carousel.js
|
91
|
+
- gh-pages/assets/js/bootstrap-collapse.js
|
92
|
+
- gh-pages/assets/js/bootstrap-dropdown.js
|
93
|
+
- gh-pages/assets/js/bootstrap-modal.js
|
94
|
+
- gh-pages/assets/js/bootstrap-popover.js
|
95
|
+
- gh-pages/assets/js/bootstrap-scrollspy.js
|
96
|
+
- gh-pages/assets/js/bootstrap-tab.js
|
97
|
+
- gh-pages/assets/js/bootstrap-tooltip.js
|
98
|
+
- gh-pages/assets/js/bootstrap-transition.js
|
99
|
+
- gh-pages/assets/js/bootstrap-typeahead.js
|
100
|
+
- gh-pages/assets/js/bootstrap.js
|
101
|
+
- gh-pages/assets/js/bootstrap.min.js
|
102
|
+
- gh-pages/index.html
|
74
103
|
- lib/formotion.rb
|
75
104
|
- lib/formotion/base.rb
|
105
|
+
- lib/formotion/controller/form_controller.rb
|
106
|
+
- lib/formotion/controller/formable_controller.rb
|
76
107
|
- lib/formotion/exceptions.rb
|
77
108
|
- lib/formotion/form/form.rb
|
78
109
|
- lib/formotion/form/form_delegate.rb
|
79
|
-
- lib/formotion/
|
110
|
+
- lib/formotion/model/formable.rb
|
80
111
|
- lib/formotion/patch/object.rb
|
81
112
|
- lib/formotion/patch/ui_action_sheet.rb
|
82
113
|
- lib/formotion/patch/ui_text_field.rb
|
@@ -84,9 +115,12 @@ files:
|
|
84
115
|
- lib/formotion/patch/ui_text_view_placeholder.rb
|
85
116
|
- lib/formotion/row/row.rb
|
86
117
|
- lib/formotion/row/row_cell_builder.rb
|
118
|
+
- lib/formotion/row_type/back_row.rb
|
87
119
|
- lib/formotion/row_type/base.rb
|
120
|
+
- lib/formotion/row_type/button.rb
|
88
121
|
- lib/formotion/row_type/check_row.rb
|
89
122
|
- lib/formotion/row_type/date_row.rb
|
123
|
+
- lib/formotion/row_type/edit_row.rb
|
90
124
|
- lib/formotion/row_type/email_row.rb
|
91
125
|
- lib/formotion/row_type/image_row.rb
|
92
126
|
- lib/formotion/row_type/number_row.rb
|
@@ -97,23 +131,31 @@ files:
|
|
97
131
|
- lib/formotion/row_type/slider_row.rb
|
98
132
|
- lib/formotion/row_type/static_row.rb
|
99
133
|
- lib/formotion/row_type/string_row.rb
|
134
|
+
- lib/formotion/row_type/subform_row.rb
|
100
135
|
- lib/formotion/row_type/submit_row.rb
|
101
136
|
- lib/formotion/row_type/switch_row.rb
|
137
|
+
- lib/formotion/row_type/template_row.rb
|
102
138
|
- lib/formotion/row_type/text_row.rb
|
103
139
|
- lib/formotion/section/section.rb
|
104
140
|
- lib/formotion/version.rb
|
105
141
|
- spec/form_spec.rb
|
142
|
+
- spec/formable_spec.rb
|
106
143
|
- spec/functional/character_spec.rb
|
107
144
|
- spec/functional/check_row_spec.rb
|
108
145
|
- spec/functional/date_row_spec.rb
|
146
|
+
- spec/functional/formable_controller_spec.rb
|
109
147
|
- spec/functional/image_row_spec.rb
|
110
148
|
- spec/functional/options_row_spec.rb
|
111
149
|
- spec/functional/picker_row_spec.rb
|
112
150
|
- spec/functional/slider_row_spec.rb
|
151
|
+
- spec/functional/subform_row.rb
|
113
152
|
- spec/functional/submit_row_spec.rb
|
114
153
|
- spec/functional/switch_row_spec.rb
|
154
|
+
- spec/functional/template_row_spec.rb
|
115
155
|
- spec/functional/text_row_spec.rb
|
156
|
+
- spec/helpers/row_test_helpers.rb
|
116
157
|
- spec/row_spec.rb
|
158
|
+
- spec/row_type/back_spec.rb
|
117
159
|
- spec/row_type/check_spec.rb
|
118
160
|
- spec/row_type/date_spec.rb
|
119
161
|
- spec/row_type/email_spec.rb
|
@@ -125,8 +167,10 @@ files:
|
|
125
167
|
- spec/row_type/slider_spec.rb
|
126
168
|
- spec/row_type/static_spec.rb
|
127
169
|
- spec/row_type/string_spec.rb
|
170
|
+
- spec/row_type/subform_spec.rb
|
128
171
|
- spec/row_type/submit_spec.rb
|
129
172
|
- spec/row_type/switch_spec.rb
|
173
|
+
- spec/row_type/template_spec.rb
|
130
174
|
- spec/row_type/text_spec.rb
|
131
175
|
- spec/section_spec.rb
|
132
176
|
- spec/support/ui_control_wrap_extension.rb
|
@@ -144,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
144
188
|
version: '0'
|
145
189
|
segments:
|
146
190
|
- 0
|
147
|
-
hash:
|
191
|
+
hash: 84446603769905079
|
148
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
193
|
none: false
|
150
194
|
requirements:
|
@@ -153,26 +197,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
197
|
version: '0'
|
154
198
|
segments:
|
155
199
|
- 0
|
156
|
-
hash:
|
200
|
+
hash: 84446603769905079
|
157
201
|
requirements: []
|
158
202
|
rubyforge_project:
|
159
|
-
rubygems_version: 1.8.
|
203
|
+
rubygems_version: 1.8.23
|
160
204
|
signing_key:
|
161
205
|
specification_version: 3
|
162
206
|
summary: Making iOS Forms insanely great with RubyMotion
|
163
207
|
test_files:
|
164
208
|
- spec/form_spec.rb
|
209
|
+
- spec/formable_spec.rb
|
165
210
|
- spec/functional/character_spec.rb
|
166
211
|
- spec/functional/check_row_spec.rb
|
167
212
|
- spec/functional/date_row_spec.rb
|
213
|
+
- spec/functional/formable_controller_spec.rb
|
168
214
|
- spec/functional/image_row_spec.rb
|
169
215
|
- spec/functional/options_row_spec.rb
|
170
216
|
- spec/functional/picker_row_spec.rb
|
171
217
|
- spec/functional/slider_row_spec.rb
|
218
|
+
- spec/functional/subform_row.rb
|
172
219
|
- spec/functional/submit_row_spec.rb
|
173
220
|
- spec/functional/switch_row_spec.rb
|
221
|
+
- spec/functional/template_row_spec.rb
|
174
222
|
- spec/functional/text_row_spec.rb
|
223
|
+
- spec/helpers/row_test_helpers.rb
|
175
224
|
- spec/row_spec.rb
|
225
|
+
- spec/row_type/back_spec.rb
|
176
226
|
- spec/row_type/check_spec.rb
|
177
227
|
- spec/row_type/date_spec.rb
|
178
228
|
- spec/row_type/email_spec.rb
|
@@ -184,8 +234,10 @@ test_files:
|
|
184
234
|
- spec/row_type/slider_spec.rb
|
185
235
|
- spec/row_type/static_spec.rb
|
186
236
|
- spec/row_type/string_spec.rb
|
237
|
+
- spec/row_type/subform_spec.rb
|
187
238
|
- spec/row_type/submit_spec.rb
|
188
239
|
- spec/row_type/switch_spec.rb
|
240
|
+
- spec/row_type/template_spec.rb
|
189
241
|
- spec/row_type/text_spec.rb
|
190
242
|
- spec/section_spec.rb
|
191
243
|
- spec/support/ui_control_wrap_extension.rb
|