rgeoserver 0.5.7 → 0.5.8

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/.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