voruby 1.1.1 → 2.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 (257) hide show
  1. data/Rakefile.rb +107 -224
  2. data/lib/misc.rb +1 -0
  3. data/lib/misc/misc.rb +60 -0
  4. data/lib/misc/propertyfile.rb +31 -0
  5. data/lib/symphony.rb +1 -0
  6. data/lib/symphony/symphony.rb +247 -0
  7. data/lib/voruby.rb +186 -0
  8. data/lib/voruby/active_votable/active_votable.rb +468 -347
  9. data/lib/voruby/adql/1.0/adql.rb +2418 -0
  10. data/lib/voruby/adql/support.rb +2 -0
  11. data/lib/voruby/misc.rb +351 -0
  12. data/lib/voruby/misc/connection_monitor.rb +97 -0
  13. data/lib/voruby/misc/libxml_ext.rb +121 -0
  14. data/lib/voruby/misc/rexml_ext.rb +223 -0
  15. data/lib/voruby/resolver/resolver.rb +12 -0
  16. data/lib/voruby/resolver/sesame.rb +299 -0
  17. data/lib/voruby/sky_query/sky_query.rb +192 -0
  18. data/lib/voruby/stc/1.10/coords.rb +2272 -0
  19. data/lib/voruby/stc/1.10/region.rb +892 -0
  20. data/lib/voruby/stc/1.10/stc.rb +3271 -0
  21. data/lib/voruby/stc/1.30/stc.rb +8666 -0
  22. data/lib/voruby/stc/support.rb +2 -0
  23. data/lib/voruby/ucd/ucd.rb +173 -0
  24. data/lib/voruby/voevent/1.1/voevent.rb +1124 -0
  25. data/lib/voruby/voevent/support.rb +5 -0
  26. data/lib/voruby/votable/1.0/votable.rb +1807 -0
  27. data/lib/voruby/votable/1.1/votable.rb +2100 -0
  28. data/lib/voruby/votable/votable.rb +305 -0
  29. data/lib/voruby/wesix/wesix.rb +491 -0
  30. data/lib/voruby/xlink/1.2/xlink.rb +21 -0
  31. data/test/voruby/active_votable/complex.vot +60 -0
  32. data/test/voruby/active_votable/error.vot +6 -0
  33. data/test/voruby/active_votable/large.vot +130040 -0
  34. data/test/voruby/active_votable/simple1.vot +38 -0
  35. data/test/voruby/active_votable/simple2.vot +38 -0
  36. data/test/voruby/active_votable/test.rb +193 -0
  37. data/test/voruby/adql/1.0/adql-alias.sql +1 -0
  38. data/test/voruby/adql/1.0/adql-alias.xml +26 -0
  39. data/test/voruby/adql/1.0/adql-avg.sql +1 -0
  40. data/test/voruby/adql/1.0/adql-avg.xml +31 -0
  41. data/test/voruby/adql/1.0/adql-circle.sql +1 -0
  42. data/test/voruby/adql/1.0/adql-circle.xml +46 -0
  43. data/test/voruby/adql/1.0/adql-expr.sql +1 -0
  44. data/test/voruby/adql/1.0/adql-expr.xml +34 -0
  45. data/test/voruby/adql/1.0/adql-function.sql +1 -0
  46. data/test/voruby/adql/1.0/adql-function.xml +41 -0
  47. data/test/voruby/adql/1.0/adql-group.sql +1 -0
  48. data/test/voruby/adql/1.0/adql-group.xml +51 -0
  49. data/test/voruby/adql/1.0/adql-having.sql +1 -0
  50. data/test/voruby/adql/1.0/adql-having.xml +25 -0
  51. data/test/voruby/adql/1.0/adql-like.sql +1 -0
  52. data/test/voruby/adql/1.0/adql-like.xml +17 -0
  53. data/test/voruby/adql/1.0/adql-order.sql +1 -0
  54. data/test/voruby/adql/1.0/adql-order.xml +37 -0
  55. data/test/voruby/adql/1.0/adql-simple.sql +1 -0
  56. data/test/voruby/adql/1.0/adql-simple.xml +12 -0
  57. data/test/voruby/adql/1.0/adql-top.sql +1 -0
  58. data/test/voruby/adql/1.0/adql-top.xml +33 -0
  59. data/test/voruby/adql/1.0/test.rb +2220 -0
  60. data/test/voruby/misc/test.rb +32 -0
  61. data/test/voruby/resolver/sesame/test.rb +56 -0
  62. data/test/voruby/sky_query/test.rb +107 -0
  63. data/test/voruby/stc/1.10/coords_test.rb +3704 -0
  64. data/test/voruby/stc/1.10/region_test.rb +993 -0
  65. data/test/voruby/stc/1.10/stc-catalog-entry-location.xml +112 -0
  66. data/test/voruby/stc/1.10/stc-obs-data-location.xml +126 -0
  67. data/test/voruby/stc/1.10/stc-region-circle.xml +5 -0
  68. data/test/voruby/stc/1.10/stc-region-convex.xml +11 -0
  69. data/test/voruby/stc/1.10/stc-region-convexhull.xml +5 -0
  70. data/test/voruby/stc/1.10/stc-region-ellipse.xml +7 -0
  71. data/test/voruby/stc/1.10/stc-region-intersection.xml +25 -0
  72. data/test/voruby/stc/1.10/stc-region-negation.xml +7 -0
  73. data/test/voruby/stc/1.10/stc-region-polygon.xml +13 -0
  74. data/test/voruby/stc/1.10/stc-region-sector.xml +6 -0
  75. data/test/voruby/stc/1.10/stc-region-union.xml +25 -0
  76. data/test/voruby/stc/1.10/stc-resource-profile.xml +60 -0
  77. data/test/voruby/stc/1.10/stc-search-location.xml +54 -0
  78. data/test/voruby/stc/1.10/stc_test.rb +4626 -0
  79. data/test/voruby/stc/1.30/stc-catalog-entry-location.xml +210 -0
  80. data/test/voruby/stc/1.30/stc-obs-data-location-arecibo.xml +353 -0
  81. data/test/voruby/stc/1.30/stc-obs-data-location-fits.xml +250 -0
  82. data/test/voruby/stc/1.30/stc-obs-data-location-xlink.xml +63 -0
  83. data/test/voruby/stc/1.30/stc-obs-data-location.xml +216 -0
  84. data/test/voruby/stc/1.30/stc-resource-profile-unusual-ref-pos.xml +39 -0
  85. data/test/voruby/stc/1.30/stc-resource-profile.xml +129 -0
  86. data/test/voruby/stc/1.30/stc-search-location-arecibo.xml +86 -0
  87. data/test/voruby/stc/1.30/stc-search-location.xml +101 -0
  88. data/test/voruby/stc/1.30/test.rb +6274 -0
  89. data/test/voruby/ucd/test.rb +48 -0
  90. data/test/voruby/voevent/1.1/test.rb +812 -0
  91. data/test/{voevent/voevent_v1_1.xml → voruby/voevent/1.1/voevent.xml} +2 -2
  92. data/test/voruby/voregistry/0.3/test.rb +137 -0
  93. data/test/voruby/votable/1.0/test.rb +714 -0
  94. data/test/voruby/votable/1.0/votable.basic.xml +660 -0
  95. data/test/voruby/votable/1.0/votable.html +86 -0
  96. data/test/voruby/votable/1.0/votable.ns.xml +56 -0
  97. data/test/voruby/votable/1.1/test.rb +785 -0
  98. data/test/voruby/votable/1.1/votable.basic.xml +38 -0
  99. data/test/voruby/votable/1.1/votable.html +86 -0
  100. data/test/voruby/votable/1.1/votable.ns.xml +56 -0
  101. data/test/voruby/votable/test.rb +15 -0
  102. data/test/voruby/wesix/test.rb +268 -0
  103. data/test/voruby/wesix/testr.fits +28 -0
  104. metadata +234 -247
  105. data/REQUIREMENTS +0 -6
  106. data/lib/voruby/active_votable/loader.rb +0 -5
  107. data/lib/voruby/adql/adql.rb +0 -2787
  108. data/lib/voruby/adql/ext.rb +0 -14
  109. data/lib/voruby/adql/loader.rb +0 -6
  110. data/lib/voruby/adql/operations.rb +0 -54
  111. data/lib/voruby/adql/parser.rb +0 -160
  112. data/lib/voruby/adql/transforms.rb +0 -573
  113. data/lib/voruby/ext.rb +0 -17
  114. data/lib/voruby/loader.rb +0 -4
  115. data/lib/voruby/misc/propertyfile.rb +0 -36
  116. data/lib/voruby/plastic/applications.rb +0 -174
  117. data/lib/voruby/plastic/constants.rb +0 -30
  118. data/lib/voruby/plastic/loader.rb +0 -10
  119. data/lib/voruby/plastic/plastic.rb +0 -1
  120. data/lib/voruby/resources/conesearch/conesearch.rb +0 -9
  121. data/lib/voruby/resources/conesearch/conesearch_v0_2.rb +0 -55
  122. data/lib/voruby/resources/conesearch/conesearch_v0_3.rb +0 -50
  123. data/lib/voruby/resources/conesearch/conesearch_v1_0.rb +0 -72
  124. data/lib/voruby/resources/conesearch/loader.rb +0 -4
  125. data/lib/voruby/resources/loader.rb +0 -50
  126. data/lib/voruby/resources/nodes.rb +0 -190
  127. data/lib/voruby/resources/openskynode/loader.rb +0 -4
  128. data/lib/voruby/resources/openskynode/openskynode.rb +0 -9
  129. data/lib/voruby/resources/openskynode/openskynode_v0_1.rb +0 -54
  130. data/lib/voruby/resources/sia/loader.rb +0 -5
  131. data/lib/voruby/resources/sia/sia.rb +0 -9
  132. data/lib/voruby/resources/sia/sia_v0_6.rb +0 -90
  133. data/lib/voruby/resources/sia/sia_v0_7.rb +0 -89
  134. data/lib/voruby/resources/sia/sia_v1_0.rb +0 -122
  135. data/lib/voruby/resources/stsci.rb +0 -59
  136. data/lib/voruby/resources/vodataservice/coverage_v0_2.rb +0 -195
  137. data/lib/voruby/resources/vodataservice/coverage_v0_3.rb +0 -158
  138. data/lib/voruby/resources/vodataservice/loader.rb +0 -5
  139. data/lib/voruby/resources/vodataservice/vodataservice.rb +0 -9
  140. data/lib/voruby/resources/vodataservice/vodataservice_v0_4.rb +0 -189
  141. data/lib/voruby/resources/vodataservice/vodataservice_v0_5.rb +0 -163
  142. data/lib/voruby/resources/vodataservice/vodataservice_v1_0.rb +0 -221
  143. data/lib/voruby/resources/voregistry/loader.rb +0 -4
  144. data/lib/voruby/resources/voregistry/voregistry.rb +0 -9
  145. data/lib/voruby/resources/voregistry/voregistry_v0_2.rb +0 -40
  146. data/lib/voruby/resources/voregistry/voregistry_v0_3.rb +0 -30
  147. data/lib/voruby/resources/voregistry/voregistry_v1_0.rb +0 -86
  148. data/lib/voruby/resources/voresource/loader.rb +0 -17
  149. data/lib/voruby/resources/voresource/voresource.rb +0 -9
  150. data/lib/voruby/resources/voresource/voresource_v0_10.rb +0 -327
  151. data/lib/voruby/resources/voresource/voresource_v0_9.rb +0 -405
  152. data/lib/voruby/resources/voresource/voresource_v1_0.rb +0 -230
  153. data/lib/voruby/services/ext.rb +0 -11
  154. data/lib/voruby/services/gestalt/footprint.rb +0 -95
  155. data/lib/voruby/services/gestalt/wcs_fixer.rb +0 -105
  156. data/lib/voruby/services/gestalt/wesix.rb +0 -155
  157. data/lib/voruby/services/loader.rb +0 -7
  158. data/lib/voruby/services/registry/registry.rb +0 -53
  159. data/lib/voruby/services/resolver/resolver.rb +0 -35
  160. data/lib/voruby/services/schema/schema.rb +0 -644
  161. data/lib/voruby/sesame/loader.rb +0 -6
  162. data/lib/voruby/sesame/sesame_v1_0.rb +0 -64
  163. data/lib/voruby/simple/loader.rb +0 -6
  164. data/lib/voruby/simple/parameters.rb +0 -196
  165. data/lib/voruby/simple/sap.rb +0 -446
  166. data/lib/voruby/spacetime/loader.rb +0 -3
  167. data/lib/voruby/spacetime/spacetime.rb +0 -607
  168. data/lib/voruby/stc/coords_v1_20.rb +0 -900
  169. data/lib/voruby/stc/loader.rb +0 -55
  170. data/lib/voruby/stc/region_v1_20.rb +0 -274
  171. data/lib/voruby/stc/stc_v1_20.rb +0 -1196
  172. data/lib/voruby/util.rb +0 -27
  173. data/lib/voruby/voevent/loader.rb +0 -7
  174. data/lib/voruby/voevent/voevent_v1_0.rb +0 -213
  175. data/lib/voruby/voevent/voevent_v1_1.rb +0 -196
  176. data/lib/voruby/votables/chandra.rb +0 -373
  177. data/lib/voruby/votables/data.rb +0 -179
  178. data/lib/voruby/votables/galex.rb +0 -377
  179. data/lib/voruby/votables/int.rb +0 -354
  180. data/lib/voruby/votables/libxml_parser.rb +0 -411
  181. data/lib/voruby/votables/libxml_votable.rb +0 -67
  182. data/lib/voruby/votables/loader.rb +0 -10
  183. data/lib/voruby/votables/meta.rb +0 -763
  184. data/lib/voruby/votables/misc.rb +0 -51
  185. data/lib/voruby/votables/nsa.rb +0 -410
  186. data/lib/voruby/votables/rexml_parser.rb +0 -408
  187. data/lib/voruby/votables/rexml_votable.rb +0 -67
  188. data/lib/voruby/votables/sdss.rb +0 -356
  189. data/lib/voruby/votables/transforms.rb +0 -388
  190. data/lib/voruby/votables/tree.rb +0 -45
  191. data/lib/voruby/votables/types.rb +0 -391
  192. data/lib/voruby/votables/votable.rb +0 -687
  193. data/test/active_votable/database.yml +0 -6
  194. data/test/active_votable/test.vot +0 -168492
  195. data/test/active_votable/unittest.rb +0 -41
  196. data/test/adql/test1.adql +0 -49
  197. data/test/adql/test2.adql +0 -51
  198. data/test/adql/test3.adql +0 -81
  199. data/test/adql/test4.adql +0 -53
  200. data/test/adql/test5.adql +0 -55
  201. data/test/adql/test6.adql +0 -18
  202. data/test/adql/test7.adql +0 -48
  203. data/test/adql/unittest.rb +0 -1672
  204. data/test/plastic/test.rb +0 -44
  205. data/test/plastic/test.vot +0 -5385
  206. data/test/plastic/unittest.rb +0 -66
  207. data/test/resources/conesearch/conesearch_v0_3.xml +0 -31
  208. data/test/resources/conesearch/conesearch_v1_0.xml +0 -86
  209. data/test/resources/conesearch/unittest_v0_3.rb +0 -22
  210. data/test/resources/conesearch/unittest_v1_0.rb +0 -24
  211. data/test/resources/openskynode/open_sky_node_v0_1.xml +0 -32
  212. data/test/resources/openskynode/unittest_v0_1.rb +0 -31
  213. data/test/resources/sia/simple_image_access_v0_7.xml +0 -36
  214. data/test/resources/sia/simple_image_access_v1_0.xml +0 -122
  215. data/test/resources/sia/unittest_v0_7.rb +0 -24
  216. data/test/resources/sia/unittest_v1_0.rb +0 -29
  217. data/test/resources/stsci.xml +0 -336
  218. data/test/resources/unittest_stsci.rb +0 -25
  219. data/test/resources/vodataservice/catalog_service_resource_v1_0.xml +0 -128
  220. data/test/resources/vodataservice/data_collection_resource_v0_5.xml +0 -54
  221. data/test/resources/vodataservice/data_collection_resource_v1_0.xml +0 -117
  222. data/test/resources/vodataservice/data_service_resource_v1_0.xml +0 -115
  223. data/test/resources/vodataservice/sky_service_resource_v0_10.xml +0 -45
  224. data/test/resources/vodataservice/table_service_resource_v1_0.xml +0 -122
  225. data/test/resources/vodataservice/tabular_sky_service_resource_v0_10.xml +0 -60
  226. data/test/resources/vodataservice/unittest_v0_5.rb +0 -126
  227. data/test/resources/vodataservice/unittest_v1_0.rb +0 -151
  228. data/test/resources/voregistry/authority_resource_v0_3.xml +0 -20
  229. data/test/resources/voregistry/authority_resource_v1_0.xml +0 -82
  230. data/test/resources/voregistry/registry_service_v0_3.xml +0 -20
  231. data/test/resources/voregistry/registry_service_v1_0.xml +0 -107
  232. data/test/resources/voregistry/unittest_v0_3.rb +0 -31
  233. data/test/resources/voregistry/unittest_v1_0.rb +0 -34
  234. data/test/resources/voresource/organisation_resource_v1_0.xml +0 -90
  235. data/test/resources/voresource/resource_organisation_v0_10.xml +0 -22
  236. data/test/resources/voresource/resource_service_v0_10.xml +0 -19
  237. data/test/resources/voresource/resource_v0_10.xml +0 -19
  238. data/test/resources/voresource/resource_v1_0.xml +0 -79
  239. data/test/resources/voresource/service_resource_v1_0.xml +0 -91
  240. data/test/resources/voresource/unittest_v0_10.rb +0 -61
  241. data/test/resources/voresource/unittest_v0_9.rb +0 -4
  242. data/test/resources/voresource/unittest_v1_0.rb +0 -190
  243. data/test/services/gestalt/unittest.rb +0 -74
  244. data/test/services/registry/unittest.rb +0 -34
  245. data/test/services/resolver/unittest.rb +0 -38
  246. data/test/simple/unittest.rb +0 -46
  247. data/test/spacetime/unittest.rb +0 -39
  248. data/test/stc/catalog_entry_location_v1_20.xml +0 -112
  249. data/test/stc/obs_data_location_v1_20.xml +0 -108
  250. data/test/stc/search_location_v1_20.xml +0 -54
  251. data/test/stc/stc_resource_profile_v1_20.xml +0 -60
  252. data/test/stc/unittest_v1_20.rb +0 -620
  253. data/test/voevent/unittest_v1_0.rb +0 -79
  254. data/test/voevent/unittest_v1_1.rb +0 -70
  255. data/test/voevent/voevent_v1_0.xml +0 -96
  256. data/test/votables/test.vot +0 -366
  257. data/test/votables/unittest.rb +0 -54
@@ -1,288 +1,172 @@
1
+ begin
2
+ require 'rubygems'
3
+ rescue LoadError
4
+ nil
5
+ end
6
+
1
7
  require 'rake'
2
8
  require 'rake/testtask'
3
9
  require 'rake/rdoctask'
4
- require 'rake/packagetask'
5
10
  require 'rake/gempackagetask'
6
11
 
7
- require 'rubygems'
8
-
9
- PKG_VERSION = ENV['version'] || '1.1.1' # VORuby version
12
+ PKG_VERSION = ENV['version'] || '2.0.0' # VORuby version
10
13
 
11
- task :default => [:doc] # By default, create documentation: rake
14
+ task :default => [:doc]
12
15
 
13
- desc 'Run all straightforward tests'
14
- task :test => ['spacetime:test', 'adql:test', 'resource:test', 'voevent:test',
15
- 'votable:test', 'simple:test', 'gestalt:test',
16
- 'registry:test', 'resolver:test'] # rake test
17
-
18
- desc 'Create all available documentation'
19
- task :doc => [:apidoc] # rake doc
20
-
21
- desc 'Copy the contents of lib/voruby to a specified directory'
22
- task :deploy do |t| # rake dest=~/tmp deploy
23
- cp_r 'lib/voruby', ENV['dest'] if ENV['dest']
24
- end
16
+ desc 'Generate documentation'
17
+ task :doc => ['voruby:doc'] # rake doc
25
18
 
26
- Rake::PackageTask.new('voruby') do |pkg| # rake package or rake libonly=true package
27
- pkg.version = PKG_VERSION
28
- pkg.need_tar_gz = true
29
- pkg.package_files.include('lib/voruby/**/*.rb') if ENV['libonly']
30
- pkg.package_files.include(
31
- Dir.glob("**/*.*").delete_if { |item|
32
- item.include?(".svn")
33
- }.push('LICENSE').push('REQUIREMENTS')
34
- ) if !ENV['libonly']
19
+ Rake::TestTask.new(:test) do |t| # rake test
20
+ t.test_files = FileList['test/**/*test*.rb']
21
+ t.verbose = true
35
22
  end
36
23
 
37
- # rake apidoc (if you want diagrams and you have graphviz installed, use rake diagrams=true apidoc, but it will take awhile)
38
- Rake::RDocTask.new(:apidoc) do |rd|
39
- rd.rdoc_dir = "doc/api"
40
- rd.title = "VORuby API Documentation"
41
- rd.rdoc_files.include(FileList['lib/voruby/**/*.rb'])
42
- rd.options << '--diagram' if ENV['diagrams']
43
- end
44
-
45
- namespace 'spacetime' do
46
- Rake::TestTask.new(:test) do |t| # rake spacetime:test
47
- t.test_files = FileList['test/spacetime/unittest.rb']
48
- t.verbose = true
49
- t.warning = true
24
+ namespace 'voruby' do
25
+ Rake::RDocTask.new(:doc) do |rd| # rake voruby:doc
26
+ rd.rdoc_dir = "doc/voruby"
27
+ rd.title = "VORuby API Documentation"
28
+ rd.rdoc_files.include(FileList['lib/voruby.rb', 'lib/voruby'])
50
29
  end
51
- end
52
-
53
- namespace 'adql' do
54
- Rake::TestTask.new(:test) do |t| # rake adql:test
55
- t.test_files = FileList['test/adql/unittest.rb']
30
+
31
+ Rake::TestTask.new(:test) do |t| # rake voruby:test
32
+ t.test_files = FileList['test/voruby/**/*test*.rb']
56
33
  t.verbose = true
57
- t.warning = true
58
34
  end
59
- end
60
-
61
- namespace 'resource' do # rake resource:test
62
- task :test => ['voresource:test', 'vodataservice:test', 'voregistry:test', 'openskynode:test', 'sia:test', 'conesearch:test']
63
35
 
64
- namespace 'stsci' do
65
- Rake::TestTask.new(:test) do |t| # rake resource:stsci:test
66
- t.test_files = FileList['test/resources/unittest_stsci.rb']
67
- t.verbose = true
68
- end
69
- end
70
- end
71
-
72
- namespace 'voresource' do
73
- task :test => ['v0_10:test', 'v1_0:test']
36
+ # namespace 'misc' do
37
+ # Rake::TestTask.new(:test) do |t| # rake voruby:misc:test
38
+ # t.test_files = FileList['test/voruby/misc/**/*test*.rb']
39
+ # t.verbose = true
40
+ # end
41
+ # end
74
42
 
75
- namespace 'v1_0' do
76
- Rake::TestTask.new(:test) do |t| # rake voresource:v1_0:test
77
- t.test_files = FileList['test/resources/voresource/unittest_v1_0.rb']
43
+ namespace 'votable' do
44
+ Rake::TestTask.new(:test) do |t| # rake voruby:votable:test
45
+ t.test_files = FileList['test/voruby/votable/**/*test*.rb']
78
46
  t.verbose = true
79
47
  end
80
- end
81
-
82
- namespace 'v0_10' do
83
- Rake::TestTask.new(:test) do |t| # rake voresource:v0_10:test
84
- t.test_files = FileList['test/resources/voresource/unittest_v0_10.rb']
85
- t.verbose = true
48
+
49
+ namespace '1_1' do
50
+ Rake::TestTask.new(:test) do |t| # rake voruby:votable:1_1:test
51
+ t.test_files = FileList['test/voruby/votable/1.1/*test*.rb']
52
+ t.verbose = true
53
+ end
86
54
  end
87
- end
88
-
89
- # VOResource v0.9 seems to be essentially obsolete and therefore I haven't written
90
- # tests for it.
91
- end
92
-
93
- namespace 'vodataservice' do
94
- task :test => ['v0_5:test', 'v1_0:test']
95
-
96
- namespace 'v1_0' do
97
- Rake::TestTask.new(:test) do |t| # rake vodataservice:v1_0:test
98
- t.test_files = FileList['test/resources/vodataservice/unittest_v1_0.rb']
99
- t.verbose = true
55
+
56
+ namespace '1_0' do
57
+ Rake::TestTask.new(:test) do |t| # rake voruby:votable:1_0:test
58
+ t.test_files = FileList['test/voruby/votable/1.0/*test*.rb']
59
+ t.verbose = true
60
+ end
100
61
  end
101
62
  end
102
63
 
103
- namespace 'v0_5' do
104
- Rake::TestTask.new(:test) do |t| # rake vodataservice:vo_5:test
105
- t.test_files = FileList['test/resources/vodataservice/unittest_v0_5.rb']
64
+ namespace 'adql' do
65
+ Rake::TestTask.new(:test) do |t| # rake voruby:adql:test
66
+ t.test_files = FileList['test/voruby/adql/**/*test*.rb']
106
67
  t.verbose = true
107
68
  end
108
- end
109
-
110
- # VODataService 0.4 seems to be essentially obsolete and therefore I haven't written
111
- # tests for it.
112
- end
113
-
114
- namespace 'voregistry' do
115
- task :test => ['v0_3:test', 'v1_0:test']
116
-
117
- namespace 'v1_0' do
118
- Rake::TestTask.new(:test) do |t| # rake voregistry:v1_0:test
119
- t.test_files = FileList['test/resources/voregistry/unittest_v1_0.rb']
120
- t.verbose = true
69
+
70
+ namespace '1_0' do
71
+ Rake::TestTask.new(:test) do |t| # rake voruby:adql:1_0:test
72
+ t.test_files = FileList['test/voruby/adql/1.0/*test*.rb']
73
+ t.verbose = true
74
+ end
121
75
  end
122
76
  end
123
77
 
124
- namespace 'v0_3' do
125
- Rake::TestTask.new(:test) do |t| # rake voregistry:v0_3:test
126
- t.test_files = FileList['test/resources/voregistry/unittest_v0_3.rb']
78
+ namespace 'stc' do
79
+ Rake::TestTask.new(:test) do |t| # rake voruby:stc:test
80
+ t.test_files = FileList['test/voruby/stc/**/*test*.rb']
127
81
  t.verbose = true
128
82
  end
129
- end
130
-
131
- # VORegistry 0.2 seems to be essentially obsolete and therefore I haven't written
132
- # tests for it.
133
- end
134
-
135
- namespace 'openskynode' do
136
- task :test => ['v0_1:test']
137
-
138
- namespace 'v0_1' do
139
- Rake::TestTask.new(:test) do |t| # rake openskyquery:v0_1:test
140
- t.test_files = FileList['test/resources/openskynode/unittest_v0_1.rb']
141
- t.verbose = true
83
+
84
+ namespace '1_10' do
85
+ Rake::TestTask.new(:test) do |t| # rake voruby:stc:1_10:test
86
+ t.test_files = FileList['test/voruby/stc/1.10/*test*.rb']
87
+ t.verbose = true
88
+ end
142
89
  end
143
- end
144
- end
145
-
146
- namespace 'sia' do
147
- task :test => ['v0_7:test', 'v1_0:test']
148
-
149
- namespace 'v1_0' do
150
- Rake::TestTask.new(:test) do |t| # rake sia:v1_0:test
151
- t.test_files = FileList['test/resources/sia/unittest_v1_0.rb']
152
- t.verbose = true
90
+
91
+ namespace '1_30' do
92
+ Rake::TestTask.new(:test) do |t| # rake voruby:stc:1_30:test
93
+ t.test_files = FileList['test/voruby/stc/1.30/*test*.rb']
94
+ t.verbose = true
95
+ end
153
96
  end
154
97
  end
155
98
 
156
- namespace 'v0_7' do
157
- Rake::TestTask.new(:test) do |t| # rake sia:v0_7:test
158
- t.test_files = FileList['test/resources/sia/unittest_v0_7.rb']
99
+ namespace 'resolver' do
100
+ Rake::TestTask.new(:test) do |t| # rake voruby:resolver:test
101
+ t.test_files = FileList['test/voruby/resolver/**/*test*.rb']
159
102
  t.verbose = true
160
103
  end
161
- end
162
-
163
- # SIA 0.6 seems to be essentially obsolete and therefore I haven't written
164
- # tests for it.
165
- end
166
-
167
- namespace 'conesearch' do
168
- task :test => ['v0_3:test', 'v1_0:test']
169
-
170
- namespace 'v1_0' do
171
- Rake::TestTask.new(:test) do |t| # rake conesearch:v1_0:test
172
- t.test_files = FileList['test/resources/conesearch/unittest_v1_0.rb']
173
- t.verbose = true
174
- end
175
- end
176
-
177
- namespace 'v0_3' do
178
- Rake::TestTask.new(:test) do |t| # rake conesearch:v0_3:test
179
- t.test_files = FileList['test/resources/conesearch/unittest_v0_3.rb']
180
- t.verbose = true
104
+
105
+ namespace 'sesame' do
106
+ Rake::TestTask.new(:test) do |t| # rake voruby:resolver:sesame:test
107
+ t.test_files = FileList['test/voruby/resolver/sesame/*test*.rb']
108
+ t.verbose = true
109
+ end
181
110
  end
182
111
  end
183
112
 
184
- # ConeSearch 0.2 seems to be essentially obsolete and therefore I haven't written
185
- # tests for it.
186
- end
187
-
188
- namespace 'votable' do
189
- Rake::TestTask.new(:test) do |t| # rake votable:test
190
- t.test_files = FileList['test/votables/unittest.rb']
191
- t.verbose = true
192
- end
193
- end
194
-
195
- namespace 'active_votable' do
196
- Rake::TestTask.new(:test) do |t| # rake active_votable:test
197
- t.test_files = FileList['test/active_votable/unittest.rb']
198
- end
199
- end
200
-
201
- namespace 'voevent' do
202
- task :test => ['v1_0:test', 'v1_1:test']
203
-
204
- namespace 'v1_0' do
205
- Rake::TestTask.new(:test) do |t| # rake voevent:v1_0:test
206
- t.test_files = FileList['test/voevent/unittest_v1_0.rb']
113
+ namespace 'wesix' do
114
+ Rake::TestTask.new(:test) do |t| # rake voruby:wesix:test
115
+ t.test_files = FileList['test/voruby/wesix/*test*.rb']
207
116
  t.verbose = true
208
117
  end
209
118
  end
210
119
 
211
- namespace 'v1_1' do
212
- Rake::TestTask.new(:test) do |t| # rake voevent:v1_0:test
213
- t.test_files = FileList['test/voevent/unittest_v1_1.rb']
120
+ namespace 'sky_query' do
121
+ Rake::TestTask.new(:test) do |t| # rake voruby:sky_portal:test
122
+ t.test_files = FileList['test/voruby/sky_query/*test*.rb']
214
123
  t.verbose = true
215
124
  end
216
125
  end
217
- end
218
-
219
- namespace 'stc' do
220
- task :test => ['v1_20:test']
221
126
 
222
- namespace 'v1_20' do
223
- Rake::TestTask.new(:test) do |t| # rake stc:v1_20:test
224
- t.test_files = FileList['test/stc/unittest_v1_20.rb']
127
+ namespace 'active_votable' do
128
+ Rake::TestTask.new(:test) do |t| # rake voruby:active_votable:test
129
+ t.test_files = FileList['test/voruby/active_votable/*test*.rb']
225
130
  t.verbose = true
226
131
  end
227
132
  end
228
- end
229
-
230
- namespace 'simple' do
231
- Rake::TestTask.new(:test) do |t| # rake simple:test
232
- t.test_files = FileList['test/simple/unittest.rb']
233
- t.verbose = true
234
- end
235
- end
236
-
237
- namespace 'gestalt' do
238
- Rake::TestTask.new(:test) do |t| # rake gestalt:test
239
- t.test_files = FileList['test/services/gestalt/unittest.rb']
240
- t.verbose = true
241
- t.warning = true
242
- end
243
- end
244
-
245
- namespace 'registry' do
246
- task :test => ['stsci:test']
247
133
 
248
- namespace 'stsci' do
249
- Rake::TestTask.new(:test) do |t| # rake registry:stsci:test
250
- t.test_files = FileList['test/services/registry/unittest.rb']
134
+ namespace 'voevent' do
135
+ Rake::TestTask.new(:test) do |t| # rake voruby:voevent:test
136
+ t.test_files = FileList['test/voruby/voevent/**/*test*.rb']
251
137
  t.verbose = true
252
138
  end
139
+
140
+ namespace '1_1' do
141
+ Rake::TestTask.new(:test) do |t| # rake voruby:voevent:1_1:test
142
+ t.test_files = FileList['test/voruby/voevent/1.1/*test*.rb']
143
+ t.verbose = true
144
+ end
145
+ end
253
146
  end
254
- end
255
-
256
- namespace 'resolver' do
257
- task :test => 'sesame:test'
258
147
 
259
- namespace 'sesame' do
260
- Rake::TestTask.new(:test) do |t| # rake resolver:sesame:test
261
- t.test_files = FileList['test/services/resolver/unittest.rb']
148
+ namespace 'ucd' do
149
+ Rake::TestTask.new(:test) do |t| # rake voruby:ucd:test
150
+ t.test_files = FileList['test/voruby/ucd/*test*.rb']
262
151
  t.verbose = true
263
152
  end
264
153
  end
265
154
  end
266
155
 
267
- namespace 'plastic' do
268
- Rake::TestTask.new(:test) do |t| # rake plastic:test
269
- t.test_files = FileList['test/plastic/unittest.rb']
270
- t.verbose = true
271
- end
272
- end
273
-
274
156
  dist_dirs = ['lib', 'test']
275
157
  spec = Gem::Specification.new do |s|
276
- s.required_ruby_version = '>= 1.8.6' # because of changes in REXML
277
-
278
- s.files = FileList['Rakefile.rb', 'LICENSE', 'REQUIREMENTS']
158
+ s.files = FileList['Rakefile.rb', 'LICENSE']
279
159
  dist_dirs.each do |dir|
280
160
  s.files = s.files + Dir.glob( "#{dir}/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
281
161
  end
282
- s.add_dependency('libxml-ruby', '= 0.3.8.4')
283
- s.add_dependency('xml-mapping', '>= 0.8.1')
284
- s.add_dependency('activerecord', '>= 1.14')
285
- s.add_dependency('activesupport', '>= 1.3')
162
+
163
+ s.add_dependency('libxml-ruby', '>= 0.5.4')
164
+ s.add_dependency('activerecord', '>= 2.0.2')
165
+ s.add_dependency('activesupport', '>= 2.0.2')
166
+ s.add_dependency('builder', '>= 2.1.2')
167
+ s.add_dependency('net-ping', '>= 1.2.2')
168
+ s.add_dependency('ruby-units', '>= 1.1.0')
169
+ s.add_dependency('soap4r', '>= 1.5.8')
286
170
  s.requirements << 'libxml from http://xmlsoft.org/'
287
171
 
288
172
  s.has_rdoc = true
@@ -296,13 +180,12 @@ spec = Gem::Specification.new do |s|
296
180
  s.summary = 'Modules for interacting with the astronomical virtual observatory.'
297
181
  s.description = <<-EOF
298
182
  A set of Ruby modules to help provide access to the Virtual Observatory (VO).
299
- Includes support for VOTable, VORegistry, VOEvent, WESIX (an online source
183
+ Includes support for VOTable, ADQL, Sesame (online name resolution), WESIX (an online source
300
184
  extraction service) and more.
301
185
  EOF
302
186
  end
303
187
 
304
188
  Rake::GemPackageTask.new(spec) do |pkg| # rake gem
305
- pkg.gem_spec = spec
306
189
  pkg.need_zip = true
307
190
  pkg.need_tar = true
308
191
  end
@@ -0,0 +1 @@
1
+ require 'misc/misc'
@@ -0,0 +1,60 @@
1
+ begin
2
+ require 'rubygems'
3
+ rescue LoadError; end
4
+
5
+ class Array
6
+ def /(dimensions)
7
+ inject([]) do |ary, x|
8
+ ary << [] if [*ary.last].nitems % len == 0
9
+ ary.last << x
10
+ ary
11
+ end
12
+ end
13
+ end
14
+
15
+ class String
16
+ # Strip a string on a line-by-line basis.
17
+ def line_by_line_strip
18
+ lines = []
19
+ self.each_line do |l|
20
+ lines << l.strip
21
+ end
22
+ lines.join('')
23
+ end
24
+ end
25
+
26
+ class Enumeration
27
+ attr_reader :value, :choices
28
+
29
+ def initialize(choices, value)
30
+ @choices = choices
31
+ self.value = value
32
+ end
33
+
34
+ def value=(v)
35
+ raise ArgumentError, "Expected one of [#{self.choices.collect{ |c| c.to_s }.join(', ')}] but was #{v}" if !self.choices.include?(v)
36
+ @value = v
37
+ end
38
+
39
+ def ==(obj)
40
+ return false if !obj.is_a?(self.class)
41
+ self.value == obj.value
42
+ end
43
+ end
44
+
45
+ require 'ruby-units'
46
+
47
+ # Additional astronomy-related units for ruby-units
48
+ class Unit
49
+ UNIT_DEFINITIONS.merge!(
50
+ '<arcminute>' => [%w{arcminute arcminutes arcmin}, (Math::PI / (180.0 * 60.0)), :angle, %w{<radian>}],
51
+ '<arcsecond>' => [%w{arcsecond arcseconds arcsec}, (Math::PI / (180.0 * 3600.0)) , :angle, %w{<radian>}],
52
+ '<hours-of-ra>' => [%w{hra hours-ra hours-of-ra hour-of-ra hour-ra}, ((360 / 24) * (Math::PI/180.0)), :angle, %w{<radian>}],
53
+ '<minutes-of-ra>' => [%w{mra minutes-ra minutes-of-ra minute-of-ra minute-ra}, (((360 / 24) * Math::PI/(180.0)) / 60.0), :angle, %w{<radian>}],
54
+ '<seconds-of-ra>' => [%w{sra seconds-ra seconds-of-ra second-of-ra second-ra}, (((360 / 24) * Math::PI/(180.0)) / 3600.0), :angle, %w{<radian>}],
55
+ '<AU>' => [%w{AU au astronomical-unit astronomical-units}, 149598000000, :length, %w{<meter>}]
56
+ )
57
+
58
+ UNIT_DEFINITIONS['<light-year>'][0] << 'lyr'
59
+ end
60
+ Unit.setup