geoserver-publish 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4d296ac0e14cade1f18b5ec69777195e2375c79429f3f1f33ca9324353204a4
4
- data.tar.gz: 3d71450e0be590e67ceb2e100cff4f80499311db14614d887381d1347efc043d
3
+ metadata.gz: f9db10b46d41ef044f7527b82aed3465f85382d743a04bc5fa1d6ada89cc848d
4
+ data.tar.gz: 8143a50b59ab0e9fbfa3d77fa0332bafcda2db79b70121dd01ebd3d6e081ab67
5
5
  SHA512:
6
- metadata.gz: 235d515c044502a24fa82d1519b407dfa9b0bb956f54ccae768cd9ebd5b011348436bb89e68fe2251a3b50adf5c1d614fae2819ef10176009cbacb73d3d9f94e
7
- data.tar.gz: fdbe59744fa57f637534c44a0fc4b8618f28fe7104ed219e651046309d92fe14ec4f9ea28e54390ee680290d2dd2d45a994d500e96f190e7389ee5ced681af79
6
+ metadata.gz: 5f2e5bc90e55b89bae11f1c577bbb0e95997425b7ab977035d0a1f9fd47f9bb64b944fb2c3c6be8559b2da9b222930839ed52dd45da0a5176fbef28029b4a800
7
+ data.tar.gz: e59bc180f9764ef886f2f58bc4a440d617a4758ada9c518265c06d53196607ff58784b408944c75245772cea2a766fdf0ddc1cfd2c49cd04615df2058fba0dfb
data/.rubocop.yml CHANGED
@@ -2,7 +2,7 @@ inherit_gem:
2
2
  bixby: bixby_default.yml
3
3
  AllCops:
4
4
  DisplayCopNames: true
5
- TargetRubyVersion: 2.4
5
+ TargetRubyVersion: 2.7
6
6
  Exclude:
7
7
  - 'bin/*'
8
8
  Lint/UnusedMethodArgument:
@@ -13,7 +13,7 @@ Metrics/BlockLength:
13
13
  - "spec/**/*"
14
14
  - "*.gemspec"
15
15
  Naming/FileName:
16
- Exclude:
16
+ Exclude:
17
17
  - "geoserver-publish.gemspec"
18
18
  - "Gemfile"
19
19
  Style/StringLiterals:
@@ -31,6 +31,35 @@ module Geoserver
31
31
  connection.put(path: path, payload: payload, content_type: "application/json")
32
32
  end
33
33
 
34
+ ##
35
+ # Upload raster data files to a new coverage store
36
+ # # @param workspace_name [String]
37
+ # # @param coverage_store_name [String]
38
+ # # @param format [String] One of:
39
+ # geotiff == GeoTIFF
40
+ # worldimage == Georeferenced image (JPEG, PNG, TIFF)
41
+ # imagemosaic == Image mosaic
42
+ # See: https://docs.geoserver.org/stable/en/user/rest/api/coveragestores.html#extension
43
+ # # @param file [String] Depending on value of method:
44
+ # file == binary stream
45
+ # url == URL to publicly available raster files (DOESN'T ACTUALLY WORK).
46
+ # external == absolute path to existing file
47
+ # # @param content_type [String] Content-Type for file upload
48
+ # # @param method [String] Can be one of 'file', 'url', 'external'.
49
+ # See: https://docs.geoserver.org/latest/en/api/#1.0.0/coveragestores.yaml
50
+ # rubocop:disable Metrics/ParameterLists
51
+ def upload(workspace_name:, coverage_store_name:, format:, file:, method: "file", content_type: "application/zip")
52
+ path = upload_url(
53
+ workspace_name: workspace_name,
54
+ coverage_store_name: coverage_store_name,
55
+ method: method,
56
+ format: format
57
+ )
58
+
59
+ connection.put(path: path, payload: file, content_type: content_type)
60
+ end
61
+ # rubocop:enable Metrics/ParameterLists
62
+
34
63
  private
35
64
 
36
65
  def coverage_store_url(workspace_name:, coverage_store_name:)
@@ -38,6 +67,12 @@ module Geoserver
38
67
  "workspaces/#{workspace_name}/coveragestores#{last_path_component}"
39
68
  end
40
69
 
70
+ # see: https://docs.geoserver.org/latest/en/api/#1.0.0/coveragestores.yaml
71
+ # /workspaces/{workspace}/coveragestores/{store}/{method}.{format}
72
+ def upload_url(workspace_name:, coverage_store_name:, method:, format:)
73
+ "workspaces/#{workspace_name}/coveragestores/#{coverage_store_name}/#{method}.#{format}?coverageName=#{coverage_store_name}"
74
+ end
75
+
41
76
  def payload_new(workspace_name:, coverage_store_name:, type:, url:, payload:)
42
77
  {
43
78
  coverageStore: {
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  module Geoserver
3
3
  module Publish
4
- VERSION = "0.6.0"
4
+ VERSION = "0.7.0"
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geoserver-publish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eliot Jordan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-09 00:00:00.000000000 Z
11
+ date: 2023-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday