qml 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/README.md +82 -19
  4. data/changes.md +17 -0
  5. data/examples/fizzbuzz/capture.png +0 -0
  6. data/examples/todo_array/capture.png +0 -0
  7. data/examples/{todo → todo_array}/main.qml +1 -1
  8. data/examples/{todo/todo.rb → todo_array/todo_array.rb} +4 -7
  9. data/examples/todo_sequel/capture.png +0 -0
  10. data/examples/todo_sequel/main.qml +87 -0
  11. data/examples/todo_sequel/todo_sequel.rb +66 -0
  12. data/examples/twitter/capture.png +0 -0
  13. data/examples/twitter/main.qml +31 -19
  14. data/examples/twitter/twitter.rb +46 -23
  15. data/ext/qml/accessclass.cpp +1 -3
  16. data/ext/qml/ext_anywrapper.cpp +36 -0
  17. data/ext/qml/ext_anywrapper.h +26 -0
  18. data/ext/qml/ext_metaobject.cpp +3 -1
  19. data/ext/qml/init.cpp +3 -3
  20. data/ext/qml/listmodel.cpp +29 -4
  21. data/ext/qml/listmodel.h +2 -0
  22. data/ext/qml/util.cpp +7 -0
  23. data/ext/qml/util.h +1 -0
  24. data/ext/qml/weakvaluereference.cpp +34 -9
  25. data/ext/qml/weakvaluereference.h +7 -5
  26. data/lib/qml/class_builder.rb +1 -0
  27. data/lib/qml/data.rb +1 -0
  28. data/lib/qml/data/array_model.rb +23 -2
  29. data/lib/qml/data/list_model.rb +26 -26
  30. data/lib/qml/data/query_model.rb +60 -0
  31. data/lib/qml/version.rb +1 -1
  32. data/qml.gemspec +5 -1
  33. data/spec/qml/data/array_model_spec.rb +43 -56
  34. data/spec/qml/data/list_model_spec.rb +17 -0
  35. data/spec/qml/data/query_model_spec.rb +62 -0
  36. data/spec/shared_examples/qml/data/list_model.rb +33 -0
  37. data/spec/spec_helper.rb +7 -0
  38. metadata +70 -30
  39. data/ext/qml/ext_gcmarker.cpp +0 -39
  40. data/ext/qml/ext_gcmarker.h +0 -27
  41. data/spec/qml/.access_spec.rb.swp +0 -0
@@ -1,5 +1,12 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
1
4
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
5
  require 'qml'
3
6
  QML.init(offscreen: true)
4
7
 
5
8
  # QML::TestUtil.gc_debug_message_enabled = true
9
+
10
+ Dir.glob(Pathname(__FILE__) +'../shared_examples/**/*.rb') do |f|
11
+ require f
12
+ end
metadata CHANGED
@@ -1,99 +1,127 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryohei Ikegami
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-19 00:00:00.000000000 Z
11
+ date: 2014-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: celluloid
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: twitter
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '5.11'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '5.11'
97
+ - !ruby/object:Gem::Dependency
98
+ name: sequel
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '4.12'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '4.12'
111
+ - !ruby/object:Gem::Dependency
112
+ name: sqlite3
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.3'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.3'
97
125
  description: ruby-qml provides bindings between QML and Ruby and enables you to use
98
126
  Qt Quick-based GUI from Ruby.
99
127
  email:
@@ -103,21 +131,28 @@ extensions:
103
131
  - ext/qml/extconf.rb
104
132
  extra_rdoc_files: []
105
133
  files:
106
- - .gitignore
107
- - .rspec
108
- - .travis.yml
109
- - .yardopts
134
+ - ".gitignore"
135
+ - ".rspec"
136
+ - ".travis.yml"
137
+ - ".yardopts"
110
138
  - Gemfile
111
139
  - LICENSE.txt
112
140
  - README.md
113
141
  - Rakefile
142
+ - changes.md
114
143
  - examples/assets/fonts/fontawesome-webfont.ttf
144
+ - examples/fizzbuzz/capture.png
115
145
  - examples/fizzbuzz/fizzbuzz.rb
116
146
  - examples/fizzbuzz/main.qml
117
147
  - examples/imageprovider/imageprovider.rb
118
148
  - examples/imageprovider/main.qml
119
- - examples/todo/main.qml
120
- - examples/todo/todo.rb
149
+ - examples/todo_array/capture.png
150
+ - examples/todo_array/main.qml
151
+ - examples/todo_array/todo_array.rb
152
+ - examples/todo_sequel/capture.png
153
+ - examples/todo_sequel/main.qml
154
+ - examples/todo_sequel/todo_sequel.rb
155
+ - examples/twitter/capture.png
121
156
  - examples/twitter/main.qml
122
157
  - examples/twitter/twitter.rb
123
158
  - ext/qml/accessclass.cpp
@@ -129,8 +164,8 @@ files:
129
164
  - ext/qml/common.h
130
165
  - ext/qml/ext_accesssupport.cpp
131
166
  - ext/qml/ext_accesssupport.h
132
- - ext/qml/ext_gcmarker.cpp
133
- - ext/qml/ext_gcmarker.h
167
+ - ext/qml/ext_anywrapper.cpp
168
+ - ext/qml/ext_anywrapper.h
134
169
  - ext/qml/ext_kernel.cpp
135
170
  - ext/qml/ext_kernel.h
136
171
  - ext/qml/ext_metaobject.cpp
@@ -209,6 +244,7 @@ files:
209
244
  - lib/qml/data/array_model.rb
210
245
  - lib/qml/data/error.rb
211
246
  - lib/qml/data/list_model.rb
247
+ - lib/qml/data/query_model.rb
212
248
  - lib/qml/dispatchable.rb
213
249
  - lib/qml/dispatcher.rb
214
250
  - lib/qml/engine.rb
@@ -250,13 +286,14 @@ files:
250
286
  - lib/qml/wrappable.rb
251
287
  - qml.gemspec
252
288
  - spec/assets/testobj.qml
253
- - spec/qml/.access_spec.rb.swp
254
289
  - spec/qml/access_spec.rb
255
290
  - spec/qml/application_spec.rb
256
291
  - spec/qml/component_spec.rb
257
292
  - spec/qml/context_spec.rb
258
293
  - spec/qml/conversion_spec.rb
259
294
  - spec/qml/data/array_model_spec.rb
295
+ - spec/qml/data/list_model_spec.rb
296
+ - spec/qml/data/query_model_spec.rb
260
297
  - spec/qml/dispatchable_spec.rb
261
298
  - spec/qml/dispatcher_spec.rb
262
299
  - spec/qml/geometry/point_spec.rb
@@ -270,6 +307,7 @@ files:
270
307
  - spec/qml/reactive/signal_spy_spec.rb
271
308
  - spec/qml/test_object_spec.rb
272
309
  - spec/qml_spec.rb
310
+ - spec/shared_examples/qml/data/list_model.rb
273
311
  - spec/spec_helper.rb
274
312
  homepage: https://github.com/seanchas116/ruby-qml
275
313
  licenses:
@@ -281,29 +319,30 @@ require_paths:
281
319
  - lib
282
320
  required_ruby_version: !ruby/object:Gem::Requirement
283
321
  requirements:
284
- - - '>='
322
+ - - "~>"
285
323
  - !ruby/object:Gem::Version
286
- version: '0'
324
+ version: '2.0'
287
325
  required_rubygems_version: !ruby/object:Gem::Requirement
288
326
  requirements:
289
- - - '>='
327
+ - - ">="
290
328
  - !ruby/object:Gem::Version
291
329
  version: '0'
292
330
  requirements: []
293
331
  rubyforge_project:
294
- rubygems_version: 2.0.14
332
+ rubygems_version: 2.2.2
295
333
  signing_key:
296
334
  specification_version: 4
297
335
  summary: A QML / Qt Quick wrapper for Ruby
298
336
  test_files:
299
337
  - spec/assets/testobj.qml
300
- - spec/qml/.access_spec.rb.swp
301
338
  - spec/qml/access_spec.rb
302
339
  - spec/qml/application_spec.rb
303
340
  - spec/qml/component_spec.rb
304
341
  - spec/qml/context_spec.rb
305
342
  - spec/qml/conversion_spec.rb
306
343
  - spec/qml/data/array_model_spec.rb
344
+ - spec/qml/data/list_model_spec.rb
345
+ - spec/qml/data/query_model_spec.rb
307
346
  - spec/qml/dispatchable_spec.rb
308
347
  - spec/qml/dispatcher_spec.rb
309
348
  - spec/qml/geometry/point_spec.rb
@@ -317,5 +356,6 @@ test_files:
317
356
  - spec/qml/reactive/signal_spy_spec.rb
318
357
  - spec/qml/test_object_spec.rb
319
358
  - spec/qml_spec.rb
359
+ - spec/shared_examples/qml/data/list_model.rb
320
360
  - spec/spec_helper.rb
321
361
  has_rdoc:
@@ -1,39 +0,0 @@
1
- #include "ext_gcmarker.h"
2
- #include "rubyclass.h"
3
- #include <QtCore/QSet>
4
-
5
- namespace RubyQml {
6
- namespace Ext {
7
-
8
- GCMarker::GCMarker(RubyValue self)
9
- {
10
- Q_UNUSED(self)
11
- }
12
-
13
- RubyValue GCMarker::fromMarkFunction(const std::function<void ()> &func)
14
- {
15
- auto klass = wrapperRubyClass<GCMarker>();
16
- auto marker = klass.newInstance();
17
- klass.unwrap(marker)->setMarkFunction(func);
18
- return marker;
19
- }
20
-
21
- void GCMarker::setMarkFunction(const std::function<void ()> &func)
22
- {
23
- mMarkFunc = func;
24
- }
25
-
26
- void GCMarker::gc_mark()
27
- {
28
- if (mMarkFunc)
29
- mMarkFunc();
30
- }
31
-
32
- void GCMarker::defineClass()
33
- {
34
- WrapperRubyClass<GCMarker> klass(RubyModule::fromPath("QML"), "GCProtection");
35
- Q_UNUSED(klass);
36
- }
37
-
38
- } // namespace Ext
39
- } // namespace RubyQml
@@ -1,27 +0,0 @@
1
- #pragma once
2
-
3
- #include "rubyvalue.h"
4
- #include <functional>
5
-
6
- namespace RubyQml {
7
-
8
- namespace Ext {
9
-
10
- class GCMarker
11
- {
12
- public:
13
- GCMarker(RubyValue self);
14
- static RubyValue fromMarkFunction(const std::function<void ()> &func);
15
-
16
- void setMarkFunction(const std::function<void()> &func);
17
- void gc_mark();
18
-
19
- static void defineClass();
20
-
21
- private:
22
- std::function<void ()> mMarkFunc;
23
- };
24
-
25
- } // namespace Ext
26
-
27
- } // namespace RubyQml
Binary file