rhodes 3.2.3 → 3.3.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. data/CHANGELOG +10 -0
  2. data/Rakefile +153 -46
  3. data/doc/build.txt +261 -102
  4. data/doc/configuration.txt +5 -2
  5. data/doc/device-caps.txt +134 -23
  6. data/doc/extensions.txt +922 -69
  7. data/doc/generator.txt +96 -39
  8. data/doc/install.txt +35 -19
  9. data/doc/jqt-jqm-transition.txt +17 -1
  10. data/doc/rhom.txt +23 -2
  11. data/doc/rhostudio-eclipse.txt +49 -0
  12. data/doc/rhostudio-test-plan.txt +440 -0
  13. data/doc/simulator.txt +1 -1
  14. data/doc/synchronization.txt +40 -1
  15. data/lib/build/jake.rb +108 -7
  16. data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +0 -35
  17. data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +8 -2
  18. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +195 -195
  19. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +6 -0
  20. data/lib/extensions/barcode/ext/barcode/platform/iphone/Rakefile +5 -0
  21. data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +64 -20
  22. data/lib/extensions/debugger/CHANGELOG +3 -0
  23. data/lib/extensions/debugger/debugger.rb +26 -21
  24. data/lib/extensions/digest-md5/ext/Rakefile +5 -5
  25. data/lib/extensions/digest-md5/ext/build +10 -1
  26. data/lib/extensions/digest-md5/ext/defs.h +19 -0
  27. data/lib/extensions/digest-md5/ext/digest-md5.vcproj +317 -9
  28. data/lib/extensions/digest-md5/ext/iphone/Dmd5.xcodeproj/project.pbxproj +290 -0
  29. data/lib/extensions/digest-md5/ext/iphone/Dmd5_Prefix.pch +7 -0
  30. data/lib/extensions/digest-md5/ext/iphone/Rakefile +79 -0
  31. data/lib/extensions/digest-sha1/ext/Rakefile +5 -5
  32. data/lib/extensions/digest-sha1/ext/build +10 -1
  33. data/lib/extensions/digest-sha1/ext/defs.h +19 -0
  34. data/lib/extensions/digest-sha1/ext/digest-sha1.vcproj +317 -9
  35. data/lib/extensions/digest-sha1/ext/iphone/Dsha1.xcodeproj/project.pbxproj +278 -0
  36. data/lib/extensions/digest-sha1/ext/iphone/Dsha1_Prefix.pch +7 -0
  37. data/lib/extensions/digest-sha1/ext/iphone/Rakefile +79 -0
  38. data/lib/extensions/digest/ext/Rakefile +5 -5
  39. data/lib/extensions/digest/ext/build +10 -1
  40. data/lib/extensions/digest/ext/digest.vcproj +317 -9
  41. data/lib/extensions/digest/ext/iphone/Digest.xcodeproj/project.pbxproj +270 -0
  42. data/lib/extensions/digest/ext/iphone/Digest_Prefix.pch +7 -0
  43. data/lib/extensions/digest/ext/iphone/Rakefile +79 -0
  44. data/lib/extensions/esri/ext/esri/platform/iphone/ESRI.xcodeproj/project.pbxproj +10 -2
  45. data/lib/extensions/esri/ext/esri/platform/iphone/Rakefile +6 -0
  46. data/lib/extensions/fcntl/ext/Rakefile +5 -5
  47. data/lib/extensions/fcntl/ext/build +9 -1
  48. data/lib/extensions/fcntl/ext/iphone/Fcntl.xcodeproj/project.pbxproj +262 -0
  49. data/lib/extensions/fcntl/ext/iphone/Fcntl_Prefix.pch +7 -0
  50. data/lib/extensions/fcntl/ext/iphone/Rakefile +79 -0
  51. data/lib/extensions/net-http/net/http.rb +9 -7
  52. data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +64 -20
  53. data/lib/extensions/rhoxml/rexml/document.rb +3 -2
  54. data/lib/extensions/rhoxml/rexml/instruction.rb +70 -0
  55. data/lib/framework/builtinME.rb +9 -0
  56. data/lib/framework/date/format.rb +1 -1
  57. data/lib/framework/dateME.rb +19 -2
  58. data/lib/framework/rho/rho.rb +15 -4
  59. data/lib/framework/rho/rhoapplication.rb +1 -0
  60. data/lib/framework/rho/rhocontact.rb +10 -27
  61. data/lib/framework/rho/rhoevent_c.rb +8 -2
  62. data/lib/framework/rho/rhosupport.rb +25 -0
  63. data/lib/framework/rhodes.rb +1 -1
  64. data/lib/framework/rhoframework.rb +15 -0
  65. data/lib/framework/rholang/localization_simplified.rb +8 -10
  66. data/lib/framework/rhom/rhom_object_factory.rb +8 -2
  67. data/lib/framework/version.rb +1 -1
  68. data/lib/rhodes.rb +1 -1
  69. data/platform/android/Rhodes/jni/Application.mk +2 -1
  70. data/platform/android/Rhodes/jni/include/rhodes.h +9 -0
  71. data/platform/android/Rhodes/jni/src/callbacks.cpp +31 -1
  72. data/platform/android/Rhodes/jni/src/event.cpp +75 -31
  73. data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
  74. data/platform/android/Rhodes/jni/src/phonebook.cpp +73 -9
  75. data/platform/android/Rhodes/jni/src/rhodes.cpp +21 -0
  76. data/platform/android/Rhodes/jni/src/rhodesapp.cpp +16 -24
  77. data/platform/android/Rhodes/jni/src/signature.cpp +27 -1
  78. data/platform/android/Rhodes/{default.properties → project.properties} +2 -2
  79. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +14 -12
  80. data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +14 -12
  81. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +38 -115
  82. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +69 -52
  83. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java +9 -0
  84. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +21 -1
  85. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraOldService.java +1 -1
  86. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +1 -1
  87. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraService.java +1 -1
  88. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +38 -6
  89. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java +212 -1
  90. data/platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java +82 -125
  91. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +1 -1
  92. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java +2 -1
  93. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +39 -19
  94. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +106 -136
  95. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +26 -25
  96. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +1 -1
  97. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +40 -0
  98. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +47 -0
  99. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality02.java +33 -0
  100. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality03.java +33 -0
  101. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality04.java +34 -0
  102. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality05.java +75 -0
  103. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality06.java +34 -0
  104. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality07.java +34 -0
  105. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +44 -0
  106. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality09.java +34 -0
  107. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality10.java +34 -0
  108. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +73 -0
  109. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java +57 -6
  110. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessor.java +2 -2
  111. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorNew.java +322 -76
  112. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java +11 -6
  113. data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java +5 -5
  114. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientOld.java +2 -1
  115. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +125 -0
  116. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java +2 -3
  117. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebView.java +16 -0
  118. data/platform/android/build/RhodesSRC_build.files +14 -0
  119. data/platform/android/build/android.rake +149 -147
  120. data/platform/android/build/android_tools.rb +58 -0
  121. data/platform/android/build/librhocommon_build.files +1 -0
  122. data/platform/android/build/libruby_build.files +3 -0
  123. data/platform/bb/RubyVM/src/com/rho/RhoConf.java +11 -1
  124. data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +11 -5
  125. data/platform/bb/RubyVM/src/com/rho/db/DBAttrManager.java +3 -2
  126. data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +2 -0
  127. data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +20 -8
  128. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +9 -6
  129. data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +45 -18
  130. data/platform/bb/RubyVM/src/com/rho/sync/SyncThread.java +1 -2
  131. data/platform/bb/build/bb.rake +84 -70
  132. data/platform/bb/rhodes/platform/5.0/com/rho/BrowserAdapter5.java +106 -14
  133. data/platform/bb/rhodes/src/com/rho/BrowserAdapter.java +1 -1
  134. data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +108 -16
  135. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +10 -5
  136. data/platform/bb/rhodes/src/rhomobile/camera/CameraScreen.java +21 -4
  137. data/platform/bb/rhodes/src/rhomobile/mapview/Annotation.java +17 -0
  138. data/platform/bb/rhodes/src/rhomobile/mapview/MapView.java +8 -5
  139. data/platform/bb/rhodes/src/rhomobile/mapview/MapViewScreen.java +3 -1
  140. data/platform/iphone/Classes/AppManager/AppManager.m +15 -3
  141. data/platform/iphone/Classes/Event/Event.m +45 -2
  142. data/platform/iphone/Classes/MapView/MapViewController.m +8 -4
  143. data/platform/iphone/Classes/Phonebook/phonebook.m +30 -7
  144. data/platform/iphone/Classes/Rhodes.h +11 -1
  145. data/platform/iphone/Classes/Rhodes.m +141 -9
  146. data/platform/iphone/Classes/Signature/SignatureDelegate.m +27 -1
  147. data/platform/iphone/Classes/SimpleMainView.h +1 -0
  148. data/platform/iphone/Classes/SimpleMainView.m +4 -0
  149. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +31 -1
  150. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +10 -0
  151. data/platform/iphone/rbuild/iphone.rake +33 -6
  152. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +10 -2
  153. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +22 -2
  154. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +14 -0
  155. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +10 -0
  156. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Info.plist +1 -1
  157. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/MacOS/RhoSimulator +0 -0
  158. data/platform/osx/build/osx.rake +58 -7
  159. data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +427 -69
  160. data/platform/shared/RhoConnectClient/RhoConnectClient.h +21 -2
  161. data/platform/shared/common/Android.mk +2 -1
  162. data/platform/shared/common/AutoPointer.h +23 -0
  163. data/platform/shared/common/BundleManager.cpp +333 -0
  164. data/platform/shared/common/RhoFile.cpp +206 -23
  165. data/platform/shared/common/RhoFile.h +14 -4
  166. data/platform/shared/common/RhoFilePath.h +18 -0
  167. data/platform/shared/common/RhoStd.h +11 -1
  168. data/platform/shared/common/RhoThread.h +4 -1
  169. data/platform/shared/common/RhodesApp.cpp +31 -8
  170. data/platform/shared/common/RhodesApp.h +14 -0
  171. data/platform/shared/common/RhodesAppBase.cpp +6 -6
  172. data/platform/shared/common/RhodesAppBase.h +1 -1
  173. data/platform/shared/common/emml.h +34 -0
  174. data/platform/shared/common/iphone/RhoFileImpl.m +30 -2
  175. data/platform/shared/common/map/BaseMapEngine.cpp +3 -3
  176. data/platform/shared/common/map/GeocodingMapEngine.cpp +205 -14
  177. data/platform/shared/common/map/GeocodingMapEngine.h +25 -2
  178. data/platform/shared/common/map/MapEngine.cpp +24 -2
  179. data/platform/shared/common/map/MapEngine.h +23 -12
  180. data/platform/shared/common/phonebook/PhonebookParams.cpp +99 -0
  181. data/platform/shared/common/phonebook/PhonebookParams.h +52 -0
  182. data/platform/shared/common/rhoparams.cpp +14 -0
  183. data/platform/shared/common/rhoparams.h +1 -0
  184. data/platform/shared/db/DBAdapter.cpp +43 -24
  185. data/platform/shared/db/DBAdapter.h +6 -1
  186. data/platform/shared/db/DBAttrManager.cpp +50 -1
  187. data/platform/shared/logging/RhoLog.h +3 -0
  188. data/platform/shared/logging/RhoLogSink.cpp +5 -1
  189. data/platform/shared/net/CURLNetRequest.cpp +2 -0
  190. data/platform/shared/qt/rhodes/QtMainWindow.cpp +14 -1
  191. data/platform/shared/qt/rhodes/impl/PhonebookImpl.cpp +2 -2
  192. data/platform/shared/qt/rhodes/impl/RhoFileImpl.cpp +1 -1
  193. data/platform/shared/qt/rhodes/impl/SignatureImpl.cpp +14 -2
  194. data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +16 -2
  195. data/platform/shared/qt/rhodes/main.cpp +28 -0
  196. data/platform/shared/qt/rhodes/rhodes.pro +3 -0
  197. data/platform/shared/qt/rholib/rholib.pro +2 -1
  198. data/platform/shared/qt/rubylib/rubylib.pro +2 -1
  199. data/platform/shared/ruby/Android.mk +3 -0
  200. data/platform/shared/ruby/class.c +7 -0
  201. data/platform/shared/ruby/compile.c +18 -10
  202. data/platform/shared/ruby/encdb.h +18 -8
  203. data/platform/shared/ruby/eval.c +108 -2
  204. data/platform/shared/ruby/ext/alert/alert_wrap.c +64 -20
  205. data/platform/shared/ruby/ext/asynchttp/asynchttp_wrap.c +64 -20
  206. data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +67 -23
  207. data/platform/shared/ruby/ext/calendar/calendar_wrap.c +64 -20
  208. data/platform/shared/ruby/ext/calendar/event_wrap.c +64 -20
  209. data/platform/shared/ruby/ext/camera/camera_wrap.c +64 -20
  210. data/platform/shared/ruby/ext/datetimepicker/datetimepicker_wrap.c +64 -20
  211. data/platform/shared/ruby/ext/geolocation/geolocation.i +16 -0
  212. data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +127 -26
  213. data/platform/shared/ruby/ext/mapview/mapview_wrap.c +64 -20
  214. data/platform/shared/ruby/ext/nativebar/nativebar_wrap.c +65 -21
  215. data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager_wrap.c +64 -20
  216. data/platform/shared/ruby/ext/navbar/navbar_wrap.c +64 -20
  217. data/platform/shared/ruby/ext/phonebook/phonebook.i +7 -7
  218. data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +95 -120
  219. data/platform/shared/ruby/ext/rho/rhoruby.c +4 -4
  220. data/platform/shared/ruby/ext/rho/rhoruby.h +2 -0
  221. data/platform/shared/ruby/ext/rho/rhosupport.c +39 -6
  222. data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +65 -21
  223. data/platform/shared/ruby/ext/ringtones/ringtones_wrap.c +64 -20
  224. data/platform/shared/ruby/ext/signature/signature.i +37 -5
  225. data/platform/shared/ruby/ext/signature/signature_wrap.c +274 -45
  226. data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +65 -21
  227. data/platform/shared/ruby/ext/system/system.i +14 -2
  228. data/platform/shared/ruby/ext/system/system_wrap.c +146 -25
  229. data/platform/shared/ruby/ext/webview/webview_wrap.c +65 -21
  230. data/platform/shared/ruby/include/ruby/ruby.h +15 -4
  231. data/platform/shared/ruby/inits.c +1 -0
  232. data/platform/shared/ruby/io.c +13 -3
  233. data/platform/shared/ruby/win32/win32.c +3 -3
  234. data/platform/shared/ruby/wince/io_wce.c +2 -2
  235. data/platform/shared/rubyext/System.cpp +9 -5
  236. data/platform/shared/sync/ClientRegister.cpp +18 -8
  237. data/platform/shared/sync/SyncEngine.cpp +25 -11
  238. data/platform/shared/sync/SyncEngine.h +2 -0
  239. data/platform/shared/sync/SyncSource.cpp +40 -15
  240. data/platform/shared/sync/SyncSource.h +3 -2
  241. data/platform/shared/sync/SyncThread.cpp +9 -4
  242. data/platform/shared/sync/SyncThread.h +3 -1
  243. data/platform/symbian/build/symbian.rake +14 -9
  244. data/platform/symbian/rhodes/rhodes.pro +11 -8
  245. data/platform/symbian/rhodes/src/phonebook/ruby_phonebook.cpp +2 -2
  246. data/platform/symbian/rubylib/rubylib.pro +3 -0
  247. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  248. data/platform/wm/RhoLib/RhoLib.vcproj +315 -2
  249. data/platform/wm/build/build_inf.js +235 -187
  250. data/platform/wm/build/wm.rake +388 -233
  251. data/platform/wm/rhodes.sln +56 -0
  252. data/platform/wm/rhodes/MainWindow.cpp +139 -77
  253. data/platform/wm/rhodes/MainWindow.h +27 -22
  254. data/platform/wm/rhodes/MapView/{Graphics.cpp → Bitmap.cpp} +15 -253
  255. data/platform/wm/rhodes/MapView/Bitmap.h +86 -0
  256. data/platform/wm/rhodes/MapView/MapViewManager.cpp +7 -2
  257. data/platform/wm/rhodes/MapView/MapViewManager.h +1 -1
  258. data/platform/wm/rhodes/MapView/Win32Graphics.cpp +263 -0
  259. data/platform/wm/rhodes/MapView/Win32Graphics.h +133 -0
  260. data/platform/wm/rhodes/MapView/WmGraphics.cpp +291 -0
  261. data/platform/wm/rhodes/MapView/{Graphics.h → WmGraphics.h} +14 -56
  262. data/platform/wm/rhodes/Rhodes.cpp +128 -32
  263. data/platform/wm/rhodes/Rhodes.rc +6 -2
  264. data/platform/wm/rhodes/camera/Camera.cpp +1 -0
  265. data/platform/wm/rhodes/phonebook/phonebook.cpp +2 -2
  266. data/platform/wm/rhodes/phonebook/phonebook.h +2 -2
  267. data/platform/wm/rhodes/resource.h +3 -2
  268. data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +6 -0
  269. data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +4 -0
  270. data/platform/wm/rhodes/rho/rubyext/RhoSignature.cpp +675 -0
  271. data/platform/wm/rhodes/rho/rubyext/RhoSignature.h +123 -0
  272. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +12 -2
  273. data/platform/wm/rhodes/rhodes.vcproj +2732 -1113
  274. data/platform/wm/rhodes/simulator/MainWindowQt.h +1 -1
  275. data/platform/wm/rhodes/stdafx.h +1 -0
  276. data/platform/wm/rhoelements.sln +118 -62
  277. data/platform/wm/rubylib/rubylib.vcproj +345 -16
  278. data/platform/wm/sqlite3/sqlite3.vcproj +305 -0
  279. data/platform/wm/syncengine/syncengine.vcproj +309 -0
  280. data/platform/wm/tools/detool/LogServer.cpp +19 -2
  281. data/platform/wm/tools/detool/detool.cpp +131 -6
  282. data/platform/wm/tools/detool/detool.vcproj +3 -1
  283. data/platform/wm/tools/detool/stdafx.h +1 -0
  284. data/platform/wp7/IronRuby/Languages/Ruby/Libraries/Builtins/RangeOps.cs +589 -0
  285. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Builtins/RubyEncoding.cs +678 -0
  286. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Runtime/RubyExceptionData.cs +271 -0
  287. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Runtime/RubyUtils.cs +31 -1
  288. data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
  289. data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.dll +0 -0
  290. data/platform/wp7/RhoRubyLib/common/RhoStd.cs +6 -0
  291. data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +16 -2
  292. data/platform/wp7/RhoRubyLib/net/NetRequest.cs +2 -0
  293. data/platform/wp7/RhoRubyLib/rubyext/RhoSyncEngine.cs +1 -2
  294. data/platform/wp7/RhoRubyLib/sync/SyncEngine.cs +13 -10
  295. data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +30 -8
  296. data/platform/wp7/build/wp.rake +5 -0
  297. data/rakefile.rb +153 -46
  298. data/res/build-tools/detool.exe +0 -0
  299. data/res/build-tools/swig_patch/Lib/ruby/rubyerrors.swg +155 -0
  300. data/res/build-tools/swig_patch/Lib/ruby/rubyhead.swg +158 -0
  301. data/res/build-tools/swig_patch/Lib/ruby/rubyiterators.swg +932 -0
  302. data/res/build-tools/swig_patch/Lib/ruby/rubyrun.swg +448 -0
  303. data/res/build-tools/swig_patch/Lib/ruby/rubystdfunctors.swg +162 -0
  304. data/res/build-tools/swig_patch/Lib/ruby/rubytracking.swg +159 -0
  305. data/res/build-tools/swig_patch/Lib/ruby/std_basic_string.i +97 -0
  306. data/res/build-tools/swig_patch/Lib/ruby/std_map.i +418 -0
  307. data/res/build-tools/swig_patch/Lib/ruby/std_multimap.i +227 -0
  308. data/res/build-tools/swig_patch/Lib/swiginit.swg +269 -0
  309. data/res/build-tools/swig_patch/README +7 -0
  310. data/res/generators/templates/application/app/Settings/controller.rb +42 -1
  311. data/res/generators/templates/application/app/Settings/wait.erb +1 -1
  312. data/res/generators/templates/application/app/application.rb +1 -1
  313. data/res/generators/templates/application/app/layout.erb +8 -8
  314. data/res/generators/templates/application/build.yml +0 -1
  315. data/res/generators/templates/application/public/css/android.css +6 -0
  316. data/res/generators/templates/application/public/css/blackberry.css +6 -0
  317. data/res/generators/templates/application/public/css/iphone.css +6 -0
  318. data/res/generators/templates/application/public/css/jqmobile-patch.css +14 -0
  319. data/res/generators/templates/application/public/jqmobile/images/ajax-loader.png +0 -0
  320. data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
  321. data/res/generators/templates/application/public/jqmobile/images/icons-18-white.png +0 -0
  322. data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
  323. data/res/generators/templates/application/public/jqmobile/images/icons-36-white.png +0 -0
  324. data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0rc1.css → jquery.mobile-1.0.css} +452 -354
  325. data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0rc1.js → jquery.mobile-1.0.js} +629 -442
  326. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.css +2 -0
  327. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.js +172 -0
  328. data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.css +714 -0
  329. data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.min.css +2 -0
  330. data/res/generators/templates/application/public/js/jqmobile-patch.js +136 -7
  331. data/res/generators/templates/extension/app/MontanaTest/controller.rb +20 -20
  332. data/res/generators/templates/extension/app/MontanaTest/index.erb +17 -17
  333. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj +8 -2
  334. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Rakefile +5 -0
  335. data/res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana_wrap.c +64 -20
  336. data/rhomobile-debug.gemspec +1 -1
  337. data/spec/framework_spec/app/layout.erb +1 -1
  338. data/spec/framework_spec/app/spec/core/rational/Rational_spec.rb +1 -1
  339. data/spec/framework_spec/app/spec/library/stringio/shared/each_char.rb +6 -2
  340. data/spec/framework_spec/app/spec/shared/rational/{Rational.rb → rational_main.rb} +0 -0
  341. data/spec/framework_spec/build.yml +0 -3
  342. data/spec/perfomance_spec/app/Benchmark/controller.rb +1 -1
  343. data/spec/perfomance_spec/app/layout.erb +1 -1
  344. data/spec/phone_spec/app/BlobTest_s/blob_test_s.rb +13 -0
  345. data/spec/phone_spec/app/BlobTest_s/test.png +0 -0
  346. data/spec/phone_spec/app/BlobTest_s/test2.png +0 -0
  347. data/spec/phone_spec/app/spec/blobsync_spec.rb +27 -15
  348. data/spec/phone_spec/app/spec/date_spec.rb +27 -1
  349. data/spec/phone_spec/app/spec/rho_spec.rb +6 -0
  350. data/spec/phone_spec/app/spec/rhom_object_spec.rb +64 -26
  351. data/spec/phone_spec/app/spec/syncengine_spec.rb +28 -7
  352. data/spec/phone_spec/app/spec/uri_spec.rb +4 -4
  353. data/spec/phone_spec/app/spec_runner.rb +4 -2
  354. data/spec/phone_spec/build.yml +7 -9
  355. data/spec/phone_spec/rhoconfig.txt +1 -0
  356. data/version +1 -1
  357. metadata +75 -22
  358. data/Manifest.txt +0 -7853
  359. data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.cpp +0 -384
  360. data/platform/wm/rhodes/rhoelements/RhoWKBrowserEngine.h +0 -41
  361. data/platform/wm/rhodes/signature/Signature.cpp +0 -396
  362. data/platform/wm/rhodes/signature/Signature.h +0 -84
  363. data/platform/wm/rubylib/rubylib.vcproj.VLAD.Vladimir.user +0 -429
  364. data/platform/wm/sqlite3/sqlite3.vcproj.VLAD.Vladimir.user +0 -429
  365. data/platform/wm/syncengine/syncengine.vcproj.VLAD.Vladimir.user +0 -429
  366. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0rc1.min.css +0 -12
  367. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0rc1.min.js +0 -170
  368. data/rhomobile-debug-1.0.5.gem +0 -0
@@ -3,10 +3,11 @@ require "rexml/element"
3
3
  require 'rexml/text'
4
4
  require "rexml/source"
5
5
  #require "rexml/doctype"
6
- =begin
7
- require "rexml/comment"
6
+
7
+ #require "rexml/comment"
8
8
 
9
9
  require "rexml/instruction"
10
+ =begin
10
11
  require "rexml/rexml"
11
12
  require "rexml/parseexception"
12
13
  require "rexml/output"
@@ -0,0 +1,70 @@
1
+ require "rexml/child"
2
+ require "rexml/source"
3
+
4
+ module REXML
5
+ # Represents an XML Instruction; IE, <? ... ?>
6
+ # TODO: Add parent arg (3rd arg) to constructor
7
+ class Instruction < Child
8
+ START = '<\?'
9
+ STOP = '\?>'
10
+
11
+ # target is the "name" of the Instruction; IE, the "tag" in <?tag ...?>
12
+ # content is everything else.
13
+ attr_accessor :target, :content
14
+
15
+ # Constructs a new Instruction
16
+ # @param target can be one of a number of things. If String, then
17
+ # the target of this instruction is set to this. If an Instruction,
18
+ # then the Instruction is shallowly cloned (target and content are
19
+ # copied). If a Source, then the source is scanned and parsed for
20
+ # an Instruction declaration.
21
+ # @param content Must be either a String, or a Parent. Can only
22
+ # be a Parent if the target argument is a Source. Otherwise, this
23
+ # String is set as the content of this instruction.
24
+ def initialize(target, content=nil)
25
+ if target.kind_of? String
26
+ super()
27
+ @target = target
28
+ @content = content
29
+ elsif target.kind_of? Instruction
30
+ super(content)
31
+ @target = target.target
32
+ @content = target.content
33
+ end
34
+ @content.strip! if @content
35
+ end
36
+
37
+ def clone
38
+ Instruction.new self
39
+ end
40
+
41
+ # == DEPRECATED
42
+ # See the rexml/formatters package
43
+ #
44
+ def write writer, indent=-1, transitive=false, ie_hack=false
45
+ Kernel.warn( "#{self.class.name}.write is deprecated" )
46
+ indent(writer, indent)
47
+ writer << START.sub(/\\/u, '')
48
+ writer << @target
49
+ writer << ' '
50
+ writer << @content
51
+ writer << STOP.sub(/\\/u, '')
52
+ end
53
+
54
+ # @return true if other is an Instruction, and the content and target
55
+ # of the other matches the target and content of this object.
56
+ def ==( other )
57
+ other.kind_of?( Instruction ) and
58
+ other.target == @target and
59
+ other.content == @content
60
+ end
61
+
62
+ def node_type
63
+ :processing_instruction
64
+ end
65
+
66
+ def inspect
67
+ "<?p-i #{target} ...?>"
68
+ end
69
+ end
70
+ end
@@ -823,3 +823,12 @@ class String
823
823
  end
824
824
 
825
825
  end
826
+
827
+ class Encoding
828
+
829
+ US_ASCII = "US-ASCII"
830
+ UTF_8 = "UTF-8";
831
+ ASCII_8BIT = "ASCII-8BIT"
832
+ ISO_8859_1 = "ISO-8859-1"
833
+
834
+ end
@@ -538,7 +538,7 @@ class Date
538
538
  else /\A([-+]?\d{1,})/
539
539
  end, '')
540
540
  val = $1.to_i
541
- puts "val: #{val}"
541
+ #puts "val: #{val}"
542
542
  e.year = val
543
543
  when 'y', 'Ey', 'Oy'
544
544
  return unless str.sub!(/\A(\d{1,2})/, '')
@@ -72,6 +72,13 @@ class Time
72
72
  elsif fmt == '%Y%m%d'
73
73
  strRes = year().to_s() + __makeTwoDigit(mon()) + __makeTwoDigit(mday())
74
74
  return strRes
75
+ elsif fmt == '%m/%d/%Y'
76
+ strRes = __makeTwoDigit(mon()) + "/" + __makeTwoDigit(mday()) + "/" + year().to_s()
77
+ return strRes
78
+ elsif fmt == '%I:%M%p'
79
+ strPM, nHour = __getPM()
80
+ strRes += __makeTwoDigit(nHour) + ':' + __makeTwoDigit(min()) + strPM;
81
+ return strRes
75
82
  elsif fmt == '%a'
76
83
  strRes = LocalizationSimplified::DateHelper::AbbrDaynames[wday()]
77
84
  return strRes
@@ -129,11 +136,20 @@ class Date
129
136
  end
130
137
 
131
138
  def - (x)
132
- ((@m_date-x._get_date()).to_i)/(60*60*24)
139
+ case x
140
+ when Numeric; return Date.new( @m_date - x*(60*60*24) )
141
+ when Date; return ((@m_date-x._get_date()).to_i)/(60*60*24)
142
+ end
143
+ raise TypeError, 'expected numeric or date'
144
+
133
145
  end
134
146
 
135
147
  def + (x)
136
- Date.new( @m_date + x*(60*60*24) )
148
+ case x
149
+ when Numeric; return Date.new( @m_date + x*(60*60*24) )
150
+ end
151
+ raise TypeError, 'expected numeric'
152
+
137
153
  end
138
154
 
139
155
  # Get the week day of this date. Sunday is day-of-week 0;
@@ -156,6 +172,7 @@ class Date
156
172
  def mon() @m_date.mon end
157
173
  def year() @m_date.year end
158
174
  def mday() @m_date.mday end
175
+ def day() @m_date.day end
159
176
  def offset()
160
177
  of = Rational(@m_date.gmt_offset() || 0, 86400)
161
178
  end
@@ -467,7 +467,7 @@ end
467
467
 
468
468
  ::Rho::RHO.init_sync_source_properties(uniq_sources)
469
469
 
470
- SyncEngine.update_blob_attribs(partition, Rho::RhoConfig::sources[modelName]['source_id'].to_i() )
470
+ #SyncEngine.update_blob_attribs(partition, Rho::RhoConfig::sources[modelName]['source_id'].to_i() )
471
471
  db.commit
472
472
  rescue Exception => e
473
473
  trace_msg = e.backtrace.join("\n")
@@ -541,7 +541,7 @@ end
541
541
  db.start_transaction
542
542
  begin
543
543
  init_db_sources(db, uniq_sources, partition,hash_migrate)
544
- SyncEngine.update_blob_attribs(partition, -1 )
544
+ #SyncEngine.update_blob_attribs(partition, -1 )
545
545
 
546
546
  db.commit
547
547
  rescue Exception => e
@@ -558,6 +558,10 @@ end
558
558
  ::Rho::RHO.init_schema_sources(hash_migrate)
559
559
  ::Rho::RHO.check_sources_migration(uniq_sources)
560
560
 
561
+ #@db_partitions.each do |partition, db|
562
+ # SyncEngine.update_blob_attribs(partition, -1 )
563
+ #end
564
+
561
565
  ::Rho::RHO.init_sync_source_properties(uniq_sources)
562
566
  end
563
567
 
@@ -651,6 +655,8 @@ end
651
655
  end
652
656
 
653
657
  end
658
+
659
+ SyncEngine.update_blob_attribs(partition, -1 )
654
660
  end
655
661
 
656
662
  def self.make_createsql_script(name,schema_attr)
@@ -761,6 +767,7 @@ end
761
767
  schema_version = source['schema_version']
762
768
  associations = source['str_associations']
763
769
  blob_attribs = process_blob_attribs(source, db)
770
+ #puts "blob_attribs : #{blob_attribs}"
764
771
 
765
772
  #attribs = db.select_from_table('sources','sync_priority,source_id,partition, sync_type, schema_version, associations, blob_attribs', {'name'=>name})
766
773
  attribs = find_src_byname(db_sources,name)
@@ -957,7 +964,7 @@ end
957
964
  def send_error(exception=nil,status=500,hash=false)
958
965
  if exception
959
966
  trace_msg = exception.backtrace.join("\n")
960
- puts "App error: #{exception}\n #{trace_msg}"
967
+ puts "App error: #{exception.message}\n #{trace_msg}"
961
968
  end
962
969
  body=''
963
970
 
@@ -1019,7 +1026,7 @@ end
1019
1026
  def method_missing(name, *args)
1020
1027
  unless name == Fixnum
1021
1028
  if name[name.length()-1] == '='
1022
- RhoConf.set_property_by_name(name.to_s.chop,args[0])
1029
+ RhoConf.set_property_by_name(name.to_s.chop,args[0] ? args[0].to_s : "")
1023
1030
  else
1024
1031
  RhoConf.get_property_by_name(name.to_s)
1025
1032
  end
@@ -1292,4 +1299,8 @@ module Kernel
1292
1299
  def require_source(name)
1293
1300
  Rho::RHO.get_instance().load_model(name.to_s)
1294
1301
  end
1302
+ def require_model(name)
1303
+ Rho::RHO.get_instance().load_model(name.to_s)
1304
+ end
1305
+
1295
1306
  end
@@ -138,6 +138,7 @@ module Rho
138
138
 
139
139
  def on_sync_user_changed
140
140
  Rhom::Rhom.database_full_reset(false, false)
141
+ ::Rho::RHO.get_user_db().execute_sql("UPDATE client_info SET client_id=?", "")
141
142
  end
142
143
 
143
144
  def on_reinstall_config_update(conflicts)
@@ -44,34 +44,17 @@ module Rho
44
44
  puts "Can't open phonebook"
45
45
  elsif args.first.nil? or args.length == 0
46
46
  puts "There are no arguments to find contacts"
47
- elsif args.first == :all or args.first == :first or args.first == :count
48
- #conditions = args[1][:conditions] if args[1] && args[1][:conditions] && args[1][:conditions].is_a?(Hash)
49
-
50
- limit = -1
51
- offset = 0
52
- select = []
53
-
54
- if args[1]
55
- #if args[1][:conditions]
56
- # condition_str = convertSqlConditionToStr(args[1][:conditions], args[1][:op])
57
-
58
- if args[1][:per_page] #and args[1][:offset]
59
- limit = args[1][:per_page].to_i
60
- offset = args[1][:offset] ? args[1][:offset].to_i : 0
61
- end
62
-
63
- select = args[1][:select] if args[1][:select]
47
+ elsif args.first == :all or args.first == :first
48
+ if System::get_property('platform') == "ANDROID" or System::get_property('platform') == "APPLE"
49
+ result = Phonebook::getRecords(pb, args[1])
50
+ else
51
+ result = Phonebook::allRecords(pb)
64
52
  end
65
- limit = 1 if args.first == :first
66
-
67
- if args.first == :all or args.first == :first
68
- if System::get_property('platform') == "ANDROID"
69
- result = Phonebook::getRecords(pb, offset, limit, select)
70
- else
71
- result = Phonebook::allRecords(pb)
72
- end
73
- elsif args.first == :count
74
- result = Phonebook::countRecords(pb, offset, limit)
53
+ elsif args.first == :count
54
+ if System::get_property('platform') == "ANDROID" or System::get_property('platform') == "APPLE"
55
+ result = Phonebook::countRecords(pb, args[1])
56
+ else
57
+ result = Phonebook::countRecords(pb);
75
58
  end
76
59
  else
77
60
  result = Phonebook::getRecord(pb, args.first)
@@ -33,18 +33,23 @@ module Rho
33
33
  if args.first == :all
34
34
  params = {}
35
35
  if args.length >= 2 and args[1].is_a? Hash
36
+ puts "Event find params: #{args[1].inspect}"
36
37
  args[1].each do |k,v|
37
38
  params[k.to_s] = v
39
+ puts "#{k.to_s} => #{v}"
38
40
  end
39
41
  end
40
42
 
41
43
  params['start_date'] = params['start_date'].to_time if !params['start_date'].nil? and !params['start_date'].is_a?(Time)
42
- params['end_date'] = params['end_date'].to_time if !params['end_date'].nil? and !params['start_date'].is_a?(Time)
44
+ params['end_date'] = params['end_date'].to_time if !params['end_date'].nil? and !params['end_date'].is_a?(Time)
43
45
 
44
46
  params['start_date'] = MIN_TIME if params['start_date'].nil? or params['start_date'] < MIN_TIME
45
47
  params['end_date'] = MAX_TIME if params['end_date'].nil? or params['end_date'] > MAX_TIME
46
48
 
47
- params['include_repeating'] = false if ( params['start_date'] == MIN_TIME || params['end_date'] == MAX_TIME )
49
+ if params['start_date'] == MIN_TIME or params['end_date'] == MAX_TIME
50
+ params['include_repeating'] = false
51
+ puts "Resetting 'include_repeating' param to false"
52
+ end
48
53
 
49
54
  puts "Rho::Calendar.fetch(params) : #{params}"
50
55
  events = Rho::Calendar.fetch(params)
@@ -65,6 +70,7 @@ module Rho
65
70
  def self.create!(event)
66
71
  event['id'] = nil #indicate that event should be created
67
72
  event['reminder'] = event['reminder'].to_i if event['reminder'] != nil
73
+ event['recurrence']['end'] = nil if event['recurrence'] and event['recurrence']['end'] == ""
68
74
  new_id = Rho::Calendar.save(event)
69
75
  event['id'] = new_id
70
76
  return event
@@ -226,5 +226,30 @@ module Rho
226
226
  raise TypeError, "Conflicting types for parameter containers. Expected an instance of #{klass} but found an instance of #{value.class}. This can be caused by colliding Array and Hash parameters like qs[]=value&qs[key]=value. (The parameters received were #{value.inspect}.)"
227
227
  end
228
228
  end
229
+
230
+ def self.rhobundle_getfilename()
231
+ File.join( __rhoGetCurrentDir(), '/RhoBundle/upgrade_bundle.zip')
232
+ end
233
+
234
+ def self.rhobundle_download(download_url, download_callback)
235
+
236
+ file_name = rhobundle_getfilename()
237
+ dir_name = File.dirname(file_name)
238
+ if Dir.exists?(dir_name) && System.delete_folder(dir_name) != 0
239
+ return false
240
+ end
241
+
242
+ Dir.mkdir(dir_name) unless Dir.exists?(dir_name)
243
+
244
+ Rho::AsyncHttp.download_file(
245
+ :url => download_url,
246
+ :filename => file_name,
247
+ :headers => {},
248
+ :callback => download_callback ) if download_url
249
+
250
+ return true
251
+ end
252
+
253
+
229
254
  end # RhoSupport
230
255
  end # Rho
@@ -1,6 +1,6 @@
1
1
  module Rhodes
2
2
  unless defined? Rhodes::VERSION
3
- VERSION = '3.2.1'
3
+ VERSION = '3.3.0'
4
4
  end
5
5
  unless defined? Rhodes::DBVERSION
6
6
  DBVERSION = '2.2.0'
@@ -89,6 +89,13 @@ module Kernel
89
89
  orig_require( file_name )
90
90
  end
91
91
 
92
+ alias :orig_load :load
93
+
94
+ def load(file_name)
95
+ file_name += '.rb' unless file_name.end_with?('.rb')
96
+ orig_load( file_name )
97
+ end
98
+
92
99
  def eval_compiled_file(fname, bind)
93
100
  code = IO.read(fname)
94
101
  code.force_encoding('utf-8')
@@ -120,6 +127,13 @@ class Thread
120
127
  end
121
128
  end
122
129
 
130
+ module SignatureTool
131
+ def SignatureTool.take_signature( callback, image_fmt)
132
+
133
+ Rho::SignatureCapture.take(callback, :imageFormat => image_fmt)
134
+ end
135
+ end
136
+
123
137
  begin
124
138
  if defined? RHO_WP7
125
139
  require 'rhosystem'
@@ -162,3 +176,4 @@ rescue Exception => e
162
176
  trace_msg = e.backtrace.join("\n")
163
177
  puts 'Create RHO framework failed: ' + e.inspect + ";Trace: #{trace_msg}"
164
178
  end
179
+
@@ -26,6 +26,8 @@ module LocalizationSimplified
26
26
  def self.set_cur_locale(loc, country)
27
27
  @@cur_locale = loc
28
28
  @@cur_country = country
29
+
30
+ puts "Current locale: #{@@cur_locale}; Country code: #{@@cur_country}"
29
31
  end
30
32
 
31
33
  def self.init_current_locale
@@ -36,9 +38,6 @@ module LocalizationSimplified
36
38
  @@cur_locale = 'en' unless @@cur_locale
37
39
  @@cur_country = System::get_property("country")
38
40
  @@cur_country = @@cur_country.downcase if @@cur_country
39
-
40
- puts "Current locale: #{@@cur_locale}; Country code: #{@@cur_country}"
41
-
42
41
  end
43
42
 
44
43
  def self.requre_loc(file,check_exist)
@@ -50,20 +49,19 @@ if defined?( RHODES_EMULATOR )
50
49
  else
51
50
  file = File.join( __rhoGetCurrentDir(), 'lib', file)
52
51
  end
53
- puts "file: #{file}"
54
52
  end
55
-
56
- puts "Current locale: #{@@cur_locale}; Country code: #{@@cur_country}"
53
+
54
+ puts "Locilized file: #{file}"
57
55
 
58
56
  if @@cur_country && @@cur_country.length() > 0 && Rho::file_exist?(file + @@cur_locale + '_' + @@cur_country + RHO_RB_EXT)
59
- require file + @@cur_locale + '_' + @@cur_country
57
+ load file + @@cur_locale + '_' + @@cur_country
60
58
  elsif Rho::file_exist?(file + @@cur_locale + RHO_RB_EXT)
61
- require file + @@cur_locale
59
+ load file + @@cur_locale
62
60
  else
63
61
  puts 'Could not find resources for locale: ' + @@cur_locale.to_s + ";file: #{file}" if @@cur_locale != 'en'
64
62
  if @@cur_locale != 'en' && Rho::file_exist?(file + 'en' + RHO_RB_EXT)
65
63
  puts 'Load english resources.'
66
- require file + 'en'
64
+ load file + 'en'
67
65
  end
68
66
  end
69
67
  end
@@ -75,7 +73,7 @@ end
75
73
  module System
76
74
  def self.set_locale(locale_code, country_code = nil)
77
75
  LocalizationSimplified::set_cur_locale(locale_code, country_code)
78
-
76
+
79
77
  LocalizationSimplified.requre_loc('rholang/lang_',false)
80
78
  LocalizationSimplified.requre_loc(Rho::RhoFSConnector::get_app_path('app') + 'lang/lang_',true)
81
79
  LocalizationSimplified.requre_loc('rholang/rhoerror_',false)
@@ -116,6 +116,12 @@ module Rhom
116
116
 
117
117
  Rho::RhoController.cached_metadata[src_name]
118
118
  end
119
+
120
+ def metadata=(metadata_doc)
121
+ src_name = get_source_name
122
+ db = ::Rho::RHO.get_src_db(src_name)
123
+ db.execute_sql("UPDATE sources set metadata=? where name=?", metadata_doc, src_name)
124
+ end
119
125
 
120
126
  def count
121
127
  db = ::Rho::RHO.get_src_db(get_source_name)
@@ -171,7 +177,7 @@ module Rhom
171
177
 
172
178
  def convertOpToStr(val_op, value)
173
179
  res = ""
174
- if val_op.upcase == 'IN'
180
+ if val_op.upcase == 'IN' || val_op.upcase == 'NOT IN'
175
181
 
176
182
  if value.is_a?(String)
177
183
  value = value.split(",")
@@ -400,7 +406,7 @@ module Rhom
400
406
  end
401
407
  end
402
408
 
403
- if val_op == 'IN' or val_op == 'in'
409
+ if val_op.upcase == 'IN' || val_op.upcase == 'NOT IN'
404
410
 
405
411
  if value.is_a?(String)
406
412
  value = value.split(",")