rgeoserver 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/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: