rgeoserver 0.5.7 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ script: bundle exec rspec spec/functional/*_spec.rb
data/README.rdoc CHANGED
@@ -1,4 +1,5 @@
1
1
  {<img src="https://gemnasium.com/rnz0/rgeoserver.png" alt="Dependency Status" />}[https://gemnasium.com/rnz0/rgeoserver]
2
+ {<img src="https://secure.travis-ci.org/rnz0/rgeoserver.png" />}[http://travis-ci.org/rnz0/rgeoserver]
2
3
 
3
4
  == RGeoServer
4
5
 
@@ -136,16 +137,14 @@ or set an environment variable, for example:
136
137
  - Complete updating data in objects. On failure, objects should roll back.
137
138
  - Complete documentation.
138
139
  - Complete test coverage:
139
- - Add functional tests and hook to CI service (most likely travis-ci).
140
140
  - Break down testing into separate specs per class.
141
141
  - Add more flexibility for integration tests with embedded Jetty and other containers.
142
142
  - Add ability to perform integration tests in a CI server.
143
- - Add GeoWebCache REST API operations for seeding and truncating layers.
144
143
  - Provide more examples:
145
144
  - Customize configuration.
146
145
  - Connect under SSL.
147
146
  - Batch processing.
148
- - Migrate base HTTP client to {Weary}[https://github.com/mwunsch/weary]?
147
+ - Migrate base HTTP client to {Faraday}[https://github.com/technoweenie/faraday]?
149
148
  - Curlify operations: To provide optional log/output of the curl command that would produce the same
150
149
  result as the ResourceInfo#save method.
151
150
 
@@ -160,13 +159,13 @@ result as the ResourceInfo#save method.
160
159
 
161
160
 
162
161
  == Acknowledgements
163
- Inspired on the {Rubydora}[https://github.com/cbeer/rubydora] and RSolr gems. Followed somewhat closely to {gsconfig.py}[https://github.com/dwins/gsconfig.py]
162
+ Inspired on the {Rubydora}[https://github.com/cbeer/rubydora] gem. Followed somewhat closely to {gsconfig.py}[https://github.com/dwins/gsconfig.py]
164
163
 
165
164
  == Contributors
166
165
 
167
166
 
168
167
  == License
169
168
 
170
- Copyright (c) 2011 Renzo Sanchez-Silva <renzo@stanford.edu>.
169
+ Copyright (c) 2012 Renzo Sanchez-Silva <renzo@stanford.edu>.
171
170
 
172
171
  Licensed under the {MIT License}[http://www.opensource.org/licenses/MIT].
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.7
1
+ 0.5.8
@@ -73,7 +73,7 @@ module RGeoServer
73
73
  end
74
74
 
75
75
  def coverages &block
76
- self.class.list Coverage, @catalog, profile['coverages'], {:workspace => @workspace}, check_remote = true, &block
76
+ self.class.list Coverage, @catalog, profile['coverages'], {:workspace => @workspace, :coverage_store => self}, check_remote = true, &block
77
77
  end
78
78
 
79
79
  def profile_xml_to_hash profile_xml
@@ -48,7 +48,7 @@ module RGeoServer
48
48
  xml.entry(:key => k) {
49
49
  xml.text v
50
50
  }
51
- } unless @connection_parameters.empty?
51
+ } unless @connection_parameters.nil? || @connection_parameters.empty?
52
52
  }
53
53
  }
54
54
  end
@@ -70,14 +70,14 @@ module RGeoServer
70
70
  else
71
71
  raise "Not a valid workspace"
72
72
  end
73
+
73
74
  @name = options[:name].strip
74
- @connection_parameters = options[:connection_parameters] || {}
75
75
  @route = route
76
76
  end
77
77
  end
78
78
 
79
79
  def featuretypes &block
80
- self.class.list FeatureType, @catalog, profile['featureTypes'], {:workspace => @workspace}, check_remote = true, &block
80
+ self.class.list FeatureType, @catalog, profile['featureTypes'], {:workspace => @workspace, :data_store => self}, check_remote = true, &block
81
81
  end
82
82
 
83
83
  def profile_xml_to_hash profile_xml
@@ -94,7 +94,6 @@ module RGeoServer
94
94
  rescue RestClient::ResourceNotFound
95
95
  []
96
96
  end.freeze
97
-
98
97
  }
99
98
  h
100
99
  end
@@ -2,8 +2,8 @@
2
2
  module RGeoServer
3
3
  # A feature type is a vector based spatial resource or data set that originates from a data store. In some cases, like Shapefile, a feature type has a one-to-one relationship with its data store. In other cases, like PostGIS, the relationship of feature type to data store is many-to-one, with each feature type corresponding to a table in the database.
4
4
  class FeatureType < ResourceInfo
5
- OBJ_ATTRIBUTES = {:catalog => "catalog", :name => "name", :workspace => "workspace", :enabled => "enabled", :metadata_links => "metadataLinks", :title => "title", :abstract => "abstract" }
6
- OBJ_DEFAULT_ATTRIBUTES = {:catalog => nil, :workspace => nil, :coverage_store => nil, :name => nil, :enabled => "false", :metadata_links => [], :title => nil, :abtract => nil }
5
+ OBJ_ATTRIBUTES = {:catalog => "catalog", :name => "name", :workspace => "workspace", :data_store => "data_store", :enabled => "enabled", :metadata_links => "metadataLinks", :title => "title", :abstract => "abstract" }
6
+ OBJ_DEFAULT_ATTRIBUTES = {:catalog => nil, :workspace => nil, :data_store => nil, :name => nil, :enabled => "false", :metadata_links => [], :title => nil, :abtract => nil }
7
7
 
8
8
  define_attribute_methods OBJ_ATTRIBUTES.keys
9
9
  update_attribute_accessors OBJ_ATTRIBUTES
@@ -95,6 +95,7 @@ module RGeoServer
95
95
  "title" => doc.at_xpath('//title/text()').to_s,
96
96
  "abstract" => doc.at_xpath('//abstract/text()').to_s,
97
97
  "workspace" => @workspace.name,
98
+ "data_store" => @data_store.name,
98
99
  "nativeName" => doc.at_xpath('//nativeName/text()').to_s,
99
100
  "srs" => doc.at_xpath('//srs/text()').to_s,
100
101
  "nativeBoundingBox" => {
@@ -38,14 +38,17 @@ module RGeoServer
38
38
  # @param [bool] check_remote if already exists in catalog and cache it
39
39
  # @yield [RGeoServer::ResourceInfo]
40
40
  def self.list klass, catalog, names, options, check_remote = false, &block
41
- return to_enum(:list, klass, catalog, names, options).to_a unless block_given?
42
-
43
- (names.is_a?(Array)? names : [names]).each { |name|
44
- obj = klass.new catalog, options.merge(:name => name)
45
- obj.new? if check_remote
46
- block.call(obj)
47
- }
48
-
41
+ if names.nil?
42
+ return []
43
+ elsif !block_given?
44
+ to_enum(:list, klass, catalog, names, options).to_a unless block_given?
45
+ else
46
+ (names.is_a?(Array)? names : [names]).each { |name|
47
+ obj = klass.new catalog, options.merge(:name => name)
48
+ obj.new? if check_remote
49
+ block.call(obj)
50
+ }
51
+ end
49
52
  end
50
53
 
51
54
  def initialize options
@@ -0,0 +1,22 @@
1
+ <dataStore>
2
+ <name>sites_shape</name>
3
+ <type>Shapefile</type>
4
+ <enabled>true</enabled>
5
+ <workspace>
6
+ <name>test_ws</name>
7
+ <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="https://geodata.example.com/geoserver/rest/workspaces/test_ws.xml" type="application/xml"/>
8
+ </workspace>
9
+ <connectionParameters>
10
+ <entry key="memory mapped buffer">false</entry>
11
+ <entry key="create spatial index">true</entry>
12
+ <entry key="charset">ISO-8859-1</entry>
13
+ <entry key="filetype">shapefile</entry>
14
+ <entry key="cache and reuse memory maps">true</entry>
15
+ <entry key="url">file:data/shapefiles/o_sites.shp</entry>
16
+ <entry key="namespace">http://www.openplans.org/spearfish</entry>
17
+ </connectionParameters>
18
+ <__default>false</__default>
19
+ <featureTypes>
20
+ <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="https://geodata.example.com/geoserver/rest/workspaces/test_ws/datastores/sites_shape/featuretypes.xml" type="application/xml"/>
21
+ </featureTypes>
22
+ </dataStore>
@@ -0,0 +1,6 @@
1
+ <featureTypes>
2
+ <featureType>
3
+ <name>o_sitesnew</name>
4
+ <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="https://geodata.example.com/geoserver/rest/workspaces/test_ws/datastores/sites_shape/featuretypes/o_sitesnew.xml" type="application/xml"/>
5
+ </featureType>
6
+ </featureTypes>
@@ -0,0 +1,96 @@
1
+ require 'spec_helper'
2
+
3
+ describe RGeoServer::DataStore do
4
+ let(:old_test_ds_xml){
5
+ File.read(File.expand_path('../fixtures/resources/datastore/old.xml', File.dirname(__FILE__)))
6
+ }
7
+ let(:old_test_ds_featuretypes_xml){
8
+ File.read(File.expand_path('../fixtures/resources/datastore/old_featuretypes.xml', File.dirname(__FILE__)))
9
+ }
10
+ let(:catalog) {
11
+ c = double('Catalog')
12
+ # Stub profile responses
13
+ # For a new datastore
14
+ c.stub(:search).with({"workspaces/test_ws/datastores"=>"new_test_ds"}).and_raise(RestClient::ResourceNotFound)
15
+ # For a supposed existing datastore
16
+ c.stub(:search).with({"workspaces/test_ws/datastores"=>"old_test_ds"}).and_return(old_test_ds_xml)
17
+ # Fake featuretypes response for a new datastore
18
+ c.stub(:do_url).with("https://geodata.example.com/geoserver/rest/workspaces/test_ws/datastores/sites_shape/featuretypes.xml").and_raise(
19
+ RestClient::ResourceNotFound
20
+ )
21
+ # Fake featuretypes response for an existing (old) datastore
22
+ c.stub(:do_url).with("https://geodata.example.com/geoserver/rest/workspaces/test_ws/datastores/sites_shape/featuretypes.xml").and_return(
23
+ old_test_ds_featuretypes_xml
24
+ )
25
+ c
26
+ }
27
+ let(:workspace) {
28
+ w = double('Workspace')
29
+ w.stub(:instance_of?).with(String).and_return(false)
30
+ w.stub(:instance_of?).with(RGeoServer::Workspace).and_return(true)
31
+ w.stub(:name).and_return('test_ws')
32
+ w
33
+ }
34
+
35
+ describe "#new" do
36
+ it 'should not allow empty parameters' do
37
+ expect{ RGeoServer::DataStore.new }.to raise_error ArgumentError
38
+ end
39
+ it 'should not allow null name' do
40
+ expect { RGeoServer::DataStore.new catalog, :workspace => workspace }.to raise_error
41
+ end
42
+
43
+ it 'should not allow empty workspace' do
44
+ expect { RGeoServer::DataStore.new catalog, :name => 'test_ds' }.to raise_error
45
+ end
46
+
47
+ it 'should allow non null catalog, workspace and name' do
48
+ ds = RGeoServer::DataStore.new catalog, :workspace => workspace, :name => 'test_ds'
49
+ end
50
+
51
+ end
52
+
53
+ describe "#connection_parameters" do
54
+ it 'should not override connection_parameters if on a existing datastore with non empty connection parameters' do
55
+ ds = RGeoServer::DataStore.new catalog, :workspace => workspace, :name => 'old_test_ds'
56
+ ds.connection_parameters.should == {
57
+ "memory mapped buffer"=>"false",
58
+ "create spatial index"=>"true",
59
+ "charset"=>"ISO-8859-1",
60
+ "filetype"=>"shapefile",
61
+ "cache and reuse memory maps"=>"true",
62
+ "url"=>"file:data/shapefiles/o_sites.shp",
63
+ "namespace"=>"http://www.openplans.org/spearfish"
64
+ }
65
+ end
66
+
67
+ it 'should have empty connection_parameters on new datastores' do
68
+ ds = RGeoServer::DataStore.new catalog, :workspace => workspace, :name => 'new_test_ds'
69
+ ds.connection_parameters.should be_empty
70
+ end
71
+
72
+ end
73
+
74
+ describe "#featuretypes" do
75
+ it 'should list feature types in datastore' do
76
+ ds = RGeoServer::DataStore.new catalog, :workspace => workspace, :name => 'old_test_ds'
77
+ # there is only one feature type in fixture response old_featuretypes.xml
78
+ ds.featuretypes.size.should == 1
79
+ ft = ds.featuretypes.first
80
+ ft.should be_an_instance_of(RGeoServer::FeatureType)
81
+ ft.name.should == 'o_sitesnew'
82
+ end
83
+
84
+ it 'should return an empty array of datastore is new or has no feature type resources' do
85
+ ds = RGeoServer::DataStore.new catalog, :workspace => workspace, :name => 'new_test_ds'
86
+ ds.featuretypes.should be_empty
87
+ end
88
+ end
89
+
90
+ describe "#profile_xml_to_hash" do
91
+ it 'should parse correctly profile_xml response for existing datastores' do
92
+ # this is called implicitely in previous tests
93
+ end
94
+ end
95
+ end
96
+
@@ -114,10 +114,6 @@ describe "Integration test against a GeoServer instance", :integration => true d
114
114
  before :all do
115
115
  @ws = RGeoServer::Workspace.new @catalog, :name => 'test_workspace_with_stores'
116
116
  @ws.save
117
- ["s1", "s2","s3"].each{ |s|
118
- ds = RGeoServer::DataStore.new @catalog, :workspace => @ws, :name => s
119
- ds.save
120
- }
121
117
  end
122
118
 
123
119
  after :all do
@@ -125,9 +121,13 @@ describe "Integration test against a GeoServer instance", :integration => true d
125
121
  end
126
122
 
127
123
  it "should list datastore objects that belong to it" do
128
- @ws.data_stores do |ds|
124
+ ['s1', 's2', 's3'].each{ |s|
125
+ ds = RGeoServer::DataStore.new @catalog, :workspace => @ws, :name => s
126
+ ds.save
127
+ }
128
+ @ws.data_stores do |ds|
129
129
  ds.should be_kind_of(RGeoServer::DataStore)
130
- ["s1", "s2", "s3"].should include ds.name
130
+ ['s1', 's2', 's3'].should include ds.name
131
131
  end
132
132
  end
133
133
 
@@ -173,7 +173,8 @@ describe "Integration test against a GeoServer instance", :integration => true d
173
173
 
174
174
  it "should be created from a store" do
175
175
  # Create a Datastore and a feature type under the default workspace (set it up as nil)
176
- ds = RGeoServer::DataStore.new @catalog, :workspace => nil, :name => 'test_shapefile2', :connection_parameters => {"url" => "file://#{@shapefile}"}
176
+ ds = RGeoServer::DataStore.new @catalog, :workspace => nil, :name => 'test_shapefile2'
177
+ ds.connection_parameters = {"url" => "file://#{@shapefile}"}
177
178
  ds.enabled = true
178
179
  ds.new?.should == true
179
180
  ds.save
@@ -326,7 +327,8 @@ describe "Integration test against a GeoServer instance", :integration => true d
326
327
  end
327
328
 
328
329
  it "should create a datastore under existing workspace, update and delete it right after" do
329
- ds = RGeoServer::DataStore.new @catalog, :workspace => @ws, :name => 'test_shapefile', :connection_parameters => {"namespace"=> "http://test_workspace_for_stores", "url" => "file://#{@shapefile}"}
330
+ ds = RGeoServer::DataStore.new @catalog, :workspace => @ws, :name => 'test_shapefile'
331
+ ds.connection_parameters = {"namespace"=> "http://test_workspace_for_stores", "url" => "file://#{@shapefile}"}
330
332
  ds.new?.should == true
331
333
  ds.save
332
334
  ds.new?.should == false
@@ -342,11 +344,17 @@ describe "Integration test against a GeoServer instance", :integration => true d
342
344
  end
343
345
 
344
346
  it "should create a datastore under existing workspace and add a feature type that will also create a layer" do
345
- ds = RGeoServer::DataStore.new @catalog, :workspace => @ws, :name => 'test_shapefile2', :connection_parameters => {"url" => "file://#{@shapefile}", "namespace" => "http://test_workspace_for_stores"}
347
+ ds = RGeoServer::DataStore.new @catalog, :workspace => @ws, :name => 'test_shapefile2'
348
+ ds.connection_parameters = {"url" => "file://#{@shapefile}", "namespace" => "http://test_workspace_for_stores"}
346
349
  ds.new?.should == true
347
350
  ds.save
348
351
  ft = RGeoServer::FeatureType.new @catalog, :workspace => @ws, :data_store => ds, :name => 'granules'
349
352
  ft.save
353
+ ds.featuretypes.each do |dft|
354
+ dft.name.should == ft.name
355
+ dft.workspace.should == ft.workspace
356
+ dft.data_store.should == ft.data_store
357
+ end
350
358
  #ft.metadata_links = [{"type"=>"text/plain", "metadataType"=>"FGDC", "content"=>"http://example.com/geonetwork/srv/en/fgdc.xml?id=2"}]
351
359
  #ft.save
352
360
  #ft.metadata_links.first["metadataType"].should == "FGDC"
@@ -386,6 +394,11 @@ describe "Integration test against a GeoServer instance", :integration => true d
386
394
  c.title = 'Test Raster Layer'
387
395
  c.abstract = 'This is the abstract of the layer'
388
396
  c.save
397
+ cs.coverages.each do |ct|
398
+ ct.name.should == c.name
399
+ ct.workspace.should == c.workspace
400
+ ct.coverage_store.should == ct.coverage_store
401
+ end
389
402
  #c.metadata_links = [{"type"=>"text/plain", "metadataType"=>"FGDC", "content"=>"http://example.com/geonetwork/srv/en/fgdc.xml?id=1090"}]
390
403
  #c.save
391
404
  #c.metadata_links.first["metadataType"].should == "FGDC"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rgeoserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-27 00:00:00.000000000 Z
12
+ date: 2012-06-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
- requirement: &70326335633780 !ruby/object:Gem::Requirement
16
+ requirement: &2151853540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70326335633780
24
+ version_requirements: *2151853540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nokogiri
27
- requirement: &70326335632900 !ruby/object:Gem::Requirement
27
+ requirement: &2151852340 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70326335632900
35
+ version_requirements: *2151852340
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mime-types
38
- requirement: &70326335631460 !ruby/object:Gem::Requirement
38
+ requirement: &2151850840 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70326335631460
46
+ version_requirements: *2151850840
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activesupport
49
- requirement: &70326335630760 !ruby/object:Gem::Requirement
49
+ requirement: &2151849240 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70326335630760
57
+ version_requirements: *2151849240
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: activemodel
60
- requirement: &70326335630180 !ruby/object:Gem::Requirement
60
+ requirement: &2151848360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70326335630180
68
+ version_requirements: *2151848360
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: confstruct
71
- requirement: &70326335629640 !ruby/object:Gem::Requirement
71
+ requirement: &2151847220 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70326335629640
79
+ version_requirements: *2151847220
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rake
82
- requirement: &70326335629140 !ruby/object:Gem::Requirement
82
+ requirement: &2151846340 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70326335629140
90
+ version_requirements: *2151846340
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: shoulda
93
- requirement: &70326335628580 !ruby/object:Gem::Requirement
93
+ requirement: &2151856020 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70326335628580
101
+ version_requirements: *2151856020
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: bundler
104
- requirement: &70326335644200 !ruby/object:Gem::Requirement
104
+ requirement: &2151854640 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 1.0.14
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70326335644200
112
+ version_requirements: *2151854640
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rspec
115
- requirement: &70326335643700 !ruby/object:Gem::Requirement
115
+ requirement: &2151868580 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70326335643700
123
+ version_requirements: *2151868580
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: yard
126
- requirement: &70326335643020 !ruby/object:Gem::Requirement
126
+ requirement: &2151867020 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *70326335643020
134
+ version_requirements: *2151867020
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: equivalent-xml
137
- requirement: &70326335642480 !ruby/object:Gem::Requirement
137
+ requirement: &2151865340 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *70326335642480
145
+ version_requirements: *2151865340
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: jettywrapper
148
- requirement: &70326335642020 !ruby/object:Gem::Requirement
148
+ requirement: &2151863900 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,7 +153,7 @@ dependencies:
153
153
  version: '0'
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *70326335642020
156
+ version_requirements: *2151863900
157
157
  description: ! 'GeoServer REST API Ruby library : Requires GeoServer 2.1.3+'
158
158
  email:
159
159
  - renzo.sanchez.silva@gmail.com
@@ -162,6 +162,7 @@ extensions: []
162
162
  extra_rdoc_files: []
163
163
  files:
164
164
  - .gitignore
165
+ - .travis.yml
165
166
  - Gemfile
166
167
  - README.rdoc
167
168
  - Rakefile
@@ -193,8 +194,11 @@ files:
193
194
  - spec/fixtures/datasets/vector/granules.qix
194
195
  - spec/fixtures/datasets/vector/granules.shp
195
196
  - spec/fixtures/datasets/vector/granules.shx
197
+ - spec/fixtures/resources/datastore/old.xml
198
+ - spec/fixtures/resources/datastore/old_featuretypes.xml
196
199
  - spec/fixtures/styles/poptest.sld
197
200
  - spec/fixtures/styles/test_style.sld
201
+ - spec/functional/datastore_spec.rb
198
202
  - spec/functional/resource_spec.rb
199
203
  - spec/integration/geoserver_spec.rb
200
204
  - spec/spec_helper.rb
@@ -231,8 +235,11 @@ test_files:
231
235
  - spec/fixtures/datasets/vector/granules.qix
232
236
  - spec/fixtures/datasets/vector/granules.shp
233
237
  - spec/fixtures/datasets/vector/granules.shx
238
+ - spec/fixtures/resources/datastore/old.xml
239
+ - spec/fixtures/resources/datastore/old_featuretypes.xml
234
240
  - spec/fixtures/styles/poptest.sld
235
241
  - spec/fixtures/styles/test_style.sld
242
+ - spec/functional/datastore_spec.rb
236
243
  - spec/functional/resource_spec.rb
237
244
  - spec/integration/geoserver_spec.rb
238
245
  - spec/spec_helper.rb