gb_mapfish_appserver 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.
- checksums.yaml +7 -0
- data/README.md +5 -2
- data/app/controllers/application_controller.rb +1 -1
- data/app/controllers/apps_controller.rb +3 -1
- data/app/controllers/geo_controller.rb +164 -4
- data/app/controllers/print_controller.rb +9 -3
- data/app/controllers/search_controller.rb +15 -3
- data/app/controllers/topics_controller.rb +7 -4
- data/app/controllers/wms_controller.rb +6 -5
- data/app/models/geo_model.rb +319 -31
- data/app/models/group.rb +1 -1
- data/app/models/layer.rb +9 -9
- data/app/models/locate_rule.rb +3 -3
- data/app/models/search_model.rb +3 -3
- data/app/models/topic.rb +2 -2
- data/app/models/user.rb +2 -2
- data/app/views/groups_users/show_group.html.erb +1 -1
- data/config/initializers/devise.rb +0 -2
- data/gb_mapfish_appserver.gemspec +7 -3
- data/lib/gb_mapfish_appserver/core_extensions.rb +22 -1
- data/lib/gb_mapfish_appserver/engine.rb +21 -0
- data/lib/gb_mapfish_appserver/version.rb +1 -1
- data/lib/generators/mapfish/install/templates/search_rules.rb +2 -0
- data/test/dummy/config/environments/development.rb +1 -0
- data/test/dummy/config/environments/production.rb +1 -0
- data/test/dummy/config/environments/test.rb +1 -0
- data/test/dummy/config/initializers/mapfish.rb +5 -0
- data/test/dummy/config/initializers/search_rules.rb +2 -0
- metadata +112 -72
data/app/models/group.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
class Group < ActiveRecord::Base
|
2
2
|
has_and_belongs_to_many :roles
|
3
3
|
has_many :groups_users
|
4
|
-
has_many :users, :through => :groups_users, :conditions =>
|
4
|
+
has_many :users, :through => :groups_users, :conditions => ["groups_users.granted = true"]
|
5
5
|
|
6
6
|
attr_protected []
|
7
7
|
|
data/app/models/layer.rb
CHANGED
@@ -113,9 +113,9 @@ EOS
|
|
113
113
|
#logger.info "************************* Attribute for name '#{name}': #{@attrs[name].inspect}"
|
114
114
|
end
|
115
115
|
|
116
|
-
def query_fields(ability)
|
116
|
+
def query_fields(ability, client_srid)
|
117
117
|
return '' if feature_class.nil?
|
118
|
-
([pkey]+ident_fields_for(ability)+[feature_class.extent_field, feature_class.area_field]).join(',')
|
118
|
+
([pkey]+ident_fields_for(ability)+[feature_class.extent_field(client_srid), feature_class.area_field(client_srid)]).join(',')
|
119
119
|
end
|
120
120
|
|
121
121
|
def ident_fields_for(ability)
|
@@ -128,7 +128,7 @@ EOS
|
|
128
128
|
allowed_fields
|
129
129
|
end
|
130
130
|
|
131
|
-
def query(ability, query_topic, searchgeo, nearest=nil, user=nil)
|
131
|
+
def query(ability, query_topic, searchgeo, nearest=nil, user=nil, client_srid=nil)
|
132
132
|
# use layer setting by default
|
133
133
|
nearest = search_nearest if nearest.nil?
|
134
134
|
|
@@ -151,16 +151,16 @@ EOS
|
|
151
151
|
logger.debug "******** query_topic: #{query_topic} ***************************************************"
|
152
152
|
features = if custom_query_method
|
153
153
|
logger.debug "*** Custom query on layer #{name}: #{query_topic.inspect}"
|
154
|
-
feature_class.send(custom_query_method, self, query_topic, searchgeo)
|
154
|
+
feature_class.send(custom_query_method, self, query_topic, searchgeo, client_srid)
|
155
155
|
elsif feature_class.respond_to?(:identify_query)
|
156
156
|
logger.debug "*** Custom identify_query on layer #{name}"
|
157
|
-
feature_class.identify_query(self, query_topic, searchgeo, ability, user)
|
157
|
+
feature_class.identify_query(self, query_topic, searchgeo, ability, user, client_srid)
|
158
158
|
else
|
159
|
-
logger.debug "*** Identify on layer #{name} with query fields #{query_fields(ability)} at #{searchgeo.inspect}"
|
160
|
-
feature_class.identify_filter(searchgeo, searchdistance, nearest).where(where_filter).select(query_fields(ability)).all
|
159
|
+
logger.debug "*** Identify on layer #{name} with query fields #{query_fields(ability, client_srid)} at #{searchgeo.inspect}"
|
160
|
+
feature_class.identify_filter(searchgeo, searchdistance, nearest, client_srid).where(where_filter).select(query_fields(ability, client_srid)).all
|
161
161
|
end
|
162
162
|
logger.debug "Number of features: #{features.size}"
|
163
|
-
# calculate bbox of all features
|
163
|
+
# calculate bbox of all features (in client_srid)
|
164
164
|
unless features.empty?
|
165
165
|
envelope = GeoRuby::SimpleFeatures::Geometry.from_hex_ewkb(features.first['extent']).envelope
|
166
166
|
features.each do |feature|
|
@@ -170,7 +170,7 @@ EOS
|
|
170
170
|
bbox = [envelope.lower_corner.x, envelope.lower_corner.y, envelope.upper_corner.x, envelope.upper_corner.y]
|
171
171
|
end
|
172
172
|
rescue Exception => e
|
173
|
-
features = "Table: <b>#{table}</b><br/>Exception: #{e}<br/>query fields: #{query_fields(ability)}<br/>db fields: #{feature_class.column_names.join(',')}<br/>missing: <font color='red'>#{(query_fields(ability).split(',') - feature_class.column_names).join(', ')}</font><br/><br/>"
|
173
|
+
features = "Table: <b>#{table}</b><br/>Exception: #{e}<br/>query fields: #{query_fields(ability, client_srid)}<br/>db fields: #{feature_class.column_names.join(',')}<br/>missing: <font color='red'>#{(query_fields(ability, client_srid).split(',') - feature_class.column_names).join(', ')}</font><br/><br/>"
|
174
174
|
logger.info "Identify error on layer #{name} #{features}"
|
175
175
|
end
|
176
176
|
[self, features, bbox]
|
data/app/models/locate_rule.rb
CHANGED
@@ -8,7 +8,7 @@ class LocateRule
|
|
8
8
|
end
|
9
9
|
|
10
10
|
# get selection and extent for located features
|
11
|
-
def locate(locations)
|
11
|
+
def locate(locations, client_srid=nil)
|
12
12
|
features = if layer.nil?
|
13
13
|
# user defined model
|
14
14
|
seltopic = model.selection_topic
|
@@ -16,7 +16,7 @@ class LocateRule
|
|
16
16
|
selproperty = model.primary_key
|
17
17
|
selscalerange = model.selection_scalerange
|
18
18
|
search_locs = model.search_locations(locations)
|
19
|
-
model.locate(search_locs)
|
19
|
+
model.locate(search_locs, client_srid)
|
20
20
|
else
|
21
21
|
# generic SearchModel
|
22
22
|
layer_obj = Layer.find_by_name(layer)
|
@@ -25,7 +25,7 @@ class LocateRule
|
|
25
25
|
selproperty = layer_obj.feature_class.primary_key
|
26
26
|
selscalerange = model.selection_scalerange
|
27
27
|
search_locs = locations.split(',')
|
28
|
-
model.layer_locate(layer_obj, search_field, search_locs)
|
28
|
+
model.layer_locate(layer_obj, search_field, search_locs, client_srid)
|
29
29
|
end
|
30
30
|
if features.present?
|
31
31
|
x, y, scale = model.map_center(features)
|
data/app/models/search_model.rb
CHANGED
@@ -10,7 +10,7 @@ class SearchModel < GeoModel
|
|
10
10
|
raise NotImplementedError.new
|
11
11
|
end
|
12
12
|
|
13
|
-
def self.locate(locations)
|
13
|
+
def self.locate(locations, client_srid=nil)
|
14
14
|
#return {:features => []}
|
15
15
|
raise NotImplementedError.new
|
16
16
|
end
|
@@ -28,9 +28,9 @@ class SearchModel < GeoModel
|
|
28
28
|
end
|
29
29
|
|
30
30
|
#Generic location search with one search field
|
31
|
-
def self.layer_locate(layer, search_field, locations)
|
31
|
+
def self.layer_locate(layer, search_field, locations, client_srid=nil)
|
32
32
|
feature_class = layer.feature_class
|
33
|
-
feature_class.where(search_field => locations).select(feature_class.primary_key).select(feature_class.extent_field).limit(LOCATE_MAX_COUNT).all
|
33
|
+
feature_class.where(search_field => locations).select(feature_class.primary_key).select(feature_class.extent_field(client_srid)).limit(LOCATE_MAX_COUNT).all
|
34
34
|
end
|
35
35
|
|
36
36
|
# "261,AU4998$261,AU4999" -> [["261","AU4998"],["261","AU4999"]]
|
data/app/models/topic.rb
CHANGED
@@ -179,12 +179,12 @@ class Topic < ActiveRecord::Base
|
|
179
179
|
perms.collect(&:role)
|
180
180
|
end
|
181
181
|
|
182
|
-
def query(ability, query_topic,
|
182
|
+
def query(ability, query_topic, search_geom, nearest=nil, user=nil, client_srid=nil)
|
183
183
|
active_layers = query_topic['layers'].split(',')
|
184
184
|
qlayers = query_layers(ability, active_layers)
|
185
185
|
results = []
|
186
186
|
qlayers.each do |layer|
|
187
|
-
result = layer.query(ability, query_topic,
|
187
|
+
result = layer.query(ability, query_topic, search_geom, nearest, user, client_srid)
|
188
188
|
results << result unless result.nil?
|
189
189
|
end
|
190
190
|
results
|
data/app/models/user.rb
CHANGED
@@ -14,13 +14,13 @@ class User < ActiveRecord::Base
|
|
14
14
|
has_and_belongs_to_many :roles
|
15
15
|
|
16
16
|
has_many :groups_users, :dependent => :destroy
|
17
|
-
has_many :groups, :through => :groups_users, :conditions =>
|
17
|
+
has_many :groups, :through => :groups_users, :conditions => ["groups_users.granted = true"]
|
18
18
|
|
19
19
|
accepts_nested_attributes_for :groups_users
|
20
20
|
|
21
21
|
serialize :app_infos, JSON
|
22
22
|
|
23
|
-
attr_accessible :login, :name, :email, :password, :password_confirmation, :remember_me, :requested_group, :groups_users_attributes, :app_infos
|
23
|
+
attr_accessible :login, :name, :email, :password, :password_confirmation, :remember_me, :requested_group, :group_ids, :groups_users_attributes, :app_infos
|
24
24
|
|
25
25
|
before_create :add_requested_group
|
26
26
|
|
@@ -102,8 +102,6 @@ Devise.setup do |config|
|
|
102
102
|
# config.confirmation_keys = [ :email ]
|
103
103
|
|
104
104
|
# ==> Configuration for :rememberable
|
105
|
-
|
106
|
-
config.use_salt_as_remember_token = true
|
107
105
|
|
108
106
|
# The time the user will be remembered without asking for credentials again.
|
109
107
|
# config.remember_for = 2.weeks
|
@@ -15,6 +15,8 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
16
16
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
17
17
|
|
18
|
+
s.required_ruby_version = '>= 2.3'
|
19
|
+
|
18
20
|
s.add_dependency "rails", "~> 3.2.13"
|
19
21
|
s.add_dependency "json"
|
20
22
|
s.add_dependency "acts_as_tree", "0.2.0"
|
@@ -25,15 +27,17 @@ Gem::Specification.new do |s|
|
|
25
27
|
s.add_dependency "rails_admin", "~> 0.4.9"
|
26
28
|
|
27
29
|
s.add_dependency "fastercsv" # required for rails_admin and Ruby <= 1.8
|
28
|
-
s.add_dependency "sass", "~> 3.2.12" # rails_admin 0.0.5 does not work with sass >=3.3
|
29
30
|
|
30
|
-
|
31
|
+
# bootstrap-sass 2.3.2.2 throws 'NoMethodError: undefined method `load_paths' for Sass:Module'
|
32
|
+
s.add_dependency "bootstrap-sass", "2.2.2.0"
|
33
|
+
|
34
|
+
s.add_dependency "georuby" #"~- 0.1.4" #used for reading envelope, e.g. in GeoModel#bbox
|
31
35
|
|
32
36
|
s.add_dependency "rgeo", "~> 0.3.20"
|
33
37
|
s.add_dependency "rgeo-geojson", "~> 0.2.3"
|
34
38
|
|
35
39
|
s.add_dependency "hpricot" # Cascaded WMS FeatureInfo parsing
|
36
40
|
|
37
|
-
s.add_dependency "pg", "
|
41
|
+
s.add_dependency "pg", ">= 0.18.0"
|
38
42
|
s.add_dependency "activerecord-postgis-adapter", "0.4.1"
|
39
43
|
end
|
@@ -21,9 +21,30 @@ module GbMapfishAppserver
|
|
21
21
|
module Array
|
22
22
|
|
23
23
|
def to_geojson(options = {})
|
24
|
+
# get CRS from first feature
|
25
|
+
if any? && first.respond_to?('geojson_srid')
|
26
|
+
crs = first.geojson_srid
|
27
|
+
# skip GeoJSON CRS in features
|
28
|
+
options.merge!({:skip_feature_crs => true})
|
29
|
+
end
|
30
|
+
|
24
31
|
geojson = '{"type": "FeatureCollection", "features": ['
|
25
32
|
geojson << collect {|e| e.to_geojson(options) }.join(',')
|
26
|
-
geojson << ']
|
33
|
+
geojson << ']'
|
34
|
+
|
35
|
+
unless crs.blank?
|
36
|
+
# add top level GeoJSON CRS
|
37
|
+
geojson << ', "crs": '
|
38
|
+
geojson << {
|
39
|
+
:type => 'name',
|
40
|
+
:properties => {
|
41
|
+
:name => crs
|
42
|
+
}
|
43
|
+
}.to_json
|
44
|
+
end
|
45
|
+
|
46
|
+
geojson << '}'
|
47
|
+
|
27
48
|
geojson
|
28
49
|
end
|
29
50
|
|
@@ -1,5 +1,26 @@
|
|
1
1
|
require 'cancan'
|
2
2
|
require 'devise'
|
3
|
+
|
4
|
+
# workaround for using safe_yaml < 1.0.4 with Psych instead of syck to avoid side-effects on YAML behaviour of other gems
|
5
|
+
# see also https://github.com/dtao/safe_yaml/commit/25e2e156371f8846e7e1918a9e216e89473c57f8
|
6
|
+
require 'yaml'
|
7
|
+
if !defined?(YAML::ENGINE) && defined?(Psych) && YAML == Psych
|
8
|
+
module YAML
|
9
|
+
# define temporary dummy YAML::ENGINE.yamler to init SafeYAML::YAML_ENGINE with 'psych'
|
10
|
+
# see also https://github.com/dtao/safe_yaml/blob/0.9.7/lib/safe_yaml.rb#L6
|
11
|
+
class DummyEngine
|
12
|
+
def self.yamler
|
13
|
+
"psych"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
ENGINE = DummyEngine
|
17
|
+
require 'safe_yaml'
|
18
|
+
|
19
|
+
# remove YAML::ENGINE
|
20
|
+
remove_const :ENGINE
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
3
24
|
require 'rails_admin'
|
4
25
|
|
5
26
|
module GbMapfishAppserver
|
@@ -42,6 +42,7 @@ MAPSERV_SERVER = 'http://localhost' #nil for current application server
|
|
42
42
|
MAPSERV_URL = '/cgi-bin/mapserv'
|
43
43
|
MAPSERV_CGI_URL = '/cgi-bin/mapserv'
|
44
44
|
MAPPATH = '/home/pi/code/rails/gb_mapfish_appserver/test/dummy/mapconfig'
|
45
|
+
MAPSERV_REDIRECT = true # Redirect public WMS to MAPSERV_SERVER URL
|
45
46
|
|
46
47
|
#Internal URL of print servlet (nil: print-standalone)
|
47
48
|
PRINT_URL = nil #'http://localhost:8080/mapfish_print/print/myapp'
|
@@ -72,6 +72,7 @@ MAPSERV_SERVER = 'http://localhost' #nil for current application server
|
|
72
72
|
MAPSERV_URL = '/cgi-bin/mapserv.fcgi'
|
73
73
|
MAPSERV_CGI_URL = '/cgi-bin/mapserv'
|
74
74
|
MAPPATH = '/home/pi/code/rails/dummy/mapconfig'
|
75
|
+
MAPSERV_REDIRECT = true # Redirect public WMS to MAPSERV_SERVER URL
|
75
76
|
|
76
77
|
#Internal URL of print servlet (nil: print-standalone)
|
77
78
|
PRINT_URL = nil #'http://localhost:8080/mapfish_print/print/myapp'
|
@@ -42,6 +42,7 @@ MAPSERV_SERVER = 'http://localhost' #nil for current application server
|
|
42
42
|
MAPSERV_URL = '/cgi-bin/mapserv.fcgi'
|
43
43
|
MAPSERV_CGI_URL = '/cgi-bin/mapserv'
|
44
44
|
MAPPATH = '/home/pi/code/rails/dummy/mapconfig'
|
45
|
+
MAPSERV_REDIRECT = true # Redirect public WMS to MAPSERV_SERVER URL
|
45
46
|
|
46
47
|
#Internal URL of print servlet (nil: print-standalone)
|
47
48
|
PRINT_URL = nil #'http://localhost:8080/mapfish_print/print/myapp'
|
@@ -30,6 +30,11 @@ DEFAULT_TOPIC = {
|
|
30
30
|
SITE_DEFAULT => (Topic.first rescue nil) #Topic.where(:name => 'MainMap').first
|
31
31
|
}
|
32
32
|
|
33
|
+
# set default spatial reference system of database for geo factory
|
34
|
+
GeoModel.set_default_rgeo_factory(RGeo::Cartesian.factory(:srid => 21781, :proj4 => '+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.4,15.1,405.3,0,0,0,0 +units=m +no_defs'))
|
35
|
+
# set default spatial reference system for client requests
|
36
|
+
GeoModel.set_default_client_srid(21781)
|
37
|
+
|
33
38
|
DEFAULT_SCALE = 310000
|
34
39
|
DEFAULT_X = 692000
|
35
40
|
DEFAULT_Y = 252000
|
metadata
CHANGED
@@ -1,170 +1,211 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gb_mapfish_appserver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Pirmin Kalberer
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2017-09-06 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 3.2.13
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 3.2.13
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: json
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: acts_as_tree
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- - =
|
45
|
+
- - '='
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: 0.2.0
|
44
48
|
type: :runtime
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.2.0
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: devise
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- - ~>
|
59
|
+
- - "~>"
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: 2.2.0
|
55
62
|
type: :runtime
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.2.0
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: cancan
|
60
|
-
requirement:
|
61
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
|
-
- - =
|
73
|
+
- - '='
|
64
74
|
- !ruby/object:Gem::Version
|
65
75
|
version: 1.6.8
|
66
76
|
type: :runtime
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.6.8
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rails_admin
|
71
|
-
requirement:
|
72
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
|
-
- - ~>
|
87
|
+
- - "~>"
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: 0.4.9
|
77
90
|
type: :runtime
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.4.9
|
80
97
|
- !ruby/object:Gem::Dependency
|
81
98
|
name: fastercsv
|
82
|
-
requirement:
|
83
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
84
100
|
requirements:
|
85
|
-
- -
|
101
|
+
- - ">="
|
86
102
|
- !ruby/object:Gem::Version
|
87
103
|
version: '0'
|
88
104
|
type: :runtime
|
89
105
|
prerelease: false
|
90
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
91
111
|
- !ruby/object:Gem::Dependency
|
92
|
-
name: sass
|
93
|
-
requirement:
|
94
|
-
none: false
|
112
|
+
name: bootstrap-sass
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
95
114
|
requirements:
|
96
|
-
- -
|
115
|
+
- - '='
|
97
116
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
117
|
+
version: 2.2.2.0
|
99
118
|
type: :runtime
|
100
119
|
prerelease: false
|
101
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 2.2.2.0
|
102
125
|
- !ruby/object:Gem::Dependency
|
103
|
-
name:
|
104
|
-
requirement:
|
105
|
-
none: false
|
126
|
+
name: georuby
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
106
128
|
requirements:
|
107
|
-
- -
|
129
|
+
- - ">="
|
108
130
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0
|
131
|
+
version: '0'
|
110
132
|
type: :runtime
|
111
133
|
prerelease: false
|
112
|
-
version_requirements:
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
113
139
|
- !ruby/object:Gem::Dependency
|
114
140
|
name: rgeo
|
115
|
-
requirement:
|
116
|
-
none: false
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
117
142
|
requirements:
|
118
|
-
- - ~>
|
143
|
+
- - "~>"
|
119
144
|
- !ruby/object:Gem::Version
|
120
145
|
version: 0.3.20
|
121
146
|
type: :runtime
|
122
147
|
prerelease: false
|
123
|
-
version_requirements:
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 0.3.20
|
124
153
|
- !ruby/object:Gem::Dependency
|
125
154
|
name: rgeo-geojson
|
126
|
-
requirement:
|
127
|
-
none: false
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
128
156
|
requirements:
|
129
|
-
- - ~>
|
157
|
+
- - "~>"
|
130
158
|
- !ruby/object:Gem::Version
|
131
159
|
version: 0.2.3
|
132
160
|
type: :runtime
|
133
161
|
prerelease: false
|
134
|
-
version_requirements:
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.2.3
|
135
167
|
- !ruby/object:Gem::Dependency
|
136
168
|
name: hpricot
|
137
|
-
requirement:
|
138
|
-
none: false
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
139
170
|
requirements:
|
140
|
-
- -
|
171
|
+
- - ">="
|
141
172
|
- !ruby/object:Gem::Version
|
142
173
|
version: '0'
|
143
174
|
type: :runtime
|
144
175
|
prerelease: false
|
145
|
-
version_requirements:
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
146
181
|
- !ruby/object:Gem::Dependency
|
147
182
|
name: pg
|
148
|
-
requirement:
|
149
|
-
none: false
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
150
184
|
requirements:
|
151
|
-
- -
|
185
|
+
- - ">="
|
152
186
|
- !ruby/object:Gem::Version
|
153
|
-
version: 0.
|
187
|
+
version: 0.18.0
|
154
188
|
type: :runtime
|
155
189
|
prerelease: false
|
156
|
-
version_requirements:
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 0.18.0
|
157
195
|
- !ruby/object:Gem::Dependency
|
158
196
|
name: activerecord-postgis-adapter
|
159
|
-
requirement:
|
160
|
-
none: false
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
161
198
|
requirements:
|
162
|
-
- - =
|
199
|
+
- - '='
|
163
200
|
- !ruby/object:Gem::Version
|
164
201
|
version: 0.4.1
|
165
202
|
type: :runtime
|
166
203
|
prerelease: false
|
167
|
-
version_requirements:
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - '='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 0.4.1
|
168
209
|
description: Mapfish Appserver is a framework for web mapping applications using OGC
|
169
210
|
standards and the Mapfish protocol.
|
170
211
|
email:
|
@@ -173,7 +214,7 @@ executables: []
|
|
173
214
|
extensions: []
|
174
215
|
extra_rdoc_files: []
|
175
216
|
files:
|
176
|
-
- .gitignore
|
217
|
+
- ".gitignore"
|
177
218
|
- Gemfile
|
178
219
|
- LICENSE
|
179
220
|
- README.md
|
@@ -429,27 +470,26 @@ files:
|
|
429
470
|
- test/test_helper.rb
|
430
471
|
homepage: http://mapfish-appserver.github.io/
|
431
472
|
licenses: []
|
473
|
+
metadata: {}
|
432
474
|
post_install_message:
|
433
475
|
rdoc_options: []
|
434
476
|
require_paths:
|
435
477
|
- lib
|
436
478
|
required_ruby_version: !ruby/object:Gem::Requirement
|
437
|
-
none: false
|
438
479
|
requirements:
|
439
|
-
- -
|
480
|
+
- - ">="
|
440
481
|
- !ruby/object:Gem::Version
|
441
|
-
version: '
|
482
|
+
version: '2.3'
|
442
483
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
443
|
-
none: false
|
444
484
|
requirements:
|
445
|
-
- -
|
485
|
+
- - ">="
|
446
486
|
- !ruby/object:Gem::Version
|
447
487
|
version: '0'
|
448
488
|
requirements: []
|
449
489
|
rubyforge_project:
|
450
|
-
rubygems_version:
|
490
|
+
rubygems_version: 2.5.1
|
451
491
|
signing_key:
|
452
|
-
specification_version:
|
492
|
+
specification_version: 4
|
453
493
|
summary: Mapfish application server.
|
454
494
|
test_files:
|
455
495
|
- test/dummy/README.rdoc
|