arcserver.rb 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/arcserver.rb.gemspec +2 -2
- data/lib/arcserver/soap/map_server.rb +6 -0
- data/test/functional/soap/map_server_test.rb +29 -17
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/arcserver.rb.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{arcserver.rb}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Colin Casey"]
|
12
|
-
s.date = %q{2009-10-
|
12
|
+
s.date = %q{2009-10-13}
|
13
13
|
s.email = %q{casey.colin@gmail.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
@@ -23,8 +23,14 @@ module ArcServer
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def get_legend_info(args = {})
|
26
|
+
image_return_type = args[:image_return_url] ? "esriImageReturnURL" : "esriImageReturnMimeData"
|
27
|
+
|
26
28
|
response = invoke("ns:GetLegendInfo") do |message|
|
27
29
|
message.add "MapName", args[:map_name] || get_default_map_name
|
30
|
+
message.add "ImageType" do |image_type|
|
31
|
+
image_type.add "ImageReturnType", image_return_type
|
32
|
+
image_type.add "ImageFormat", "esriImagePNG24"
|
33
|
+
end
|
28
34
|
end
|
29
35
|
node = response.document.xpath('//tns:GetLegendInfoResponse/Result', ns).first
|
30
36
|
parse_legend_info_result(node)
|
@@ -25,12 +25,24 @@ class ArcServer::SOAP::MapServerTest < Test::Unit::TestCase
|
|
25
25
|
assert_equal "Portland", @service.get_default_map_name
|
26
26
|
end
|
27
27
|
|
28
|
-
should "get the legend info" do
|
28
|
+
should "get the legend info (returning image data)" do
|
29
29
|
legend_info = @service.get_legend_info(:map_name => 'Portland')
|
30
30
|
legend_info.each do |item|
|
31
31
|
layer_assertion = "assert_legend_info_result_layer_#{item[:layer_id]}".to_sym
|
32
32
|
if respond_to?(layer_assertion)
|
33
|
-
send(layer_assertion, item)
|
33
|
+
send(layer_assertion, item, :image_data)
|
34
|
+
else
|
35
|
+
raise "no assertions set for legend info with layer_id=#{item[:layer_id]}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
should "get the legend info (returning image urls)" do
|
41
|
+
legend_info = @service.get_legend_info(:map_name => 'Portland', :image_return_url => true)
|
42
|
+
legend_info.each do |item|
|
43
|
+
layer_assertion = "assert_legend_info_result_layer_#{item[:layer_id]}".to_sym
|
44
|
+
if respond_to?(layer_assertion)
|
45
|
+
send(layer_assertion, item, :image_url)
|
34
46
|
else
|
35
47
|
raise "no assertions set for legend info with layer_id=#{item[:layer_id]}"
|
36
48
|
end
|
@@ -51,29 +63,30 @@ class ArcServer::SOAP::MapServerTest < Test::Unit::TestCase
|
|
51
63
|
end
|
52
64
|
|
53
65
|
# legend info assertion helpers
|
54
|
-
def assert_legend_info_result_layer_1(item)
|
66
|
+
def assert_legend_info_result_layer_1(item, image_return_type = :image_data)
|
55
67
|
expected = {
|
56
68
|
:layer_id => 1,
|
57
69
|
:name => 'Zoomed in',
|
58
70
|
:legend_groups => [{
|
59
71
|
:legend_classes => [{
|
60
72
|
:symbol_image => {
|
61
|
-
:
|
73
|
+
:image_return_type => image_return_type
|
62
74
|
}
|
63
75
|
}]
|
64
76
|
}]
|
65
77
|
}
|
78
|
+
|
66
79
|
assert_legend_info_result_layer(expected, item)
|
67
80
|
end
|
68
81
|
|
69
|
-
def assert_legend_info_result_layer_2(item)
|
82
|
+
def assert_legend_info_result_layer_2(item, image_return_type = :image_data)
|
70
83
|
expected = {
|
71
84
|
:layer_id => 2,
|
72
85
|
:name => 'Zoomed out',
|
73
86
|
:legend_groups => [{
|
74
87
|
:legend_classes => [{
|
75
88
|
:symbol_image => {
|
76
|
-
:
|
89
|
+
:image_return_type => image_return_type
|
77
90
|
}
|
78
91
|
}]
|
79
92
|
}]
|
@@ -81,14 +94,14 @@ class ArcServer::SOAP::MapServerTest < Test::Unit::TestCase
|
|
81
94
|
assert_legend_info_result_layer(expected, item)
|
82
95
|
end
|
83
96
|
|
84
|
-
def assert_legend_info_result_layer_3(item)
|
97
|
+
def assert_legend_info_result_layer_3(item, image_return_type = :image_data)
|
85
98
|
expected = {
|
86
99
|
:layer_id => 3,
|
87
100
|
:name => 'Buildings',
|
88
101
|
:legend_groups => [{
|
89
102
|
:legend_classes => [{
|
90
103
|
:symbol_image => {
|
91
|
-
:
|
104
|
+
:image_return_type => image_return_type
|
92
105
|
}
|
93
106
|
}]
|
94
107
|
}]
|
@@ -96,7 +109,7 @@ class ArcServer::SOAP::MapServerTest < Test::Unit::TestCase
|
|
96
109
|
assert_legend_info_result_layer(expected, item)
|
97
110
|
end
|
98
111
|
|
99
|
-
def assert_legend_info_result_layer_4(item)
|
112
|
+
def assert_legend_info_result_layer_4(item, image_return_type = :image_data)
|
100
113
|
expected = {
|
101
114
|
:layer_id => 4,
|
102
115
|
:name => 'Zoning',
|
@@ -104,32 +117,32 @@ class ArcServer::SOAP::MapServerTest < Test::Unit::TestCase
|
|
104
117
|
:legend_classes => [{
|
105
118
|
:label => 'Commercial',
|
106
119
|
:symbol_image => {
|
107
|
-
:
|
120
|
+
:image_return_type => image_return_type
|
108
121
|
}
|
109
122
|
}, {
|
110
123
|
:label => 'Industrial',
|
111
124
|
:symbol_image => {
|
112
|
-
:
|
125
|
+
:image_return_type => image_return_type
|
113
126
|
}
|
114
127
|
}, {
|
115
128
|
:label => 'Residential',
|
116
129
|
:symbol_image => {
|
117
|
-
:
|
130
|
+
:image_return_type => image_return_type
|
118
131
|
}
|
119
132
|
}, {
|
120
133
|
:label => 'Mixed use',
|
121
134
|
:symbol_image => {
|
122
|
-
:
|
135
|
+
:image_return_type => image_return_type
|
123
136
|
}
|
124
137
|
}, {
|
125
138
|
:label => 'Parks and open space',
|
126
139
|
:symbol_image => {
|
127
|
-
:
|
140
|
+
:image_return_type => image_return_type
|
128
141
|
}
|
129
142
|
}, {
|
130
143
|
:label => 'Rural',
|
131
144
|
:symbol_image => {
|
132
|
-
:
|
145
|
+
:image_return_type => image_return_type
|
133
146
|
}
|
134
147
|
}]
|
135
148
|
}]
|
@@ -164,8 +177,7 @@ class ArcServer::SOAP::MapServerTest < Test::Unit::TestCase
|
|
164
177
|
end
|
165
178
|
|
166
179
|
def assert_symbol_image(expected, actual)
|
167
|
-
assert_not_nil expected[:
|
168
|
-
assert_equal expected[:image_url], actual[:image_url]
|
180
|
+
assert_not_nil actual[expected[:image_return_type]]
|
169
181
|
assert_equal expected[:image_height] || 16, actual[:image_height]
|
170
182
|
assert_equal expected[:image_width] || 20, actual[:image_width]
|
171
183
|
assert_equal expected[:image_dpi] || 96, actual[:image_dpi]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arcserver.rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Colin Casey
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-13 00:00:00 -03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|