motion-prime 0.1.7 → 0.2.0

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 (46) hide show
  1. checksums.yaml +8 -8
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile.lock +1 -1
  4. data/files/app/config/base.rb +7 -4
  5. data/files/app/styles/sidebar.rb +4 -4
  6. data/lib/motion-prime.rb +1 -0
  7. data/motion-prime/config/base.rb +5 -0
  8. data/motion-prime/elements/_text_height_mixin.rb +4 -4
  9. data/motion-prime/elements/base.rb +11 -5
  10. data/motion-prime/elements/draw.rb +105 -26
  11. data/motion-prime/elements/draw/image.rb +2 -2
  12. data/motion-prime/elements/draw/label.rb +20 -3
  13. data/motion-prime/elements/error_message.rb +23 -0
  14. data/motion-prime/elements/label.rb +8 -0
  15. data/motion-prime/models/association.rb +0 -1
  16. data/motion-prime/models/base.rb +8 -192
  17. data/motion-prime/models/errors.rb +62 -1
  18. data/motion-prime/models/exceptions.rb +3 -0
  19. data/motion-prime/models/model.rb +33 -1
  20. data/motion-prime/models/sync.rb +233 -0
  21. data/motion-prime/screens/_base_mixin.rb +4 -1
  22. data/motion-prime/screens/_navigation_mixin.rb +5 -5
  23. data/motion-prime/sections/base.rb +18 -5
  24. data/motion-prime/sections/form.rb +75 -16
  25. data/motion-prime/sections/form/base_field_section.rb +52 -1
  26. data/motion-prime/sections/form/select_field_section.rb +14 -1
  27. data/motion-prime/sections/form/string_field_section.rb +20 -5
  28. data/motion-prime/sections/form/switch_field_section.rb +33 -0
  29. data/motion-prime/sections/form/table_field_section.rb +40 -0
  30. data/motion-prime/sections/form/text_field_section.rb +23 -6
  31. data/motion-prime/sections/table.rb +25 -8
  32. data/motion-prime/styles/base.rb +31 -4
  33. data/motion-prime/support/dm_button.rb +3 -2
  34. data/motion-prime/version.rb +1 -1
  35. data/motion-prime/views/layout.rb +1 -1
  36. data/motion-prime/views/view_builder.rb +82 -66
  37. data/motion-prime/views/view_styler.rb +2 -0
  38. data/resources/fonts/ubuntu.ttf +0 -0
  39. data/spec/helpers/models.rb +1 -1
  40. data/spec/models/association_spec.rb +1 -1
  41. data/spec/models/errors_spec.rb +29 -0
  42. data/spec/models/finder_spec.rb +1 -1
  43. data/spec/models/{base_model_spec.rb → model_spec.rb} +30 -1
  44. data/spec/models/store_extension_spec.rb +1 -1
  45. data/spec/models/store_spec.rb +1 -1
  46. metadata +12 -4
@@ -126,6 +126,8 @@ module MotionPrime
126
126
  end
127
127
  elsif key.end_with?('image')
128
128
  view.setValue value.uiimage, forKey: key.camelize
129
+ elsif key == 'keyboard_type'
130
+ view.setKeyboardType value.uikeyboardtype
129
131
  elsif value.is_a?(Hash)
130
132
  self.class.new(view.send(key.camelize(:lower).to_sym), nil, value).apply
131
133
  else
Binary file
@@ -1,5 +1,5 @@
1
1
  class User < MotionPrime::BaseModel
2
- attributes :name, :age, :created_at
2
+ attributes :id, :name, :age, :created_at
3
3
  end
4
4
 
5
5
  class Plane < MotionPrime::BaseModel
@@ -1,4 +1,4 @@
1
- describe "Associations" do
1
+ describe "Model Associations" do
2
2
  before do
3
3
  MotionPrime::Store.connect
4
4
  end
@@ -0,0 +1,29 @@
1
+ describe "Model Errors" do
2
+ before do
3
+ MotionPrime::Store.connect
4
+ @user = stub_user("Bob", 10, Time.now)
5
+ end
6
+
7
+ describe "#errors" do
8
+ it "should be blank on initialize" do
9
+ @user.errors.blank?.should == true
10
+ end
11
+
12
+ it "should not be blank after adding error" do
13
+ @user.errors.add(:foo, 'bar')
14
+ @user.errors.blank?.should == false
15
+ end
16
+
17
+ it "should not present after reset" do
18
+ @user.errors.add(:foo, 'bar')
19
+ @user.errors.present?.should == true
20
+ @user.errors.reset
21
+ @user.errors.present?.should == false
22
+ end
23
+
24
+ it "should be convertable to string" do
25
+ @user.errors.add(:foo, 'bar')
26
+ @user.errors.to_s.match(/foo/).should != nil
27
+ end
28
+ end
29
+ end
@@ -1,4 +1,4 @@
1
- describe "Finder" do
1
+ describe "Model Finder" do
2
2
  before do
3
3
  MotionPrime::Store.connect
4
4
  @store = MotionPrime::Store.shared_store
@@ -59,7 +59,7 @@ describe MotionPrime::BaseModel do
59
59
  end
60
60
 
61
61
  describe "#save" do
62
- it "if no store set, create objects using shared store" do
62
+ it "creates objects using shared store if no store set" do
63
63
  user = stub_user("Bob", 10, Time.now)
64
64
  user.save
65
65
  @store.count(User).should == 1
@@ -116,6 +116,35 @@ describe MotionPrime::BaseModel do
116
116
  end
117
117
  end
118
118
 
119
+ describe "#persisted?" do
120
+ before do
121
+ @user = stub_user("Bob", 10, nil)
122
+ end
123
+
124
+ describe "without id" do
125
+ it "should not be persisted" do
126
+ @user.persisted?.should == false
127
+ end
128
+
129
+ it "should be new record" do
130
+ @user.new_record?.should == true
131
+ end
132
+ end
133
+
134
+ describe "with id" do
135
+ before do
136
+ @user.id = 1
137
+ end
138
+ it "should be persisted" do
139
+ @user.persisted?.should == true
140
+ end
141
+
142
+ it "should not be new record" do
143
+ @user.new_record?.should == false
144
+ end
145
+ end
146
+ end
147
+
119
148
  describe "#delete" do
120
149
  it "delete object" do
121
150
  user = stub_user("Bob", 10, Time.now)
@@ -1,4 +1,4 @@
1
- describe "StoreExtension" do
1
+ describe "Model StoreExtension" do
2
2
  before do
3
3
  MotionPrime::Store.connect
4
4
  @store = MotionPrime::Store.shared_store
@@ -1,4 +1,4 @@
1
- describe "Store" do
1
+ describe "Model Store" do
2
2
  before do
3
3
  MotionPrime::Store.disconnect
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: motion-prime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Iskander Haziev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-27 00:00:00.000000000 Z
11
+ date: 2013-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -195,6 +195,7 @@ files:
195
195
  - motion-prime/elements/draw.rb
196
196
  - motion-prime/elements/draw/image.rb
197
197
  - motion-prime/elements/draw/label.rb
198
+ - motion-prime/elements/error_message.rb
198
199
  - motion-prime/elements/google_map.rb
199
200
  - motion-prime/elements/image.rb
200
201
  - motion-prime/elements/label.rb
@@ -207,11 +208,13 @@ files:
207
208
  - motion-prime/models/bag.rb
208
209
  - motion-prime/models/base.rb
209
210
  - motion-prime/models/errors.rb
211
+ - motion-prime/models/exceptions.rb
210
212
  - motion-prime/models/finder.rb
211
213
  - motion-prime/models/json.rb
212
214
  - motion-prime/models/model.rb
213
215
  - motion-prime/models/store.rb
214
216
  - motion-prime/models/store_extension.rb
217
+ - motion-prime/models/sync.rb
215
218
  - motion-prime/screens/_aliases_mixin.rb
216
219
  - motion-prime/screens/_base_mixin.rb
217
220
  - motion-prime/screens/_navigation_bar_mixin.rb
@@ -228,6 +231,8 @@ files:
228
231
  - motion-prime/sections/form/select_field_section.rb
229
232
  - motion-prime/sections/form/string_field_section.rb
230
233
  - motion-prime/sections/form/submit_field_section.rb
234
+ - motion-prime/sections/form/switch_field_section.rb
235
+ - motion-prime/sections/form/table_field_section.rb
231
236
  - motion-prime/sections/form/text_field_section.rb
232
237
  - motion-prime/sections/tabbed.rb
233
238
  - motion-prime/sections/table.rb
@@ -249,6 +254,7 @@ files:
249
254
  - motion-prime/views/view_builder.rb
250
255
  - motion-prime/views/view_styler.rb
251
256
  - resources/Default-568h@2x.png
257
+ - resources/fonts/ubuntu.ttf
252
258
  - spec/config/store_spec.rb
253
259
  - spec/delegate/base_delegate_spec.rb
254
260
  - spec/helpers/base_delegate.rb
@@ -256,8 +262,9 @@ files:
256
262
  - spec/helpers/models.rb
257
263
  - spec/models/association_spec.rb
258
264
  - spec/models/bag_spec.rb
259
- - spec/models/base_model_spec.rb
265
+ - spec/models/errors_spec.rb
260
266
  - spec/models/finder_spec.rb
267
+ - spec/models/model_spec.rb
261
268
  - spec/models/store_extension_spec.rb
262
269
  - spec/models/store_spec.rb
263
270
  - spec/screens/base_screen_spec.rb
@@ -294,8 +301,9 @@ test_files:
294
301
  - spec/helpers/models.rb
295
302
  - spec/models/association_spec.rb
296
303
  - spec/models/bag_spec.rb
297
- - spec/models/base_model_spec.rb
304
+ - spec/models/errors_spec.rb
298
305
  - spec/models/finder_spec.rb
306
+ - spec/models/model_spec.rb
299
307
  - spec/models/store_extension_spec.rb
300
308
  - spec/models/store_spec.rb
301
309
  - spec/screens/base_screen_spec.rb