symgate 0.3.0 → 0.4.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: 727f42f6f50972cadae6e1228d7f1405beae00f8d04dba7b710349fce240804d
4
- data.tar.gz: 6bbc516ec77ab2b3592d46d863ff5eb4bfe90963942806d710135b1217874cd5
3
+ metadata.gz: 23804f86b9de8e1bab9c0384217f0e5f5a3a853d01ddf26acb07d1377bb3c8ba
4
+ data.tar.gz: 8cb335b86699f2bcf0c32cad06354a1e48aa12a3cfe80a745a369d3e366cc046
5
5
  SHA512:
6
- metadata.gz: 063d649704d23a8705126fef07fd9074eeaeb86ad4ebc21edc12511aac639a1450f9ef363ab658b1093a55ed71bd14490618024334eac4c4ee35fd31253e438e
7
- data.tar.gz: 1b7867acfb437462743110aea54ad8da2db7443c66d9e6abca2ec008f8333957df2363c0e804bdb0ab1db024a08f7364db1c62fcf68713d17b9fc707a826a014
6
+ metadata.gz: ad8da67d0ea94083948a155660f3904c31b19546c243bad8bf3debf64df813ced13f8951bf8c9e7b1310a73ac276ef3fde3f69b4830c78bd99a9931a08b94359
7
+ data.tar.gz: 8c5da32f7c9105d5d5fa4922dd97c866702d460f43fe97b7446b288fb4d4d76b726fbe57fc3524a03f26dd4e8184dd65e2c6ae46127857a942235b688d8ffd33
data/.gitignore CHANGED
@@ -17,3 +17,4 @@
17
17
  /vendor/
18
18
  /coverage/
19
19
  /coverage.zip
20
+ /test/config/local.yml
@@ -6,20 +6,47 @@ AllCops:
6
6
  - 'local-mode-cache/**/*'
7
7
  - 'symboliser-vagrant/**/*'
8
8
 
9
+ Style/NumericLiterals:
10
+ MinDigits: 6
11
+
12
+ Style/DoubleNegation:
13
+ Enabled: false
14
+
15
+ Style/HashSyntax:
16
+ Enabled: false
17
+
18
+ Style/DateTime:
19
+ Enabled: false
20
+
21
+ Style/IfUnlessModifier:
22
+ Enabled: false
23
+
9
24
  Metrics/LineLength:
10
- Max: 100
25
+ Max: 120
11
26
 
12
27
  Metrics/MethodLength:
13
- Max: 12
14
-
15
- Style/NumericLiterals:
16
- MinDigits: 6
28
+ Max: 20
17
29
 
18
30
  Metrics/ClassLength:
19
- Max: 120
31
+ Max: 2000
20
32
 
21
33
  Metrics/BlockLength:
22
- Max: 1000
34
+ Max: 2000
35
+
36
+ Metrics/AbcSize:
37
+ Max: 20
38
+
39
+ Metrics/CyclomaticComplexity:
40
+ Max: 9
41
+
42
+ Metrics/PerceivedComplexity:
43
+ Max: 9
44
+
45
+ Metrics/ParameterLists:
46
+ Max: 9
23
47
 
24
48
  Naming/UncommunicativeMethodParamName:
25
49
  MinNameLength: 2
50
+
51
+ Naming/AccessorMethodName:
52
+ Enabled: false
@@ -1 +1 @@
1
- 2.2.1
1
+ 2.6.5
@@ -8,7 +8,7 @@ git:
8
8
  submodules: false
9
9
 
10
10
  before_install:
11
- - gem install bundler
11
+ - gem install bundler -v '< 2'
12
12
 
13
13
  script:
14
14
  - bundle exec rake test
data/README.md CHANGED
@@ -131,6 +131,10 @@ To shut down and destroy the VM completely, run `rake vagrant:destroy`
131
131
 
132
132
  Note that you need access to the Widgit CI server for this to work.
133
133
 
134
+ Alternatively, in the highly unlikely event that the Vagrant stuff doesn't work, you can run the tests against some
135
+ other running symboliser by copying `test/config/local.example.yml` to `test/config/local.yml` and editing `local.yml`
136
+ to include the particulars of your symboliser endpoint, database and WSDL.
137
+
134
138
  ## License
135
139
 
136
140
  This project is licensed under the Apache License 2.0.
@@ -2,8 +2,6 @@ require 'symgate/client'
2
2
  require 'symgate/error'
3
3
  require 'symgate/metadata/data_item'
4
4
 
5
- # rubocop:disable Naming/AccessorMethodName
6
-
7
5
  module Symgate
8
6
  module Metadata
9
7
  # client for the Symgate metadata system
@@ -70,5 +68,3 @@ module Symgate
70
68
  end
71
69
  end
72
70
  end
73
-
74
- # rubocop:enable Naming/AccessorMethodName
@@ -1,3 +1,3 @@
1
1
  module Symgate
2
- VERSION = '0.3.0'.freeze
2
+ VERSION = '0.4.0'.freeze
3
3
  end
@@ -37,8 +37,8 @@ module Symgate
37
37
  )
38
38
  rescue Symgate::Error => e
39
39
  # Handle SOS-105 (sometimes the wordlist is created but the symboliser claims it can't
40
- # find it and sends a SOAP error back) by extract the wordlist UUID from the error message.
41
- # Yes, this is not nice.
40
+ # find it and sends a SOAP error back) by extracting the wordlist UUID from the error
41
+ # message. Yes, this is not nice.
42
42
  match = /^No wordlist found for ID: ({[0-9a-f-]{36}})$/.match(e.detail)
43
43
 
44
44
  return get_wordlist_info(match[1]) if match
@@ -67,6 +67,28 @@ module Symgate
67
67
  )
68
68
  end
69
69
 
70
+ # Copies a wordlist with the specified UUID with optional parameters to specify the destination wordlist UUID, the
71
+ # context, name and readonlyness of the destination wordlist, source and destination group and/or user
72
+ def copy_wordlist(src_uuid, dest_uuid: nil, context: nil, name: nil, readonly: nil,
73
+ src_group: nil, src_user: nil, dest_group: nil, dest_user: nil)
74
+ response = savon_request(:copy_wordlist) do |soap|
75
+ params = { srcwordlistuuid: src_uuid }
76
+ params[:dstwordlistuuid] = dest_uuid unless dest_uuid.nil?
77
+ params[:context] = context unless context.nil?
78
+ params[:name] = name unless name.nil?
79
+ params[:readonly] = readonly unless readonly.nil?
80
+ params[:srcgroup] = src_group unless src_group.nil?
81
+ params[:srcusername] = src_user unless src_user.nil?
82
+ params[:dstgroup] = dest_group unless dest_group.nil?
83
+ params[:dstusername] = dest_user unless dest_user.nil?
84
+ soap.message(params)
85
+ end
86
+
87
+ Symgate::Wordlist::Info.from_soap(
88
+ response.body[:copy_wordlist_response][:wordlistinfo]
89
+ )
90
+ end
91
+
70
92
  # returns all wordlist entries for the wordlist specified by uuid.
71
93
  # accepts the following optional parameters:
72
94
  # attachments (boolean) - fetch custom graphics for the entries (default: false)
@@ -5,8 +5,9 @@ require 'symgate'
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'symgate'
7
7
  spec.version = Symgate::VERSION
8
- spec.authors = ['Simon Detheridge']
9
- spec.email = ['simon@widgit.com']
8
+ spec.authors = ['Simon Detheridge', 'Tim Down', 'Stu Wright']
9
+ spec.email = ['tim@widgit.com']
10
+ spec.license = 'Apache-2.0'
10
11
 
11
12
  spec.summary = "Wrapper around Widgit's Symgate SOAP symboliser"
12
13
  spec.homepage = 'https://github.com/symbols-worldwide/symgate-gem'
@@ -18,17 +19,17 @@ Gem::Specification.new do |spec|
18
19
  spec.require_paths = ['lib']
19
20
 
20
21
  spec.add_development_dependency 'bundler', '~> 1.9'
21
- spec.add_development_dependency 'codecov'
22
- spec.add_development_dependency 'mysql2', '~> 0.4.1'
23
- spec.add_development_dependency 'rack', '~> 1.6.4'
24
- spec.add_development_dependency 'rake', '~> 10.0'
25
- spec.add_development_dependency 'rspec', '~> 3.8.0'
26
- spec.add_development_dependency 'rspec_junit_formatter', '~> 0.2.3'
22
+ spec.add_development_dependency 'codecov', '~> 0.1.16'
23
+ spec.add_development_dependency 'mysql2', '~> 0.5.3'
24
+ spec.add_development_dependency 'rack', '~> 1.6.11'
25
+ spec.add_development_dependency 'rake', '~> 12.0'
26
+ spec.add_development_dependency 'rspec', '~> 3.9.0'
27
+ spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1'
27
28
  spec.add_development_dependency 'rubocop', '~> 0.57.0'
28
- spec.add_development_dependency 'rubocop-junit-formatter', '~> 0.1.3'
29
- spec.add_development_dependency 'simplecov', '~> 0.12.0'
30
- spec.add_development_dependency 'simplecov-teamcity-summary', '~> 0.1.2'
29
+ spec.add_development_dependency 'rubocop-junit-formatter', '~> 0.1.4'
30
+ spec.add_development_dependency 'simplecov', '~> 0.17.0'
31
+ spec.add_development_dependency 'simplecov-teamcity-summary', '~> 1.0.0'
31
32
 
32
- spec.add_dependency 'savon', '~> 2.11.0'
33
+ spec.add_dependency 'savon', '~> 2.12.0'
33
34
  spec.add_dependency 'tryit', '~> 0.0.1'
34
35
  end
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symgate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Detheridge
8
+ - Tim Down
9
+ - Stu Wright
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2019-07-17 00:00:00.000000000 Z
13
+ date: 2019-12-13 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: bundler
@@ -28,86 +30,86 @@ dependencies:
28
30
  name: codecov
29
31
  requirement: !ruby/object:Gem::Requirement
30
32
  requirements:
31
- - - ">="
33
+ - - "~>"
32
34
  - !ruby/object:Gem::Version
33
- version: '0'
35
+ version: 0.1.16
34
36
  type: :development
35
37
  prerelease: false
36
38
  version_requirements: !ruby/object:Gem::Requirement
37
39
  requirements:
38
- - - ">="
40
+ - - "~>"
39
41
  - !ruby/object:Gem::Version
40
- version: '0'
42
+ version: 0.1.16
41
43
  - !ruby/object:Gem::Dependency
42
44
  name: mysql2
43
45
  requirement: !ruby/object:Gem::Requirement
44
46
  requirements:
45
47
  - - "~>"
46
48
  - !ruby/object:Gem::Version
47
- version: 0.4.1
49
+ version: 0.5.3
48
50
  type: :development
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
54
  - - "~>"
53
55
  - !ruby/object:Gem::Version
54
- version: 0.4.1
56
+ version: 0.5.3
55
57
  - !ruby/object:Gem::Dependency
56
58
  name: rack
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
61
  - - "~>"
60
62
  - !ruby/object:Gem::Version
61
- version: 1.6.4
63
+ version: 1.6.11
62
64
  type: :development
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
68
  - - "~>"
67
69
  - !ruby/object:Gem::Version
68
- version: 1.6.4
70
+ version: 1.6.11
69
71
  - !ruby/object:Gem::Dependency
70
72
  name: rake
71
73
  requirement: !ruby/object:Gem::Requirement
72
74
  requirements:
73
75
  - - "~>"
74
76
  - !ruby/object:Gem::Version
75
- version: '10.0'
77
+ version: '12.0'
76
78
  type: :development
77
79
  prerelease: false
78
80
  version_requirements: !ruby/object:Gem::Requirement
79
81
  requirements:
80
82
  - - "~>"
81
83
  - !ruby/object:Gem::Version
82
- version: '10.0'
84
+ version: '12.0'
83
85
  - !ruby/object:Gem::Dependency
84
86
  name: rspec
85
87
  requirement: !ruby/object:Gem::Requirement
86
88
  requirements:
87
89
  - - "~>"
88
90
  - !ruby/object:Gem::Version
89
- version: 3.8.0
91
+ version: 3.9.0
90
92
  type: :development
91
93
  prerelease: false
92
94
  version_requirements: !ruby/object:Gem::Requirement
93
95
  requirements:
94
96
  - - "~>"
95
97
  - !ruby/object:Gem::Version
96
- version: 3.8.0
98
+ version: 3.9.0
97
99
  - !ruby/object:Gem::Dependency
98
100
  name: rspec_junit_formatter
99
101
  requirement: !ruby/object:Gem::Requirement
100
102
  requirements:
101
103
  - - "~>"
102
104
  - !ruby/object:Gem::Version
103
- version: 0.2.3
105
+ version: 0.4.1
104
106
  type: :development
105
107
  prerelease: false
106
108
  version_requirements: !ruby/object:Gem::Requirement
107
109
  requirements:
108
110
  - - "~>"
109
111
  - !ruby/object:Gem::Version
110
- version: 0.2.3
112
+ version: 0.4.1
111
113
  - !ruby/object:Gem::Dependency
112
114
  name: rubocop
113
115
  requirement: !ruby/object:Gem::Requirement
@@ -128,56 +130,56 @@ dependencies:
128
130
  requirements:
129
131
  - - "~>"
130
132
  - !ruby/object:Gem::Version
131
- version: 0.1.3
133
+ version: 0.1.4
132
134
  type: :development
133
135
  prerelease: false
134
136
  version_requirements: !ruby/object:Gem::Requirement
135
137
  requirements:
136
138
  - - "~>"
137
139
  - !ruby/object:Gem::Version
138
- version: 0.1.3
140
+ version: 0.1.4
139
141
  - !ruby/object:Gem::Dependency
140
142
  name: simplecov
141
143
  requirement: !ruby/object:Gem::Requirement
142
144
  requirements:
143
145
  - - "~>"
144
146
  - !ruby/object:Gem::Version
145
- version: 0.12.0
147
+ version: 0.17.0
146
148
  type: :development
147
149
  prerelease: false
148
150
  version_requirements: !ruby/object:Gem::Requirement
149
151
  requirements:
150
152
  - - "~>"
151
153
  - !ruby/object:Gem::Version
152
- version: 0.12.0
154
+ version: 0.17.0
153
155
  - !ruby/object:Gem::Dependency
154
156
  name: simplecov-teamcity-summary
155
157
  requirement: !ruby/object:Gem::Requirement
156
158
  requirements:
157
159
  - - "~>"
158
160
  - !ruby/object:Gem::Version
159
- version: 0.1.2
161
+ version: 1.0.0
160
162
  type: :development
161
163
  prerelease: false
162
164
  version_requirements: !ruby/object:Gem::Requirement
163
165
  requirements:
164
166
  - - "~>"
165
167
  - !ruby/object:Gem::Version
166
- version: 0.1.2
168
+ version: 1.0.0
167
169
  - !ruby/object:Gem::Dependency
168
170
  name: savon
169
171
  requirement: !ruby/object:Gem::Requirement
170
172
  requirements:
171
173
  - - "~>"
172
174
  - !ruby/object:Gem::Version
173
- version: 2.11.0
175
+ version: 2.12.0
174
176
  type: :runtime
175
177
  prerelease: false
176
178
  version_requirements: !ruby/object:Gem::Requirement
177
179
  requirements:
178
180
  - - "~>"
179
181
  - !ruby/object:Gem::Version
180
- version: 2.11.0
182
+ version: 2.12.0
181
183
  - !ruby/object:Gem::Dependency
182
184
  name: tryit
183
185
  requirement: !ruby/object:Gem::Requirement
@@ -194,7 +196,7 @@ dependencies:
194
196
  version: 0.0.1
195
197
  description:
196
198
  email:
197
- - simon@widgit.com
199
+ - tim@widgit.com
198
200
  executables: []
199
201
  extensions: []
200
202
  extra_rdoc_files: []
@@ -231,7 +233,8 @@ files:
231
233
  - lib/symgate/wordlist/info.rb
232
234
  - symgate-gem.gemspec
233
235
  homepage: https://github.com/symbols-worldwide/symgate-gem
234
- licenses: []
236
+ licenses:
237
+ - Apache-2.0
235
238
  metadata: {}
236
239
  post_install_message:
237
240
  rdoc_options: []
@@ -248,8 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
248
251
  - !ruby/object:Gem::Version
249
252
  version: '0'
250
253
  requirements: []
251
- rubyforge_project:
252
- rubygems_version: 2.7.8
254
+ rubygems_version: 3.0.3
253
255
  signing_key:
254
256
  specification_version: 4
255
257
  summary: Wrapper around Widgit's Symgate SOAP symboliser