qml 0.0.1 → 0.0.2

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 (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