qml 0.0.7 → 1.0.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 (296) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +3 -0
  3. data/.travis.yml +5 -9
  4. data/LICENSE.txt +1 -1
  5. data/README.md +84 -114
  6. data/changes.md +5 -0
  7. data/examples/fizzbuzz/fizzbuzz.rb +3 -4
  8. data/examples/todo_array/todo_array.rb +4 -4
  9. data/examples/todo_sequel/todo_sequel.rb +7 -7
  10. data/examples/twitter/twitter.rb +5 -3
  11. data/ext/qml/application.c +88 -0
  12. data/ext/qml/application.h +9 -0
  13. data/ext/qml/component.c +89 -0
  14. data/ext/qml/component.h +10 -0
  15. data/ext/qml/conversion.c +60 -0
  16. data/ext/qml/conversion.h +8 -0
  17. data/ext/qml/dispatcher.c +31 -0
  18. data/ext/qml/dispatcher.h +7 -0
  19. data/ext/qml/engine.c +135 -0
  20. data/ext/qml/engine.h +10 -0
  21. data/ext/qml/exporter.c +93 -0
  22. data/ext/qml/exporter.h +7 -0
  23. data/ext/qml/extconf.rb +38 -97
  24. data/ext/qml/interface.c +156 -0
  25. data/ext/qml/interface.h +11 -0
  26. data/ext/qml/js_array.c +47 -0
  27. data/ext/qml/js_array.h +7 -0
  28. data/ext/qml/js_function.c +109 -0
  29. data/ext/qml/js_function.h +7 -0
  30. data/ext/qml/js_object.c +284 -0
  31. data/ext/qml/js_object.h +19 -0
  32. data/ext/qml/js_wrapper.c +19 -0
  33. data/ext/qml/js_wrapper.h +7 -0
  34. data/ext/qml/lib/libqmlbind/.gitignore +38 -0
  35. data/ext/qml/lib/libqmlbind/.gitmodules +3 -0
  36. data/ext/qml/lib/libqmlbind/.travis.yml +14 -0
  37. data/ext/qml/lib/libqmlbind/LICENSE.txt +22 -0
  38. data/ext/qml/lib/libqmlbind/libqmlbind.pro +3 -0
  39. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind.h +14 -0
  40. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/application.h +18 -0
  41. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/component.h +21 -0
  42. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/engine.h +34 -0
  43. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/exporter.h +37 -0
  44. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/interface.h +16 -0
  45. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/iterator.h +19 -0
  46. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/metaobject.h +13 -0
  47. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/plugin.h +17 -0
  48. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/qmlbind_global.h +78 -0
  49. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/register.h +17 -0
  50. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/signal_emitter.h +15 -0
  51. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/string.h +15 -0
  52. data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/value.h +100 -0
  53. data/ext/qml/lib/libqmlbind/qmlbind/qmlbind.pro +62 -0
  54. data/ext/qml/lib/libqmlbind/qmlbind/src/api_application.cpp +103 -0
  55. data/ext/qml/lib/libqmlbind/qmlbind/src/api_component.cpp +54 -0
  56. data/ext/qml/lib/libqmlbind/qmlbind/src/api_engine.cpp +65 -0
  57. data/ext/qml/lib/libqmlbind/qmlbind/src/api_exporter.cpp +52 -0
  58. data/ext/qml/lib/libqmlbind/qmlbind/src/api_interface.cpp +19 -0
  59. data/ext/qml/lib/libqmlbind/qmlbind/src/api_iterator.cpp +32 -0
  60. data/ext/qml/lib/libqmlbind/qmlbind/src/api_metaobject.cpp +19 -0
  61. data/ext/qml/lib/libqmlbind/qmlbind/src/api_plugin.cpp +27 -0
  62. data/ext/qml/lib/libqmlbind/qmlbind/src/api_register.cpp +17 -0
  63. data/ext/qml/lib/libqmlbind/qmlbind/src/api_signal_emitter.cpp +27 -0
  64. data/ext/qml/lib/libqmlbind/qmlbind/src/api_string.cpp +22 -0
  65. data/ext/qml/lib/libqmlbind/qmlbind/src/api_value.cpp +215 -0
  66. data/ext/qml/lib/libqmlbind/qmlbind/src/backref.cpp +54 -0
  67. data/ext/qml/lib/libqmlbind/qmlbind/src/backref.h +29 -0
  68. data/ext/qml/lib/libqmlbind/qmlbind/src/engine.cpp +32 -0
  69. data/ext/qml/lib/libqmlbind/qmlbind/src/engine.h +27 -0
  70. data/ext/qml/lib/libqmlbind/qmlbind/src/exporter.cpp +73 -0
  71. data/ext/qml/lib/libqmlbind/qmlbind/src/exporter.h +46 -0
  72. data/ext/qml/lib/libqmlbind/qmlbind/src/interface.cpp +75 -0
  73. data/ext/qml/lib/libqmlbind/qmlbind/src/interface.h +37 -0
  74. data/ext/qml/lib/libqmlbind/qmlbind/src/metaobject.cpp +101 -0
  75. data/ext/qml/lib/libqmlbind/qmlbind/src/metaobject.h +29 -0
  76. data/ext/qml/lib/libqmlbind/qmlbind/src/signalemitter.cpp +33 -0
  77. data/ext/qml/lib/libqmlbind/qmlbind/src/signalemitter.h +25 -0
  78. data/ext/qml/lib/libqmlbind/qmlbind/src/ticktimer.cpp +15 -0
  79. data/ext/qml/lib/libqmlbind/qmlbind/src/ticktimer.h +19 -0
  80. data/ext/qml/lib/libqmlbind/qmlbind/src/typeregisterer.cpp +112 -0
  81. data/ext/qml/lib/libqmlbind/qmlbind/src/typeregisterer.h +28 -0
  82. data/ext/qml/lib/libqmlbind/qmlbind/src/util.h +13 -0
  83. data/ext/qml/lib/libqmlbind/qmlbind/src/wrapper.cpp +23 -0
  84. data/ext/qml/lib/libqmlbind/qmlbind/src/wrapper.h +29 -0
  85. data/ext/qml/lib/libqmlbind/readme.md +14 -0
  86. data/ext/qml/lib/libqmlbind/test/api.c +1 -0
  87. data/ext/qml/lib/libqmlbind/test/application_test.cpp +16 -0
  88. data/ext/qml/lib/libqmlbind/test/component_test.cpp +57 -0
  89. data/ext/qml/lib/libqmlbind/test/engine_test.cpp +94 -0
  90. data/ext/qml/lib/libqmlbind/test/exporter_test.cpp +312 -0
  91. data/ext/qml/lib/libqmlbind/test/fixtures/emptyhandlers.cpp +36 -0
  92. data/ext/qml/lib/libqmlbind/test/fixtures/emptyhandlers.h +6 -0
  93. data/ext/qml/lib/libqmlbind/test/fixtures/test.qml +5 -0
  94. data/ext/qml/lib/libqmlbind/test/fixtures/testmodule/qmldir +2 -0
  95. data/ext/qml/lib/libqmlbind/test/fixtures/testmodule/test.qml +5 -0
  96. data/ext/qml/lib/libqmlbind/test/iterator_test.cpp +37 -0
  97. data/ext/qml/lib/libqmlbind/test/main.cpp +11 -0
  98. data/ext/qml/lib/libqmlbind/test/plugin_test.cpp +41 -0
  99. data/ext/qml/lib/libqmlbind/test/test.pro +26 -0
  100. data/ext/qml/lib/libqmlbind/test/test_helper.h +20 -0
  101. data/ext/qml/lib/libqmlbind/test/value_test.cpp +252 -0
  102. data/ext/qml/lib/libqmlbind/testplugin/testplugin.cpp +11 -0
  103. data/ext/qml/lib/libqmlbind/testplugin/testplugin.h +21 -0
  104. data/ext/qml/lib/libqmlbind/testplugin/testplugin.json +3 -0
  105. data/ext/qml/lib/libqmlbind/testplugin/testplugin.pro +21 -0
  106. data/ext/qml/meta_object.c +81 -0
  107. data/ext/qml/meta_object.h +8 -0
  108. data/ext/qml/plugin_loader.c +71 -0
  109. data/ext/qml/plugin_loader.h +7 -0
  110. data/ext/qml/qml.c +95 -0
  111. data/ext/qml/qml.h +10 -0
  112. data/ext/qml/rubyqml-plugin/listmodel.cpp +102 -0
  113. data/ext/qml/rubyqml-plugin/listmodel.h +37 -0
  114. data/ext/qml/rubyqml-plugin/rubyqml-plugin.pro +19 -0
  115. data/ext/qml/rubyqml-plugin/rubyqmlplugin.cpp +25 -0
  116. data/ext/qml/rubyqml-plugin/rubyqmlplugin.h +19 -0
  117. data/ext/qml/signal_emitter.c +71 -0
  118. data/ext/qml/signal_emitter.h +9 -0
  119. data/lib/qml.rb +11 -10
  120. data/lib/qml/access.rb +64 -86
  121. data/lib/qml/application.rb +20 -71
  122. data/lib/qml/component.rb +41 -33
  123. data/lib/qml/core_ext.rb +1 -0
  124. data/lib/qml/core_ext/to_qml.rb +70 -0
  125. data/lib/qml/data.rb +1 -0
  126. data/lib/qml/data/array_model.rb +99 -101
  127. data/lib/qml/data/list_model.rb +107 -131
  128. data/lib/qml/data/list_model_access.rb +44 -0
  129. data/lib/qml/data/query_model.rb +45 -47
  130. data/lib/qml/dispatcher.rb +5 -13
  131. data/lib/qml/engine.rb +9 -58
  132. data/lib/qml/errors.rb +0 -21
  133. data/lib/qml/interface.rb +21 -0
  134. data/lib/qml/js_array.rb +8 -0
  135. data/lib/qml/js_object.rb +69 -0
  136. data/lib/qml/js_util.rb +18 -0
  137. data/lib/qml/plugin_loader.rb +1 -13
  138. data/lib/qml/plugins.rb +3 -17
  139. data/lib/qml/proc_access.rb +28 -0
  140. data/lib/qml/qt.rb +21 -3
  141. data/lib/qml/reactive.rb +147 -8
  142. data/lib/qml/signal.rb +67 -0
  143. data/lib/qml/version.rb +1 -1
  144. data/qml.gemspec +8 -2
  145. data/spec/qml/access_spec.rb +33 -120
  146. data/spec/qml/application_spec.rb +11 -24
  147. data/spec/qml/component_spec.rb +4 -4
  148. data/spec/qml/data/array_model_spec.rb +2 -2
  149. data/spec/qml/data/list_model_spec.rb +2 -2
  150. data/spec/qml/data/query_model_spec.rb +4 -4
  151. data/spec/qml/engine_spec.rb +23 -21
  152. data/spec/qml/interface_spec.rb +20 -0
  153. data/spec/qml/js_array_spec.rb +29 -0
  154. data/spec/qml/js_function_spec.rb +32 -0
  155. data/spec/qml/js_object_spec.rb +113 -0
  156. data/spec/qml/plugin_loader_spec.rb +9 -11
  157. data/spec/qml/qt_spec.rb +9 -0
  158. data/spec/qml/reactive_spec.rb +37 -0
  159. data/spec/qml/signal_connect_spec.rb +27 -0
  160. data/spec/qml/signal_spec.rb +73 -0
  161. data/spec/qml/to_qml_spec.rb +76 -0
  162. data/spec/shared/qml/access_example.rb +21 -0
  163. data/spec/shared/qml/data/list_model.rb +12 -13
  164. data/spec/spec_helper.rb +2 -3
  165. metadata +141 -166
  166. data/examples/imageprovider/imageprovider.rb +0 -57
  167. data/examples/imageprovider/main.qml +0 -51
  168. data/ext/qml/accessclass.cpp +0 -65
  169. data/ext/qml/accessclass.h +0 -19
  170. data/ext/qml/accessobject.cpp +0 -30
  171. data/ext/qml/accessobject.h +0 -22
  172. data/ext/qml/common.h +0 -18
  173. data/ext/qml/conversionerror.h +0 -14
  174. data/ext/qml/ext_accesswrapperfactory.cpp +0 -75
  175. data/ext/qml/ext_accesswrapperfactory.h +0 -39
  176. data/ext/qml/ext_anywrapper.cpp +0 -34
  177. data/ext/qml/ext_anywrapper.h +0 -23
  178. data/ext/qml/ext_kernel.cpp +0 -81
  179. data/ext/qml/ext_kernel.h +0 -9
  180. data/ext/qml/ext_metaobject.cpp +0 -399
  181. data/ext/qml/ext_metaobject.h +0 -60
  182. data/ext/qml/ext_pluginloader.cpp +0 -53
  183. data/ext/qml/ext_pluginloader.h +0 -30
  184. data/ext/qml/ext_pointer.cpp +0 -132
  185. data/ext/qml/ext_pointer.h +0 -41
  186. data/ext/qml/ext_testutil.cpp +0 -40
  187. data/ext/qml/ext_testutil.h +0 -9
  188. data/ext/qml/foreignclass.cpp +0 -72
  189. data/ext/qml/foreignclass.h +0 -88
  190. data/ext/qml/foreignmetaobject.cpp +0 -345
  191. data/ext/qml/foreignmetaobject.h +0 -46
  192. data/ext/qml/foreignobject.cpp +0 -22
  193. data/ext/qml/foreignobject.h +0 -21
  194. data/ext/qml/functioninfo.h +0 -16
  195. data/ext/qml/init.cpp +0 -67
  196. data/ext/qml/kernel.cpp +0 -39
  197. data/ext/qml/kernel.h +0 -32
  198. data/ext/qml/listmodel.cpp +0 -137
  199. data/ext/qml/listmodel.h +0 -45
  200. data/ext/qml/markable.h +0 -12
  201. data/ext/qml/objectdata.cpp +0 -26
  202. data/ext/qml/objectdata.h +0 -20
  203. data/ext/qml/objectgc.cpp +0 -69
  204. data/ext/qml/objectgc.h +0 -28
  205. data/ext/qml/plugins/core/applicationextension.cpp +0 -29
  206. data/ext/qml/plugins/core/applicationextension.h +0 -25
  207. data/ext/qml/plugins/core/componentextension.cpp +0 -41
  208. data/ext/qml/plugins/core/componentextension.h +0 -28
  209. data/ext/qml/plugins/core/contextextension.cpp +0 -39
  210. data/ext/qml/plugins/core/contextextension.h +0 -29
  211. data/ext/qml/plugins/core/core.pro +0 -29
  212. data/ext/qml/plugins/core/coreplugin.cpp +0 -87
  213. data/ext/qml/plugins/core/coreplugin.h +0 -49
  214. data/ext/qml/plugins/core/engineextension.cpp +0 -43
  215. data/ext/qml/plugins/core/engineextension.h +0 -31
  216. data/ext/qml/plugins/core/imageprovider.cpp +0 -38
  217. data/ext/qml/plugins/core/imageprovider.h +0 -18
  218. data/ext/qml/plugins/core/imagerequestpromise.cpp +0 -19
  219. data/ext/qml/plugins/core/imagerequestpromise.h +0 -21
  220. data/ext/qml/plugins/core/qmlexception.cpp +0 -11
  221. data/ext/qml/plugins/core/qmlexception.h +0 -17
  222. data/ext/qml/plugins/testutil/imageprovidertest.cpp +0 -40
  223. data/ext/qml/plugins/testutil/imageprovidertest.h +0 -17
  224. data/ext/qml/plugins/testutil/objectlifechecker.cpp +0 -17
  225. data/ext/qml/plugins/testutil/objectlifechecker.h +0 -24
  226. data/ext/qml/plugins/testutil/ownershiptest.cpp +0 -26
  227. data/ext/qml/plugins/testutil/ownershiptest.h +0 -30
  228. data/ext/qml/plugins/testutil/testobject.cpp +0 -6
  229. data/ext/qml/plugins/testutil/testobject.h +0 -108
  230. data/ext/qml/plugins/testutil/testobjectsubclass.cpp +0 -10
  231. data/ext/qml/plugins/testutil/testobjectsubclass.h +0 -19
  232. data/ext/qml/plugins/testutil/testutil.pro +0 -22
  233. data/ext/qml/plugins/testutil/testutilplugin.cpp +0 -55
  234. data/ext/qml/plugins/testutil/testutilplugin.h +0 -36
  235. data/ext/qml/qmltyperegisterer.cpp +0 -74
  236. data/ext/qml/qmltyperegisterer.h +0 -30
  237. data/ext/qml/rubyclass.cpp +0 -82
  238. data/ext/qml/rubyclass.h +0 -230
  239. data/ext/qml/rubyvalue.cpp +0 -656
  240. data/ext/qml/rubyvalue.h +0 -224
  241. data/ext/qml/signalforwarder.cpp +0 -64
  242. data/ext/qml/signalforwarder.h +0 -29
  243. data/ext/qml/util.cpp +0 -112
  244. data/ext/qml/util.h +0 -82
  245. data/ext/qml/valuereference.cpp +0 -50
  246. data/ext/qml/valuereference.h +0 -22
  247. data/ext/qml/weakvaluereference.cpp +0 -51
  248. data/ext/qml/weakvaluereference.h +0 -21
  249. data/lib/qml/context.rb +0 -71
  250. data/lib/qml/data/error.rb +0 -5
  251. data/lib/qml/dispatchable.rb +0 -34
  252. data/lib/qml/error_converter.rb +0 -16
  253. data/lib/qml/geometry.rb +0 -3
  254. data/lib/qml/geometry/point.rb +0 -5
  255. data/lib/qml/geometry/rectangle.rb +0 -5
  256. data/lib/qml/geometry/size.rb +0 -5
  257. data/lib/qml/image_provider.rb +0 -87
  258. data/lib/qml/init.rb +0 -29
  259. data/lib/qml/meta_object.rb +0 -20
  260. data/lib/qml/models.rb +0 -1
  261. data/lib/qml/qt_classes.rb +0 -9
  262. data/lib/qml/qt_object_base.rb +0 -233
  263. data/lib/qml/reactive/bindable.rb +0 -79
  264. data/lib/qml/reactive/chained_signal.rb +0 -25
  265. data/lib/qml/reactive/error.rb +0 -5
  266. data/lib/qml/reactive/object.rb +0 -293
  267. data/lib/qml/reactive/property.rb +0 -19
  268. data/lib/qml/reactive/signal.rb +0 -115
  269. data/lib/qml/reactive/signal_spy.rb +0 -27
  270. data/lib/qml/reactive/signals/map_signal.rb +0 -21
  271. data/lib/qml/reactive/signals/merge_signal.rb +0 -21
  272. data/lib/qml/reactive/signals/select_signal.rb +0 -21
  273. data/lib/qml/reactive/simple_property.rb +0 -17
  274. data/lib/qml/reactive/unbound_property.rb +0 -42
  275. data/lib/qml/reactive/unbound_signal.rb +0 -51
  276. data/lib/qml/test_util.rb +0 -1
  277. data/lib/qml/test_util/object_life_checker.rb +0 -17
  278. data/lib/qml/wrappable.rb +0 -9
  279. data/spec/qml/context_spec.rb +0 -43
  280. data/spec/qml/conversion_spec.rb +0 -60
  281. data/spec/qml/dispatchable_spec.rb +0 -26
  282. data/spec/qml/dispatcher_spec.rb +0 -71
  283. data/spec/qml/geometry/point_spec.rb +0 -4
  284. data/spec/qml/geometry/rectangle_spec.rb +0 -4
  285. data/spec/qml/geometry/size_spec.rb +0 -4
  286. data/spec/qml/image_provider_spec.rb +0 -33
  287. data/spec/qml/qt_object_base_spec.rb +0 -119
  288. data/spec/qml/reactive/object_spec.rb +0 -249
  289. data/spec/qml/reactive/property_spec.rb +0 -70
  290. data/spec/qml/reactive/signal_spec.rb +0 -191
  291. data/spec/qml/reactive/signal_spy_spec.rb +0 -26
  292. data/spec/qml/reactive/unbound_property_spec.rb +0 -40
  293. data/spec/qml/reactive/unbound_signal_spec.rb +0 -70
  294. data/spec/qml/test_object_spec.rb +0 -186
  295. data/spec/qml/wrappable_spec.rb +0 -10
  296. data/spec/shared/qml/reactive/object.rb +0 -39
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ describe QML::Reactive do
4
+ let(:button_class) do
5
+ Class.new do
6
+ include QML::Reactive
7
+ signal :pressed
8
+ property(:is_pressed) { false }
9
+ property :id
10
+ property(:is_id_changed) { false }
11
+
12
+ on :pressed do |pos|
13
+ self.is_pressed = true
14
+ end
15
+ on_changed :id do
16
+ self.is_id_changed = true
17
+ end
18
+ end
19
+ end
20
+ let(:button) { button_class.new }
21
+
22
+ describe '.on' do
23
+ it 'registers a signal listener' do
24
+ expect(button.is_pressed).to eq(false)
25
+ button.pressed.emit
26
+ expect(button.is_pressed).to eq(true)
27
+ end
28
+ end
29
+
30
+ describe '.on_changed' do
31
+ it 'registers a property change listener' do
32
+ expect(button.is_id_changed).to eq(false)
33
+ button.id = "foo"
34
+ expect(button.is_id_changed).to eq(true)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe "QML signal connection" do
4
+
5
+ let(:component) do
6
+ QML::Component.new(data: <<-QML)
7
+ import QtQuick 2.0
8
+ QtObject {
9
+ signal someSignal(var arg)
10
+ }
11
+ QML
12
+ end
13
+
14
+ let(:obj) { component.create }
15
+
16
+ it "connects QML signals to ruby proc" do
17
+ received_arg = nil
18
+
19
+ obj[:someSignal].connect do |arg|
20
+ received_arg = arg
21
+ end
22
+
23
+ obj.someSignal(10)
24
+
25
+ expect(received_arg).to eq(10)
26
+ end
27
+ end
@@ -0,0 +1,73 @@
1
+ require 'spec_helper'
2
+
3
+ describe QML::Signal do
4
+
5
+ before do
6
+ @signal = QML::Signal.new([:foo, :bar])
7
+ end
8
+
9
+ describe 'connection' do
10
+
11
+ describe '#connect, #emit' do
12
+
13
+ before do
14
+ @signal.connect { |foo, bar| @received = [foo, bar] }
15
+ end
16
+
17
+ it 'connects a block and calls it' do
18
+ @signal.emit('apple', 'orange')
19
+ expect(@received).to eq(['apple', 'orange'])
20
+ end
21
+
22
+ context 'when the number of arguments is wrong' do
23
+ it 'fails with an ArgumentError' do
24
+ expect { @signal.emit('apple') }.to raise_error(ArgumentError)
25
+ end
26
+ end
27
+
28
+ it 'calls connected blocks in the order they have been conncted' do
29
+ received = []
30
+ @signal.connect { received << 'first' }
31
+ @signal.connect { received << 'second' }
32
+ @signal.emit('foo', 'bar')
33
+ expect(received).to eq(['first', 'second'])
34
+ end
35
+ end
36
+
37
+ describe '::Connection#disconnect' do
38
+
39
+ it 'disconnects the connection' do
40
+ connection = @signal.connect { |foo, bar| @received = foo + bar }
41
+ @signal.emit('apple', 'orange')
42
+ connection.disconnect
43
+ @signal.emit('banana', 'grape')
44
+ expect(@received).to eq('appleorange')
45
+ end
46
+ end
47
+
48
+ describe '#connection_count' do
49
+ it 'returns the number of connections' do
50
+ prc1 = ->(foo, bar) {}
51
+ prc2 = ->(foo, bar) {}
52
+ @signal.connect(&prc1)
53
+ @signal.connect(&prc2)
54
+ expect(@signal.connection_count).to eq(2)
55
+ end
56
+ end
57
+ end
58
+
59
+ describe 'attributes' do
60
+
61
+ describe '#arity' do
62
+ it 'returns the number of arguments' do
63
+ expect(@signal.arity).to eq(2)
64
+ end
65
+ end
66
+
67
+ describe '#parameters' do
68
+ it 'returns the parameter information' do
69
+ expect(@signal.parameters).to eq([[:req, :foo], [:req, :bar]])
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,76 @@
1
+ require 'spec_helper'
2
+
3
+ describe '#to_qml' do
4
+
5
+ let(:through) { QML.engine.evaluate("(function(x) { return x; })") }
6
+
7
+ primitives = {
8
+ Fixnum: 10,
9
+ Float: 1.5,
10
+ Rational: 5/2r,
11
+ TrueClass: true,
12
+ FalseClass: false,
13
+ String: 'ほげ'
14
+ }
15
+
16
+ primitives.each do |type, value|
17
+ describe "#{type}\#to_qml" do
18
+ it "converts #{type} to JS correspondings" do
19
+ expect(through.call(value)).to eq value
20
+ end
21
+ end
22
+ end
23
+
24
+ describe 'Symbol#to_qml' do
25
+ it 'converts Symbol to JS string' do
26
+ expect(through.call(:hoge)).to eq 'hoge'
27
+ end
28
+ end
29
+
30
+ describe 'Hash#to_qml' do
31
+ it 'converts hash to JS object' do
32
+ hash = {a: 1, b: 2}
33
+ obj = through.call(hash);
34
+ expect(obj).to be_a QML::JSObject
35
+ hash.each do |k, v|
36
+ expect(obj[k]).to eq v
37
+ end
38
+ end
39
+ end
40
+
41
+ describe 'Array#to_qml' do
42
+ it 'converts array to JS array' do
43
+ array = [1,2,3]
44
+ jsarray = through.call(array)
45
+ expect(jsarray).to be_a QML::JSArray
46
+ expect(jsarray.each.to_a).to eq array
47
+ end
48
+ end
49
+
50
+ describe 'Time#to_qml' do
51
+ it 'converts time to JS Date' do
52
+ time = Time.now
53
+ # millisecond precision
54
+ time -= (time.nsec % 1000000) / 1000000000r
55
+ jsarray = through.call(time)
56
+ expect(jsarray.to_time).to eq time
57
+ end
58
+ end
59
+
60
+ describe 'Access#to_qml' do
61
+ it 'converts access to QML value' do
62
+ access = AccessExample.new
63
+ obj = through.call(access)
64
+ expect(obj.some_method(1, 2)).to eq(3)
65
+ end
66
+ end
67
+
68
+ describe 'Proc#to_qml' do
69
+ it 'converts Proc into JS function' do
70
+ proc = -> (hoge) { hoge * 2 }
71
+ func = through.call(proc)
72
+ expect(func).to be_a(QML::JSFunction)
73
+ expect(func.call(2)).to eq(4)
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,21 @@
1
+
2
+ class AccessExample
3
+ include QML::Access
4
+
5
+ property :text
6
+ signal :some_signal, [:arg]
7
+
8
+ def some_method(a, b)
9
+ a + b
10
+ end
11
+
12
+ register_to_qml under: 'AccessExampleNS', version: '1.2', name: 'AccessExample'
13
+ end
14
+
15
+ module AccessExampleModule
16
+ VERSION = '0.1.0'
17
+ class AccessExample
18
+ include QML::Access
19
+ register_to_qml
20
+ end
21
+ end
@@ -1,10 +1,9 @@
1
1
  shared_context 'ListView for model available' do
2
- let(:context) { QML::Context.new }
3
2
  let(:component) do
4
- QML::Component.new context: context, data: <<-EOS
3
+ QML::Component.new data: <<-EOS
5
4
  import QtQuick 2.0
6
5
  ListView {
7
- model: the_model
6
+ model: ListModel {}
8
7
  delegate: Item {
9
8
  property var itemTitle: title
10
9
  property var itemNumber: number
@@ -13,21 +12,21 @@ shared_context 'ListView for model available' do
13
12
  EOS
14
13
  end
15
14
  let(:list_view) { component.create }
16
-
17
- before do
18
- context[:the_model] = model
19
- end
20
15
  end
21
16
 
22
17
  shared_examples 'ListView data source' do
23
18
  it 'updates ListView correctly' do
24
- count = list_view.count
19
+ list_view.model = model
20
+
21
+ count = list_view.count.to_i
22
+
25
23
  expect(count).to eq expected_array.size
26
- list_view.count.times do |i|
27
- list_view.current_index = i
28
- current = list_view.current_item
29
- expect(current.item_title).to eq(expected_array[i][:title])
30
- expect(current.item_number).to eq(expected_array[i][:number])
24
+
25
+ count.times do |i|
26
+ list_view.currentIndex = i
27
+ current = list_view.currentItem
28
+ expect(current.itemTitle).to eq(expected_array[i][:title])
29
+ expect(current.itemNumber).to eq(expected_array[i][:number])
31
30
  end
32
31
  end
33
32
  end
@@ -3,10 +3,9 @@ Coveralls.wear!
3
3
 
4
4
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
5
5
  require 'qml'
6
- QML.init(offscreen: true)
7
-
8
- # QML::TestUtil.gc_debug_message_enabled = true
9
6
 
10
7
  Dir.glob(Pathname(__FILE__) +'../shared/**/*.rb') do |f|
11
8
  require f
12
9
  end
10
+
11
+ QML.init(%w{-platform offscreen})
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 1.0.0
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-12-24 00:00:00.000000000 Z
11
+ date: 2015-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: celluloid
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: twitter
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -132,6 +118,7 @@ extensions:
132
118
  extra_rdoc_files: []
133
119
  files:
134
120
  - ".gitignore"
121
+ - ".gitmodules"
135
122
  - ".rspec"
136
123
  - ".travis.yml"
137
124
  - ".yardopts"
@@ -144,8 +131,6 @@ files:
144
131
  - examples/fizzbuzz/capture.png
145
132
  - examples/fizzbuzz/fizzbuzz.rb
146
133
  - examples/fizzbuzz/main.qml
147
- - examples/imageprovider/imageprovider.rb
148
- - examples/imageprovider/main.qml
149
134
  - examples/todo_array/capture.png
150
135
  - examples/todo_array/main.qml
151
136
  - examples/todo_array/todo_array.rb
@@ -155,138 +140,143 @@ files:
155
140
  - examples/twitter/capture.png
156
141
  - examples/twitter/main.qml
157
142
  - examples/twitter/twitter.rb
158
- - ext/qml/accessclass.cpp
159
- - ext/qml/accessclass.h
160
- - ext/qml/accessobject.cpp
161
- - ext/qml/accessobject.h
162
- - ext/qml/common.h
163
- - ext/qml/conversionerror.h
164
- - ext/qml/ext_accesswrapperfactory.cpp
165
- - ext/qml/ext_accesswrapperfactory.h
166
- - ext/qml/ext_anywrapper.cpp
167
- - ext/qml/ext_anywrapper.h
168
- - ext/qml/ext_kernel.cpp
169
- - ext/qml/ext_kernel.h
170
- - ext/qml/ext_metaobject.cpp
171
- - ext/qml/ext_metaobject.h
172
- - ext/qml/ext_pluginloader.cpp
173
- - ext/qml/ext_pluginloader.h
174
- - ext/qml/ext_pointer.cpp
175
- - ext/qml/ext_pointer.h
176
- - ext/qml/ext_testutil.cpp
177
- - ext/qml/ext_testutil.h
143
+ - ext/qml/application.c
144
+ - ext/qml/application.h
145
+ - ext/qml/component.c
146
+ - ext/qml/component.h
147
+ - ext/qml/conversion.c
148
+ - ext/qml/conversion.h
149
+ - ext/qml/dispatcher.c
150
+ - ext/qml/dispatcher.h
151
+ - ext/qml/engine.c
152
+ - ext/qml/engine.h
153
+ - ext/qml/exporter.c
154
+ - ext/qml/exporter.h
178
155
  - ext/qml/extconf.rb
179
- - ext/qml/foreignclass.cpp
180
- - ext/qml/foreignclass.h
181
- - ext/qml/foreignmetaobject.cpp
182
- - ext/qml/foreignmetaobject.h
183
- - ext/qml/foreignobject.cpp
184
- - ext/qml/foreignobject.h
185
- - ext/qml/functioninfo.h
186
- - ext/qml/init.cpp
187
- - ext/qml/kernel.cpp
188
- - ext/qml/kernel.h
189
- - ext/qml/listmodel.cpp
190
- - ext/qml/listmodel.h
191
- - ext/qml/markable.h
192
- - ext/qml/objectdata.cpp
193
- - ext/qml/objectdata.h
194
- - ext/qml/objectgc.cpp
195
- - ext/qml/objectgc.h
196
- - ext/qml/plugins/core/applicationextension.cpp
197
- - ext/qml/plugins/core/applicationextension.h
198
- - ext/qml/plugins/core/componentextension.cpp
199
- - ext/qml/plugins/core/componentextension.h
200
- - ext/qml/plugins/core/contextextension.cpp
201
- - ext/qml/plugins/core/contextextension.h
202
- - ext/qml/plugins/core/core.pro
203
- - ext/qml/plugins/core/coreplugin.cpp
204
- - ext/qml/plugins/core/coreplugin.h
205
- - ext/qml/plugins/core/engineextension.cpp
206
- - ext/qml/plugins/core/engineextension.h
207
- - ext/qml/plugins/core/imageprovider.cpp
208
- - ext/qml/plugins/core/imageprovider.h
209
- - ext/qml/plugins/core/imagerequestpromise.cpp
210
- - ext/qml/plugins/core/imagerequestpromise.h
211
- - ext/qml/plugins/core/qmlexception.cpp
212
- - ext/qml/plugins/core/qmlexception.h
213
- - ext/qml/plugins/testutil/imageprovidertest.cpp
214
- - ext/qml/plugins/testutil/imageprovidertest.h
215
- - ext/qml/plugins/testutil/objectlifechecker.cpp
216
- - ext/qml/plugins/testutil/objectlifechecker.h
217
- - ext/qml/plugins/testutil/ownershiptest.cpp
218
- - ext/qml/plugins/testutil/ownershiptest.h
219
- - ext/qml/plugins/testutil/testobject.cpp
220
- - ext/qml/plugins/testutil/testobject.h
221
- - ext/qml/plugins/testutil/testobjectsubclass.cpp
222
- - ext/qml/plugins/testutil/testobjectsubclass.h
223
- - ext/qml/plugins/testutil/testutil.pro
224
- - ext/qml/plugins/testutil/testutilplugin.cpp
225
- - ext/qml/plugins/testutil/testutilplugin.h
226
- - ext/qml/qmltyperegisterer.cpp
227
- - ext/qml/qmltyperegisterer.h
228
- - ext/qml/rubyclass.cpp
229
- - ext/qml/rubyclass.h
230
- - ext/qml/rubyvalue.cpp
231
- - ext/qml/rubyvalue.h
232
- - ext/qml/signalforwarder.cpp
233
- - ext/qml/signalforwarder.h
234
- - ext/qml/util.cpp
235
- - ext/qml/util.h
236
- - ext/qml/valuereference.cpp
237
- - ext/qml/valuereference.h
238
- - ext/qml/weakvaluereference.cpp
239
- - ext/qml/weakvaluereference.h
156
+ - ext/qml/interface.c
157
+ - ext/qml/interface.h
158
+ - ext/qml/js_array.c
159
+ - ext/qml/js_array.h
160
+ - ext/qml/js_function.c
161
+ - ext/qml/js_function.h
162
+ - ext/qml/js_object.c
163
+ - ext/qml/js_object.h
164
+ - ext/qml/js_wrapper.c
165
+ - ext/qml/js_wrapper.h
166
+ - ext/qml/lib/libqmlbind/.gitignore
167
+ - ext/qml/lib/libqmlbind/.gitmodules
168
+ - ext/qml/lib/libqmlbind/.travis.yml
169
+ - ext/qml/lib/libqmlbind/LICENSE.txt
170
+ - ext/qml/lib/libqmlbind/libqmlbind.pro
171
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind.h
172
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/application.h
173
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/component.h
174
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/engine.h
175
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/exporter.h
176
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/interface.h
177
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/iterator.h
178
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/metaobject.h
179
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/plugin.h
180
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/qmlbind_global.h
181
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/register.h
182
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/signal_emitter.h
183
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/string.h
184
+ - ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/value.h
185
+ - ext/qml/lib/libqmlbind/qmlbind/qmlbind.pro
186
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_application.cpp
187
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_component.cpp
188
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_engine.cpp
189
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_exporter.cpp
190
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_interface.cpp
191
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_iterator.cpp
192
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_metaobject.cpp
193
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_plugin.cpp
194
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_register.cpp
195
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_signal_emitter.cpp
196
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_string.cpp
197
+ - ext/qml/lib/libqmlbind/qmlbind/src/api_value.cpp
198
+ - ext/qml/lib/libqmlbind/qmlbind/src/backref.cpp
199
+ - ext/qml/lib/libqmlbind/qmlbind/src/backref.h
200
+ - ext/qml/lib/libqmlbind/qmlbind/src/engine.cpp
201
+ - ext/qml/lib/libqmlbind/qmlbind/src/engine.h
202
+ - ext/qml/lib/libqmlbind/qmlbind/src/exporter.cpp
203
+ - ext/qml/lib/libqmlbind/qmlbind/src/exporter.h
204
+ - ext/qml/lib/libqmlbind/qmlbind/src/interface.cpp
205
+ - ext/qml/lib/libqmlbind/qmlbind/src/interface.h
206
+ - ext/qml/lib/libqmlbind/qmlbind/src/metaobject.cpp
207
+ - ext/qml/lib/libqmlbind/qmlbind/src/metaobject.h
208
+ - ext/qml/lib/libqmlbind/qmlbind/src/signalemitter.cpp
209
+ - ext/qml/lib/libqmlbind/qmlbind/src/signalemitter.h
210
+ - ext/qml/lib/libqmlbind/qmlbind/src/ticktimer.cpp
211
+ - ext/qml/lib/libqmlbind/qmlbind/src/ticktimer.h
212
+ - ext/qml/lib/libqmlbind/qmlbind/src/typeregisterer.cpp
213
+ - ext/qml/lib/libqmlbind/qmlbind/src/typeregisterer.h
214
+ - ext/qml/lib/libqmlbind/qmlbind/src/util.h
215
+ - ext/qml/lib/libqmlbind/qmlbind/src/wrapper.cpp
216
+ - ext/qml/lib/libqmlbind/qmlbind/src/wrapper.h
217
+ - ext/qml/lib/libqmlbind/readme.md
218
+ - ext/qml/lib/libqmlbind/test/api.c
219
+ - ext/qml/lib/libqmlbind/test/application_test.cpp
220
+ - ext/qml/lib/libqmlbind/test/component_test.cpp
221
+ - ext/qml/lib/libqmlbind/test/engine_test.cpp
222
+ - ext/qml/lib/libqmlbind/test/exporter_test.cpp
223
+ - ext/qml/lib/libqmlbind/test/fixtures/emptyhandlers.cpp
224
+ - ext/qml/lib/libqmlbind/test/fixtures/emptyhandlers.h
225
+ - ext/qml/lib/libqmlbind/test/fixtures/test.qml
226
+ - ext/qml/lib/libqmlbind/test/fixtures/testmodule/qmldir
227
+ - ext/qml/lib/libqmlbind/test/fixtures/testmodule/test.qml
228
+ - ext/qml/lib/libqmlbind/test/iterator_test.cpp
229
+ - ext/qml/lib/libqmlbind/test/main.cpp
230
+ - ext/qml/lib/libqmlbind/test/plugin_test.cpp
231
+ - ext/qml/lib/libqmlbind/test/test.pro
232
+ - ext/qml/lib/libqmlbind/test/test_helper.h
233
+ - ext/qml/lib/libqmlbind/test/value_test.cpp
234
+ - ext/qml/lib/libqmlbind/testplugin/testplugin.cpp
235
+ - ext/qml/lib/libqmlbind/testplugin/testplugin.h
236
+ - ext/qml/lib/libqmlbind/testplugin/testplugin.json
237
+ - ext/qml/lib/libqmlbind/testplugin/testplugin.pro
238
+ - ext/qml/meta_object.c
239
+ - ext/qml/meta_object.h
240
+ - ext/qml/plugin_loader.c
241
+ - ext/qml/plugin_loader.h
242
+ - ext/qml/qml.c
243
+ - ext/qml/qml.h
244
+ - ext/qml/rubyqml-plugin/listmodel.cpp
245
+ - ext/qml/rubyqml-plugin/listmodel.h
246
+ - ext/qml/rubyqml-plugin/rubyqml-plugin.pro
247
+ - ext/qml/rubyqml-plugin/rubyqmlplugin.cpp
248
+ - ext/qml/rubyqml-plugin/rubyqmlplugin.h
249
+ - ext/qml/signal_emitter.c
250
+ - ext/qml/signal_emitter.h
240
251
  - lib/qml.rb
241
252
  - lib/qml/access.rb
242
253
  - lib/qml/application.rb
243
254
  - lib/qml/component.rb
244
- - lib/qml/context.rb
255
+ - lib/qml/core_ext.rb
256
+ - lib/qml/core_ext/to_qml.rb
245
257
  - lib/qml/data.rb
246
258
  - lib/qml/data/array_model.rb
247
- - lib/qml/data/error.rb
248
259
  - lib/qml/data/list_model.rb
260
+ - lib/qml/data/list_model_access.rb
249
261
  - lib/qml/data/query_model.rb
250
- - lib/qml/dispatchable.rb
251
262
  - lib/qml/dispatcher.rb
252
263
  - lib/qml/engine.rb
253
- - lib/qml/error_converter.rb
254
264
  - lib/qml/errors.rb
255
- - lib/qml/geometry.rb
256
- - lib/qml/geometry/point.rb
257
- - lib/qml/geometry/rectangle.rb
258
- - lib/qml/geometry/size.rb
259
- - lib/qml/image_provider.rb
260
- - lib/qml/init.rb
261
- - lib/qml/meta_object.rb
262
- - lib/qml/models.rb
265
+ - lib/qml/interface.rb
266
+ - lib/qml/js_array.rb
267
+ - lib/qml/js_object.rb
268
+ - lib/qml/js_util.rb
263
269
  - lib/qml/name_helper.rb
264
270
  - lib/qml/platform.rb
265
271
  - lib/qml/plugin_loader.rb
266
272
  - lib/qml/plugins.rb
273
+ - lib/qml/proc_access.rb
267
274
  - lib/qml/qml.rb
268
275
  - lib/qml/qt.rb
269
- - lib/qml/qt_classes.rb
270
- - lib/qml/qt_object_base.rb
271
276
  - lib/qml/reactive.rb
272
- - lib/qml/reactive/bindable.rb
273
- - lib/qml/reactive/chained_signal.rb
274
- - lib/qml/reactive/error.rb
275
- - lib/qml/reactive/object.rb
276
- - lib/qml/reactive/property.rb
277
- - lib/qml/reactive/signal.rb
278
- - lib/qml/reactive/signal_spy.rb
279
- - lib/qml/reactive/signals/map_signal.rb
280
- - lib/qml/reactive/signals/merge_signal.rb
281
- - lib/qml/reactive/signals/select_signal.rb
282
- - lib/qml/reactive/simple_property.rb
283
- - lib/qml/reactive/unbound_property.rb
284
- - lib/qml/reactive/unbound_signal.rb
285
277
  - lib/qml/root_path.rb
286
- - lib/qml/test_util.rb
287
- - lib/qml/test_util/object_life_checker.rb
278
+ - lib/qml/signal.rb
288
279
  - lib/qml/version.rb
289
- - lib/qml/wrappable.rb
290
280
  - qml.gemspec
291
281
  - spec/assets/test.png
292
282
  - spec/assets/testmodule/qmldir
@@ -295,31 +285,23 @@ files:
295
285
  - spec/qml/access_spec.rb
296
286
  - spec/qml/application_spec.rb
297
287
  - spec/qml/component_spec.rb
298
- - spec/qml/context_spec.rb
299
- - spec/qml/conversion_spec.rb
300
288
  - spec/qml/data/array_model_spec.rb
301
289
  - spec/qml/data/list_model_spec.rb
302
290
  - spec/qml/data/query_model_spec.rb
303
- - spec/qml/dispatchable_spec.rb
304
- - spec/qml/dispatcher_spec.rb
305
291
  - spec/qml/engine_spec.rb
306
- - spec/qml/geometry/point_spec.rb
307
- - spec/qml/geometry/rectangle_spec.rb
308
- - spec/qml/geometry/size_spec.rb
309
- - spec/qml/image_provider_spec.rb
292
+ - spec/qml/interface_spec.rb
293
+ - spec/qml/js_array_spec.rb
294
+ - spec/qml/js_function_spec.rb
295
+ - spec/qml/js_object_spec.rb
310
296
  - spec/qml/plugin_loader_spec.rb
311
- - spec/qml/qt_object_base_spec.rb
312
- - spec/qml/reactive/object_spec.rb
313
- - spec/qml/reactive/property_spec.rb
314
- - spec/qml/reactive/signal_spec.rb
315
- - spec/qml/reactive/signal_spy_spec.rb
316
- - spec/qml/reactive/unbound_property_spec.rb
317
- - spec/qml/reactive/unbound_signal_spec.rb
318
- - spec/qml/test_object_spec.rb
319
- - spec/qml/wrappable_spec.rb
297
+ - spec/qml/qt_spec.rb
298
+ - spec/qml/reactive_spec.rb
299
+ - spec/qml/signal_connect_spec.rb
300
+ - spec/qml/signal_spec.rb
301
+ - spec/qml/to_qml_spec.rb
320
302
  - spec/qml_spec.rb
303
+ - spec/shared/qml/access_example.rb
321
304
  - spec/shared/qml/data/list_model.rb
322
- - spec/shared/qml/reactive/object.rb
323
305
  - spec/spec_helper.rb
324
306
  homepage: http://seanchas116.github.io/ruby-qml/
325
307
  licenses:
@@ -341,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
341
323
  version: '0'
342
324
  requirements: []
343
325
  rubyforge_project:
344
- rubygems_version: 2.4.5
326
+ rubygems_version: 2.4.6
345
327
  signing_key:
346
328
  specification_version: 4
347
329
  summary: A QML / Qt Quick wrapper for Ruby
@@ -353,29 +335,22 @@ test_files:
353
335
  - spec/qml/access_spec.rb
354
336
  - spec/qml/application_spec.rb
355
337
  - spec/qml/component_spec.rb
356
- - spec/qml/context_spec.rb
357
- - spec/qml/conversion_spec.rb
358
338
  - spec/qml/data/array_model_spec.rb
359
339
  - spec/qml/data/list_model_spec.rb
360
340
  - spec/qml/data/query_model_spec.rb
361
- - spec/qml/dispatchable_spec.rb
362
- - spec/qml/dispatcher_spec.rb
363
341
  - spec/qml/engine_spec.rb
364
- - spec/qml/geometry/point_spec.rb
365
- - spec/qml/geometry/rectangle_spec.rb
366
- - spec/qml/geometry/size_spec.rb
367
- - spec/qml/image_provider_spec.rb
342
+ - spec/qml/interface_spec.rb
343
+ - spec/qml/js_array_spec.rb
344
+ - spec/qml/js_function_spec.rb
345
+ - spec/qml/js_object_spec.rb
368
346
  - spec/qml/plugin_loader_spec.rb
369
- - spec/qml/qt_object_base_spec.rb
370
- - spec/qml/reactive/object_spec.rb
371
- - spec/qml/reactive/property_spec.rb
372
- - spec/qml/reactive/signal_spec.rb
373
- - spec/qml/reactive/signal_spy_spec.rb
374
- - spec/qml/reactive/unbound_property_spec.rb
375
- - spec/qml/reactive/unbound_signal_spec.rb
376
- - spec/qml/test_object_spec.rb
377
- - spec/qml/wrappable_spec.rb
347
+ - spec/qml/qt_spec.rb
348
+ - spec/qml/reactive_spec.rb
349
+ - spec/qml/signal_connect_spec.rb
350
+ - spec/qml/signal_spec.rb
351
+ - spec/qml/to_qml_spec.rb
378
352
  - spec/qml_spec.rb
353
+ - spec/shared/qml/access_example.rb
379
354
  - spec/shared/qml/data/list_model.rb
380
- - spec/shared/qml/reactive/object.rb
381
355
  - spec/spec_helper.rb
356
+ has_rdoc: