sos-core 0.1.3

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 (75) hide show
  1. checksums.yaml +7 -0
  2. data/lib/board_of_directors/boss.rb +66 -0
  3. data/lib/board_of_directors/factory/factory.rb +70 -0
  4. data/lib/board_of_directors/factory/hashMerge.rb +71 -0
  5. data/lib/employees/fes.rb +7 -0
  6. data/lib/employees/fes/comparisonOps/propertyIsBetween.rb +32 -0
  7. data/lib/employees/fes/comparisonOps/propertyIsEqualTo.rb +10 -0
  8. data/lib/employees/fes/comparisonOps/propertyIsGreaterThan.rb +10 -0
  9. data/lib/employees/fes/comparisonOps/propertyIsGreaterThanOrEqualTo.rb +10 -0
  10. data/lib/employees/fes/comparisonOps/propertyIsLessThan.rb +10 -0
  11. data/lib/employees/fes/comparisonOps/propertyIsLessThanOrEqualTo.rb +10 -0
  12. data/lib/employees/fes/comparisonOps/propertyIsLike.rb +10 -0
  13. data/lib/employees/fes/comparisonOps/propertyIsNil.rb +10 -0
  14. data/lib/employees/fes/comparisonOps/propertyIsNotEqualTo.rb +10 -0
  15. data/lib/employees/fes/comparisonOps/propertyIsNull.rb +10 -0
  16. data/lib/employees/fes/expression/function.rb +9 -0
  17. data/lib/employees/fes/expression/literal.rb +7 -0
  18. data/lib/employees/fes/expression/valueReference.rb +9 -0
  19. data/lib/employees/fes/extensionOps/extensionOps.rb +6 -0
  20. data/lib/employees/fes/logicOps/and.rb +9 -0
  21. data/lib/employees/fes/logicOps/not.rb +10 -0
  22. data/lib/employees/fes/logicOps/or.rb +9 -0
  23. data/lib/employees/fes/spatialOps/bbox.rb +10 -0
  24. data/lib/employees/fes/spatialOps/beyond.rb +10 -0
  25. data/lib/employees/fes/spatialOps/contains.rb +10 -0
  26. data/lib/employees/fes/spatialOps/crosses.rb +10 -0
  27. data/lib/employees/fes/spatialOps/dWithin.rb +10 -0
  28. data/lib/employees/fes/spatialOps/disjoint.rb +10 -0
  29. data/lib/employees/fes/spatialOps/equals.rb +9 -0
  30. data/lib/employees/fes/spatialOps/intersects.rb +10 -0
  31. data/lib/employees/fes/spatialOps/touches.rb +10 -0
  32. data/lib/employees/fes/spatialOps/withIn.rb +9 -0
  33. data/lib/employees/fes/temporalOps/after.rb +9 -0
  34. data/lib/employees/fes/temporalOps/anyInteracts.rb +10 -0
  35. data/lib/employees/fes/temporalOps/before.rb +9 -0
  36. data/lib/employees/fes/temporalOps/begins.rb +9 -0
  37. data/lib/employees/fes/temporalOps/begunBy.rb +9 -0
  38. data/lib/employees/fes/temporalOps/during.rb +9 -0
  39. data/lib/employees/fes/temporalOps/endedBy.rb +9 -0
  40. data/lib/employees/fes/temporalOps/ends.rb +9 -0
  41. data/lib/employees/fes/temporalOps/meets.rb +9 -0
  42. data/lib/employees/fes/temporalOps/metBy.rb +9 -0
  43. data/lib/employees/fes/temporalOps/overlappedBy.rb +10 -0
  44. data/lib/employees/fes/temporalOps/tContains.rb +9 -0
  45. data/lib/employees/fes/temporalOps/tOverlaps.rb +10 -0
  46. data/lib/employees/fes/temporalOps/tequals.rb +9 -0
  47. data/lib/employees/gml.rb +2 -0
  48. data/lib/employees/gml/begin.rb +5 -0
  49. data/lib/employees/gml/end.rb +5 -0
  50. data/lib/employees/gml/envelope.rb +9 -0
  51. data/lib/employees/gml/exterior.rb +5 -0
  52. data/lib/employees/gml/linearRing.rb +9 -0
  53. data/lib/employees/gml/lowerCorner.rb +5 -0
  54. data/lib/employees/gml/polygon.rb +9 -0
  55. data/lib/employees/gml/posList.rb +5 -0
  56. data/lib/employees/gml/timeInstant.rb +9 -0
  57. data/lib/employees/gml/timePeriod.rb +33 -0
  58. data/lib/employees/gml/timePosition.rb +6 -0
  59. data/lib/employees/gml/upperCorner.rb +5 -0
  60. data/lib/employees/man.rb +1 -0
  61. data/lib/employees/mankind/complicated.rb +55 -0
  62. data/lib/employees/mankind/people.rb +58 -0
  63. data/lib/employees/mankind/simple.rb +16 -0
  64. data/lib/employees/sos.rb +2 -0
  65. data/lib/employees/sos/offering.rb +22 -0
  66. data/lib/employees/sos/temporalFilter.rb +5 -0
  67. data/lib/sos-core.rb +35 -0
  68. data/lib/sos-helper.rb +21 -0
  69. data/lib/sos_helper/capability.rb +65 -0
  70. data/lib/sos_helper/getObservation.xml +11 -0
  71. data/lib/sos_helper/node.rb +30 -0
  72. data/lib/sos_helper/observation.rb +77 -0
  73. data/lib/sos_helper/offering.rb +49 -0
  74. data/lib/sos_helper/xmlRequest.rb +54 -0
  75. metadata +117 -0
@@ -0,0 +1,10 @@
1
+ class Beyond < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ class Contains < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ class Crosses < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ class DWithin < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ class Disjoint < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ class Equals < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ class Intersects < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ class Touches < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ class Within < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class After < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ class AnyInteracts < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ class Before < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class Begins < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class BegunBy < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class During < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class EndedBy < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class Ends < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class Meets < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class MetBy < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ class OverlappedBy < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ class TContains < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ class TOverlaps < Complicated
2
+
3
+ def tag_name
4
+ class_name
5
+ end
6
+
7
+ def namespace
8
+ "fes:"
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ class TEquals < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "fes:"
8
+ end
9
+ end
@@ -0,0 +1,2 @@
1
+ require_relative 'man.rb'
2
+ Dir[ File.dirname(__FILE__) + "/gml/*.rb"].each {|file| require file }
@@ -0,0 +1,5 @@
1
+ class Begin < Complicated
2
+ def namespace
3
+ "gml:"
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class End < Complicated
2
+ def namespace
3
+ "gml:"
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class Envelope < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "gml:"
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ class Exterior < Complicated
2
+ def namespace
3
+ "gml:"
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class LinearRing < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "gml:"
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ class LowerConer < Complicated
2
+ def namespace
3
+ "gml:"
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class Polygon < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "gml:"
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ class PosList < Complicated
2
+ def namespace
3
+ "gml:"
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class TimeInstant < Complicated
2
+ def tag_name
3
+ class_name
4
+ end
5
+
6
+ def namespace
7
+ "gml:"
8
+ end
9
+ end
@@ -0,0 +1,33 @@
1
+ class TimePeriod < Complicated
2
+
3
+ def do(tasks)
4
+ task = tasks[0]
5
+ if typeOf task, is: Hash
6
+ checkAttributesIn task
7
+ tag task[:range].to_a[0]
8
+ elsif typeOf task, is: String
9
+ tag task.to_a[0]
10
+ end
11
+ end
12
+
13
+ def custom(value)
14
+ begin_time, end_time = splitPosition(value)
15
+ position("begin", begin_time) + position("end", end_time)
16
+ end
17
+
18
+ def position(where, time)
19
+ "<gml:#{where}Position>#{time}</gml:#{where}Position>"
20
+ end
21
+
22
+ def splitPosition(value)
23
+ value.split " "
24
+ end
25
+
26
+ def tag_name
27
+ class_name
28
+ end
29
+
30
+ def namespace
31
+ "gml:"
32
+ end
33
+ end
@@ -0,0 +1,6 @@
1
+ class TimePosition < Simple
2
+
3
+ def namespace
4
+ "gml:"
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class UpperConer < Complicated
2
+ def namespace
3
+ "gml:"
4
+ end
5
+ end
@@ -0,0 +1 @@
1
+ Dir[ File.dirname(__FILE__) + "/mankind/*.rb"].each {|file| require file }
@@ -0,0 +1,55 @@
1
+ require_relative 'people.rb'
2
+ require 'set'
3
+
4
+ # => '{:filter=>
5
+ # {:During=>#<Set: {"1", "2",
6
+ # {:fuck=>#<Set: {"test"}>}}>},
7
+ # :offering=>#<Set: {"1", "2", "3", "4"}>}'
8
+ class Complicated < People
9
+ def do(tasks)
10
+ result = plan(tasks).map do |task|
11
+ if typeOf task, is: Hash
12
+ checkAttributesIn task
13
+ next assigns task
14
+ end
15
+ next self.do task if typeOf task, is: Array
16
+ next task if typeOf task, is: String
17
+ end
18
+ report result
19
+ end
20
+
21
+ def checkAttributesIn(task)
22
+ unless task[:attributes].nil?
23
+ attributes task[:attributes]
24
+ task.delete :attributes
25
+ end
26
+ end
27
+
28
+ def report(result)
29
+ result.map { |task| tag task }.join " "
30
+ end
31
+
32
+ def plan(task)
33
+ return task.to_a if typeOf task, is: Set
34
+ return task if typeOf task, is: Array
35
+ [task]
36
+ end
37
+
38
+ def assigns(task)
39
+ report = ""
40
+ task.each do |subordinate, subtask|
41
+ subordinate = eval( capitalize(subordinate.to_s) + ".new")
42
+ report += subordinate.do plan(subtask)
43
+ end
44
+ report
45
+ end
46
+
47
+ def tag(value=nil, attrs={})
48
+ "<#{namespace}#{tag_name}#{@attributes}> #{custom value}</#{namespace}#{tag_name}> "
49
+ end
50
+
51
+ def custom(value)
52
+ value.to_s
53
+ end
54
+
55
+ end