rgeoserver 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -55,6 +55,7 @@ To enter into an irb console with all classess loaded:
55
55
  == TODO
56
56
  - Complete stores and coverages functionality, handle Layers, styles and data upload.
57
57
  - Complete documentaion and test coverage. Add more flexibility for integration tests with embedded Jetty and other containers.
58
+ - Add ability to connect under SSL.
58
59
  - Migrate base HTTP client to {Weary}[https://github.com/mwunsch/weary]?
59
60
 
60
61
  == Contributing with Patches and Pull requests checklist
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.5.2
@@ -19,7 +19,11 @@ module RGeoServer
19
19
  @@r.root
20
20
  end
21
21
 
22
- def self.method
22
+ def self.create_method
23
+ :put
24
+ end
25
+
26
+ def self.update_method
23
27
  :put
24
28
  end
25
29
 
@@ -4,7 +4,7 @@ module RGeoServer
4
4
  class CoverageStore < ResourceInfo
5
5
 
6
6
  OBJ_ATTRIBUTES = {:catalog => 'catalog', :workspace => 'workspace', :url => 'url', :data_type => 'type', :name => 'name', :enabled => 'enabled', :description => 'description'}
7
- OBJ_DEFAULT_ATTRIBUTES = {:catalog => nil, :workspace => nil, :url => '', :data_type => 'GeoTIFF', :name => nil, :enabled => true, :description=>nil}
7
+ OBJ_DEFAULT_ATTRIBUTES = {:catalog => nil, :workspace => nil, :url => '', :data_type => 'GeoTIFF', :name => nil, :enabled => 'true', :description=>nil}
8
8
  define_attribute_methods OBJ_ATTRIBUTES.keys
9
9
  update_attribute_accessors OBJ_ATTRIBUTES
10
10
 
@@ -18,7 +18,11 @@ module RGeoServer
18
18
  @@r.root
19
19
  end
20
20
 
21
- def self.method
21
+ def self.create_method
22
+ :post
23
+ end
24
+
25
+ def self.update_method
22
26
  :put
23
27
  end
24
28
 
@@ -41,11 +45,14 @@ module RGeoServer
41
45
  def message
42
46
  builder = Nokogiri::XML::Builder.new do |xml|
43
47
  xml.coverageStore {
44
- xml.name @name
45
- xml.enabled profile['enabled']
46
- xml.type_ @data_type if data_type_changed?
47
- xml.description @description if description_changed?
48
- xml.url @url if url_changed?
48
+ xml.name @name if new?
49
+ xml.workspace {
50
+ xml.name @workspace.name
51
+ }
52
+ xml.enabled @enabled if (enabled_changed? || new?)
53
+ xml.type_ @data_type if (data_type_changed? || new?)
54
+ xml.description @description if (description_changed? || new?)
55
+ xml.url @url if (url_changed? || new?)
49
56
  }
50
57
  end
51
58
  @message = builder.doc.to_xml
@@ -73,39 +80,22 @@ module RGeoServer
73
80
 
74
81
  def coverages
75
82
  profile["coverages"].collect{ |name|
76
- Coverage.new @catalog, :workspace => @workspace, :coverage_store => self, :name => name if name
83
+ Coverage.new @catalog, :workspace => @workspace, :coverage_store => self, :name => name
77
84
  }
78
85
  end
79
86
 
80
- def profile_xml_to_ng1 profile_xml
81
- Nokogiri::XML(profile_xml).xpath(self.member_xpath)
82
- end
83
-
84
- def profile_xml_to_hash2 profile_xml
87
+ def profile_xml_to_hash profile_xml
85
88
  doc = profile_xml_to_ng profile_xml
86
- {
89
+ h = {
87
90
  'name' => doc.at_xpath('//name').text.strip,
88
91
  'workspace' => @workspace.name,
89
92
  'type' => doc.at_xpath('//type/text()').to_s,
90
93
  'enabled' => doc.at_xpath('//enabled/text()').to_s,
91
94
  'description' => doc.at_xpath('//description/text()').to_s,
92
95
  'url' => doc.at_xpath('//url/text()').to_s
93
- }
96
+ }.freeze
97
+ h
94
98
  end
95
99
 
96
- def profile_xml_to_hash1 profile_xml
97
- doc = profile_xml_to_ng profile_xml
98
- h = {:name => doc.at_xpath('//name').text.strip, :workspace => @workspace.name, :coverages => [] }
99
- doc.xpath('//coverages/atom:link/@href', "xmlns:atom"=>"http://www.w3.org/2005/Atom" ).each{ |l|
100
- h[:coverages] << {
101
- :name => l.parent.parent.at_xpath('//name/text()').to_s,
102
- :type => l.parent.parent.at_xpath('//type/text()').to_s,
103
- :enabled => l.parent.parent.at_xpath('//enabled/text()').to_s,
104
- :description => l.parent.parent.at_xpath('//description/text()').to_s,
105
- :url => l.parent.parent.at_xpath('//url/text()').to_s
106
- }
107
- }
108
- h
109
- end
110
100
  end
111
101
  end
@@ -20,7 +20,11 @@ module RGeoServer
20
20
  @@r.root
21
21
  end
22
22
 
23
- def self.method
23
+ def self.create_method
24
+ :post
25
+ end
26
+
27
+ def self.save_method
24
28
  :put
25
29
  end
26
30
 
@@ -47,7 +51,7 @@ module RGeoServer
47
51
  def message
48
52
  builder = Nokogiri::XML::Builder.new do |xml|
49
53
  xml.dataStore {
50
- xml.enabled 'true'
54
+ xml.enabled true
51
55
  xml.name @name
52
56
  xml.connectionParameters { # this could be empty
53
57
  @connection_parameters.each_pair { |k,v|
@@ -4,7 +4,7 @@ module RGeoServer
4
4
  class DataStores < ResourceInfo
5
5
 
6
6
  OBJ_ATTRIBUTES = {:enabled => "enabled", :catalog => "catalog", :workspace => "workspace", :name => "name"}
7
- OBJ_DEFAULT_ATTRIBUTES = {:enabled => true, :catalog => nil, :workspace => nil, :name => nil, }
7
+ OBJ_DEFAULT_ATTRIBUTES = {:enabled => 'true', :catalog => nil, :workspace => nil, :name => nil, }
8
8
  define_attribute_methods OBJ_ATTRIBUTES.keys
9
9
  update_attribute_accessors OBJ_ATTRIBUTES
10
10
 
@@ -18,7 +18,11 @@ module RGeoServer
18
18
  @@r.root
19
19
  end
20
20
 
21
- def self.method
21
+ def self.create_method
22
+ :put
23
+ end
24
+
25
+ def self.update_method
22
26
  :put
23
27
  end
24
28
 
@@ -75,23 +79,5 @@ module RGeoServer
75
79
  }
76
80
  end
77
81
 
78
- def profile_xml_to_hash1 profile_xml
79
- doc = profile_xml_to_ng profile_xml
80
- h = {
81
- "name" => doc.at_xpath('//name').text.strip,
82
- "enabled" => doc.at_xpath('//enabled/text()').to_s,
83
- "connectionParameters" => doc.xpath('//connectionParameters/entry').collect{ |e| {e['key'].to_sym => e.text.to_s} }
84
- }
85
- doc.xpath('//featureTypes/atom:link/@href', "xmlns:atom"=>"http://www.w3.org/2005/Atom" ).each{ |l|
86
- h[:featuretypes] = begin
87
- response = @catalog.fetch_url l.text
88
- Nokogiri::XML(response).xpath('//name/text()').collect{ |a| a.text }
89
- rescue RestClient::ResourceNotFound
90
- []
91
- end.freeze
92
-
93
- }
94
- h
95
- end
96
82
  end
97
83
  end
@@ -15,9 +15,14 @@ module RGeoServer
15
15
  @@r.root
16
16
  end
17
17
 
18
- def self.method
18
+ def self.create_method
19
19
  :put
20
20
  end
21
+
22
+ def self.update_method
23
+ :put
24
+ end
25
+
21
26
 
22
27
  def self.resource_name
23
28
  @@r.resource_name
@@ -35,47 +40,10 @@ module RGeoServer
35
40
  @@r.route % [@workspace.name , @data_store.name ]
36
41
  end
37
42
 
38
- def xml options = nil
39
- <<-ds
40
- <dataStore>
41
- <enabled>true</enabled>
42
- <name>#{name}</name>
43
- <workspace><name>#{workspace_name}</name></workspace>
44
- <connectionParameters>
45
- <entry key="url">file:data/shapefiles/states.shp</entry>
46
- <entry key="namespace">http://www.openplans.org/topp</entry>
47
- </connectionParameters>
48
- <__default>false</__default>
49
- <featureTypes>
50
- <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="http://localhost:8080/geoserver/rest/workspaces/topp/datastores/states_shapefile/featuretypes.xml" type="application/xml"/>
51
- </featureTypes>
52
- </dataStore>
53
- ds
54
- end
55
-
56
- def name
57
- @name
58
- end
59
-
60
- def workspace
61
- @workspace
62
- end
63
-
64
- def data_store
65
- @data_store
66
- end
67
-
68
- def catalog
69
- @catalog
70
- end
71
-
72
- def workspace_name
73
- @workspace.name
43
+ def message
44
+ "<featureType/>"
74
45
  end
75
46
 
76
- def data_store_name
77
- @data_store.name
78
- end
79
47
 
80
48
  # @param [RGeoServer::Catalog] catalog
81
49
  # @param [Hash] options
@@ -125,7 +93,7 @@ module RGeoServer
125
93
  doc = profile_xml_to_ng profile_xml
126
94
  h = {
127
95
  :name => doc.at_xpath('//name').text.strip,
128
- :workspace => workspace_name,
96
+ :workspace => @workspace.name,
129
97
  :nativeName => doc.at_xpath('//nativeName').text.to_s
130
98
  }.freeze
131
99
  h
@@ -11,7 +11,7 @@ module RGeoServer
11
11
 
12
12
  # mapping object parameters to profile elements
13
13
  OBJ_ATTRIBUTES = {:enabled => 'enabled'}
14
- OBJ_DEFAULT_ATTRIBUTES = {:enabled => true}
14
+ OBJ_DEFAULT_ATTRIBUTES = {:enabled => 'true'}
15
15
 
16
16
  define_attribute_methods OBJ_ATTRIBUTES.keys
17
17
 
@@ -38,14 +38,14 @@ module RGeoServer
38
38
  "#{self.class.name}: #{name}"
39
39
  end
40
40
 
41
- # Add resource to Geoserver catalog
42
- def self.create options, catalog = nil
43
- raise GeoServerInvalidRequest, "Can't create a #{self.class.resource_name} resource with empty name" if options[:name].nil?
44
- catalog ||= RGeoServer.catalog
45
- catalog.add @route, xml(options)
46
- self.class.new catalog, options
41
+ def create_method
42
+ self.class.create_method
47
43
  end
48
-
44
+
45
+ def update_method
46
+ self.class.update_method
47
+ end
48
+
49
49
  # Modify or save the resource
50
50
  # @param options [Hash]
51
51
  # @return [RGeoServer::ResourceInfo]
@@ -54,10 +54,10 @@ module RGeoServer
54
54
  @changed_attributes.clear
55
55
  run_callbacks :save do
56
56
  if new?
57
- @catalog.add(@route, message)
57
+ @catalog.add(@route, message, create_method)
58
58
  clear
59
59
  else
60
- @catalog.modify({@route => @name}, message) #unless changes.empty?
60
+ @catalog.modify({@route => @name}, message, update_method) #unless changes.empty?
61
61
  end
62
62
 
63
63
  self
@@ -55,7 +55,7 @@ module RGeoServer
55
55
  # @param [String] what
56
56
  # @param [String] message
57
57
  # @param [Symbol] method
58
- def add what, message, method = :post
58
+ def add what, message, method
59
59
  request = client[url_for(what)]
60
60
  request.options[:headers] ||= headers(:xml)
61
61
  begin
@@ -71,12 +71,13 @@ module RGeoServer
71
71
  # Modify resource in the catalog
72
72
  # @param [String] what
73
73
  # @param [String] message
74
- def modify what, message
74
+ # @param [Symbol] method
75
+ def modify what, message, method
75
76
  request = client[url_for(what, {})]
76
77
  request.options[:headers] ||= headers(:xml)
77
78
  $logger.debug "Modifying: \n #{message}"
78
79
  begin
79
- return request.put message
80
+ return request.send method, message
80
81
  rescue RestClient::InternalServerError => e
81
82
  $logger.error e.response
82
83
  $logger.flush if $logger.respond_to? :flush
@@ -15,7 +15,11 @@ module RGeoServer
15
15
  @@r.root
16
16
  end
17
17
 
18
- def self.method
18
+ def self.create_method
19
+ :put
20
+ end
21
+
22
+ def self.update_method
19
23
  :put
20
24
  end
21
25
 
@@ -4,7 +4,7 @@ module RGeoServer
4
4
  class Workspace < ResourceInfo
5
5
 
6
6
  OBJ_ATTRIBUTES = {:enabled => 'enabled', :catalog => 'catalog', :name => 'name' }
7
- OBJ_DEFAULT_ATTRIBUTES = {:enabled => true, :catalog => nil, :name => nil }
7
+ OBJ_DEFAULT_ATTRIBUTES = {:enabled => 'true', :catalog => nil, :name => nil }
8
8
 
9
9
  define_attribute_methods OBJ_ATTRIBUTES.keys
10
10
  update_attribute_accessors OBJ_ATTRIBUTES
@@ -15,9 +15,13 @@ module RGeoServer
15
15
  @@r.resource_name
16
16
  end
17
17
 
18
- def self.method
18
+ def self.create_method
19
19
  :post
20
20
  end
21
+
22
+ def self.update_method
23
+ :put
24
+ end
21
25
 
22
26
  def self.root_xpath
23
27
  "//#{@@r.route}/#{@@r.resource_name}"
@@ -54,19 +58,19 @@ module RGeoServer
54
58
 
55
59
  def data_stores
56
60
  profile['dataStores'].collect{ |name|
57
- DataStore.new @catalog, :workspace => self, :name => name if name
61
+ DataStore.new @catalog, :workspace => self, :name => name
58
62
  }
59
63
  end
60
64
 
61
65
  def coverage_stores
62
66
  profile['coverageStores'].collect{ |name|
63
- CoverageStore.new @catalog, :workspace => self, :name => name if name
67
+ CoverageStore.new @catalog, :workspace => self, :name => name
64
68
  }
65
69
  end
66
70
 
67
71
  def wms_stores
68
72
  profile['wmsStores'].collect{ |name|
69
- WmsStore.new @catalog, :workspace => self, :name => name if name
73
+ WmsStore.new @catalog, :workspace => self, :name => name
70
74
  }
71
75
  end
72
76
 
@@ -27,24 +27,24 @@ describe "Integration test against a GeoServer instance", :integration => true d
27
27
 
28
28
  it "should save new items" do
29
29
  obj = RGeoServer::Workspace.new @catalog, :name => 'test_ws'
30
- obj.delete(:purge=>true) if !obj.new?
30
+ obj.delete(:recurse=>true) if !obj.new?
31
31
  obj.new?.should == true
32
32
  obj.profile.should == {}
33
33
  obj.save
34
34
  obj.new?.should == false
35
- obj.enabled.should == true
36
- obj.delete :purge => true
35
+ obj.enabled.should == 'true'
36
+ obj.delete :recurse => true
37
37
  end
38
38
 
39
39
  it "should fail trying to delete unsaved (new) workspace" do
40
40
  obj = RGeoServer::Workspace.new @catalog, :name => 'test'
41
- obj.delete(:purge=>true) if !obj.new?
41
+ obj.delete(:recurse=>true) if !obj.new?
42
42
  obj.delete.should raise_error
43
43
  end
44
44
 
45
45
  it "should fail trying to delete unexisting workspace names from catalog" do
46
46
  lambda{ ["asdfdg", "test3", "test5", "test6"].each{ |w|
47
- @catalog.purge({:workspaces => w}, {:purge => true})
47
+ @catalog.purge({:workspaces => w}, {:recurse => true})
48
48
  }
49
49
  }.should raise_error
50
50
  end
@@ -64,7 +64,6 @@ describe "Integration test against a GeoServer instance", :integration => true d
64
64
  end
65
65
 
66
66
  it "should list datastore objects that belong to it" do
67
-
68
67
  @ws.data_stores.each{ |ds|
69
68
  ds.should be_kind_of(RGeoServer::DataStore)
70
69
  ["s1", "s2", "s3"].should include ds.name
@@ -81,7 +80,7 @@ describe "Integration test against a GeoServer instance", :integration => true d
81
80
  end
82
81
 
83
82
  after :all do
84
- @ws.delete :purge => true
83
+ @ws.delete :recurse => true
85
84
  end
86
85
 
87
86
  context "DataStores" do
@@ -98,7 +97,7 @@ describe "Integration test against a GeoServer instance", :integration => true d
98
97
  obj.new?.should raise_error
99
98
  end
100
99
 
101
- it "should create a datastore under existing workspace and update it right after" do
100
+ it "should create a datastore under existing workspace, update and delete it right after" do
102
101
  ds = RGeoServer::DataStore.new @catalog, :workspace => @ws, :name => 'test', :connection_parameters => {"namespace"=>"http://test_workspace_for_stores", "url" => "file://tmp/geo.tif"}
103
102
  ds.new?.should == true
104
103
  ds.save
@@ -116,7 +115,21 @@ describe "Integration test against a GeoServer instance", :integration => true d
116
115
  end
117
116
  end
118
117
  context "CoverageStores" do
119
- pending "Finish CoverageStore spec"
118
+ it "should create a coverage store under existing workspace, update and delete it right after" do
119
+ cs = RGeoServer::CoverageStore.new @catalog, :workspace => @ws, :name => 'test_coverage_store'
120
+ cs.url = "file:data_dir/sf/raster.tif"
121
+ cs.description = 'description'
122
+ cs.enabled = 'true'
123
+ cs.data_type = 'GeoTIFF'
124
+ cs.new?.should == true
125
+ cs.save
126
+ cs.new?.should == false
127
+ cs.description = 'new description'
128
+ cs.description_changed?.should == true
129
+ cs.save
130
+ cs.description.should == 'new description'
131
+ cs.new?.should == false
132
+ end
120
133
  end
121
134
  end
122
135
  end
metadata CHANGED
@@ -1,155 +1,202 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rgeoserver
3
- version: !ruby/object:Gem::Version
4
- version: 0.5.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 15
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 5
9
+ - 2
10
+ version: 0.5.2
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Renzo Sanchez-Silva
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-04-28 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-04-29 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: rest-client
16
- requirement: &2156162640 !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
22
32
  type: :runtime
23
- prerelease: false
24
- version_requirements: *2156162640
25
- - !ruby/object:Gem::Dependency
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
26
35
  name: nokogiri
27
- requirement: &2156162000 !ruby/object:Gem::Requirement
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
28
38
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
33
46
  type: :runtime
34
- prerelease: false
35
- version_requirements: *2156162000
36
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
37
49
  name: mime-types
38
- requirement: &2156161400 !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
39
52
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
44
60
  type: :runtime
45
- prerelease: false
46
- version_requirements: *2156161400
47
- - !ruby/object:Gem::Dependency
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
48
63
  name: activesupport
49
- requirement: &2156160860 !ruby/object:Gem::Requirement
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
50
66
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
55
74
  type: :runtime
56
- prerelease: false
57
- version_requirements: *2156160860
58
- - !ruby/object:Gem::Dependency
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
59
77
  name: activemodel
60
- requirement: &2156160220 !ruby/object:Gem::Requirement
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
61
80
  none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: '0'
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
66
88
  type: :runtime
67
- prerelease: false
68
- version_requirements: *2156160220
69
- - !ruby/object:Gem::Dependency
89
+ version_requirements: *id005
90
+ - !ruby/object:Gem::Dependency
70
91
  name: confstruct
71
- requirement: &2156159100 !ruby/object:Gem::Requirement
92
+ prerelease: false
93
+ requirement: &id006 !ruby/object:Gem::Requirement
72
94
  none: false
73
- requirements:
74
- - - ! '>='
75
- - !ruby/object:Gem::Version
76
- version: '0'
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
77
102
  type: :runtime
78
- prerelease: false
79
- version_requirements: *2156159100
80
- - !ruby/object:Gem::Dependency
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
81
105
  name: rake
82
- requirement: &2156157720 !ruby/object:Gem::Requirement
106
+ prerelease: false
107
+ requirement: &id007 !ruby/object:Gem::Requirement
83
108
  none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: '0'
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
88
116
  type: :development
89
- prerelease: false
90
- version_requirements: *2156157720
91
- - !ruby/object:Gem::Dependency
117
+ version_requirements: *id007
118
+ - !ruby/object:Gem::Dependency
92
119
  name: shoulda
93
- requirement: &2156157080 !ruby/object:Gem::Requirement
120
+ prerelease: false
121
+ requirement: &id008 !ruby/object:Gem::Requirement
94
122
  none: false
95
- requirements:
96
- - - ! '>='
97
- - !ruby/object:Gem::Version
98
- version: '0'
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ hash: 3
127
+ segments:
128
+ - 0
129
+ version: "0"
99
130
  type: :development
100
- prerelease: false
101
- version_requirements: *2156157080
102
- - !ruby/object:Gem::Dependency
131
+ version_requirements: *id008
132
+ - !ruby/object:Gem::Dependency
103
133
  name: bundler
104
- requirement: &2156155880 !ruby/object:Gem::Requirement
134
+ prerelease: false
135
+ requirement: &id009 !ruby/object:Gem::Requirement
105
136
  none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ hash: 11
141
+ segments:
142
+ - 1
143
+ - 0
144
+ - 14
109
145
  version: 1.0.14
110
146
  type: :development
111
- prerelease: false
112
- version_requirements: *2156155880
113
- - !ruby/object:Gem::Dependency
147
+ version_requirements: *id009
148
+ - !ruby/object:Gem::Dependency
114
149
  name: rspec
115
- requirement: &2156155360 !ruby/object:Gem::Requirement
150
+ prerelease: false
151
+ requirement: &id010 !ruby/object:Gem::Requirement
116
152
  none: false
117
- requirements:
118
- - - ! '>='
119
- - !ruby/object:Gem::Version
120
- version: '0'
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ hash: 3
157
+ segments:
158
+ - 0
159
+ version: "0"
121
160
  type: :development
122
- prerelease: false
123
- version_requirements: *2156155360
124
- - !ruby/object:Gem::Dependency
161
+ version_requirements: *id010
162
+ - !ruby/object:Gem::Dependency
125
163
  name: yard
126
- requirement: &2156154800 !ruby/object:Gem::Requirement
164
+ prerelease: false
165
+ requirement: &id011 !ruby/object:Gem::Requirement
127
166
  none: false
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ hash: 3
171
+ segments:
172
+ - 0
173
+ version: "0"
132
174
  type: :development
133
- prerelease: false
134
- version_requirements: *2156154800
135
- - !ruby/object:Gem::Dependency
175
+ version_requirements: *id011
176
+ - !ruby/object:Gem::Dependency
136
177
  name: jettywrapper
137
- requirement: &2164549300 !ruby/object:Gem::Requirement
178
+ prerelease: false
179
+ requirement: &id012 !ruby/object:Gem::Requirement
138
180
  none: false
139
- requirements:
140
- - - ! '>='
141
- - !ruby/object:Gem::Version
142
- version: '0'
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ hash: 3
185
+ segments:
186
+ - 0
187
+ version: "0"
143
188
  type: :development
144
- prerelease: false
145
- version_requirements: *2164549300
146
- description: ! 'GeoServer REST API Ruby library : Requires GeoServer 2.1.3+'
147
- email:
189
+ version_requirements: *id012
190
+ description: "GeoServer REST API Ruby library : Requires GeoServer 2.1.3+"
191
+ email:
148
192
  - renzo.sanchez.silva@gmail.com
149
193
  executables: []
194
+
150
195
  extensions: []
196
+
151
197
  extra_rdoc_files: []
152
- files:
198
+
199
+ files:
153
200
  - .gitignore
154
201
  - Gemfile
155
202
  - README.rdoc
@@ -176,35 +223,38 @@ files:
176
223
  - spec/spec_helper.rb
177
224
  homepage: http://github.com/rnz0/rgeoserver
178
225
  licenses: []
226
+
179
227
  post_install_message:
180
228
  rdoc_options: []
181
- require_paths:
229
+
230
+ require_paths:
182
231
  - lib
183
- required_ruby_version: !ruby/object:Gem::Requirement
232
+ required_ruby_version: !ruby/object:Gem::Requirement
184
233
  none: false
185
- requirements:
186
- - - ! '>='
187
- - !ruby/object:Gem::Version
188
- version: '0'
189
- segments:
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ hash: 3
238
+ segments:
190
239
  - 0
191
- hash: -225529645352907802
192
- required_rubygems_version: !ruby/object:Gem::Requirement
240
+ version: "0"
241
+ required_rubygems_version: !ruby/object:Gem::Requirement
193
242
  none: false
194
- requirements:
195
- - - ! '>='
196
- - !ruby/object:Gem::Version
197
- version: '0'
198
- segments:
243
+ requirements:
244
+ - - ">="
245
+ - !ruby/object:Gem::Version
246
+ hash: 3
247
+ segments:
199
248
  - 0
200
- hash: -225529645352907802
249
+ version: "0"
201
250
  requirements: []
251
+
202
252
  rubyforge_project:
203
253
  rubygems_version: 1.8.10
204
254
  signing_key:
205
255
  specification_version: 3
206
256
  summary: GeoServer REST API ruby library
207
- test_files:
257
+ test_files:
208
258
  - spec/lib/integration_test_spec.rb
209
259
  - spec/spec_helper.rb
210
260
  has_rdoc: