libis-tools 1.0.4 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9e3d995478c23cf34462e49682a86e2268c059314a3f9b8f1a4d4cb7dca3cfa
4
- data.tar.gz: 20138f051ab8337d686aa2f7b226883ea535afc418765a80b19cd135c016b673
3
+ metadata.gz: 614880562757e58d8f1e86db7f507411a873c7920efcc3b932dd446b65eb7a70
4
+ data.tar.gz: c8aa877ea6b7fcc8daec5f2c1e49d5680afd857e900c6b8e6f5a309e884858e9
5
5
  SHA512:
6
- metadata.gz: d35c8c621b0e07a7817a5671a74f624ab7fc5a1d4a3f781c19f77fc03e61a411edafbb77666c3bab7607b59057a90d58e271cb927cd4156fcd77925ed755da4b
7
- data.tar.gz: 1381a075f84a335510b4acff0a6c8ffef7daf8a0efb84d0a30fc49d56dc0250191b6f51bb0fd8d6b75faacc08fc4783d56c5c6915c70c78663c3d2fbd591984e
6
+ metadata.gz: 8907c8cdb69831d8bfcf432d47d2abf06bb010e8aa6aac8a20e125cbfa1487df3a3b1db2fb3e4da7c77533f34b78377bfec929c4d3c5f5d79e747f11a54c0c8b
7
+ data.tar.gz: e7536a051acb0cfe862cca95799c1b9b8653f06cc550ffc30cde1a9c5a21a044bb4c5a4d9183a0099cd31b27f0615f8c4fb72e53f03b451c30ef0b3e83e7d124
@@ -1,36 +1,40 @@
1
+ dist: bionic
1
2
  language: ruby
2
3
  cache: bundler
3
4
  sudo: false
4
5
  rvm:
5
- - 2.1.10
6
- - 2.2.8
7
- - 2.3.5
8
- - 2.4.2
6
+ - 2.3
7
+ - 2.4
8
+ - 2.5
9
+ - 2.6
9
10
  - ruby-head
10
- - jruby-9.0.5.0
11
- - jruby-9.1.9.0
11
+ # - jruby-9.1
12
+ - jruby-9.2
12
13
  - jruby-head
13
14
  jdk:
14
- - openjdk8
15
- - oraclejdk8
15
+ - openjdk10
16
+ - openjdk11
16
17
  matrix:
17
18
  exclude:
18
- - rvm: 2.1.10
19
- jdk: oraclejdk8
20
- - rvm: 2.2.8
21
- jdk: oraclejdk8
22
- - rvm: 2.3.5
23
- jdk: oraclejdk8
24
- - rvm: 2.4.2
25
- jdk: oraclejdk8
19
+ - rvm: 2.3
20
+ jdk: openjdk10
21
+ - rvm: 2.4
22
+ jdk: openjdk10
23
+ - rvm: 2.5
24
+ jdk: openjdk10
25
+ - rvm: 2.6
26
+ jdk: openjdk10
26
27
  - rvm: ruby-head
27
- jdk: oraclejdk8
28
+ jdk: openjdk10
28
29
  allow_failures:
29
30
  - rvm: ruby-head
30
31
  - rvm: jruby-head
31
32
  branches:
32
33
  only:
33
34
  - master
35
+ #before_install:
36
+ # - gem update --system
37
+ # - gem --version
34
38
  addons:
35
39
  code_climate:
36
40
  repo_token: f6978964f55e6543befb82373651365f8195677816af6ff40ad70c82f7f22f09
@@ -60,7 +60,7 @@ module Libis
60
60
  # Merges other parameter data into the current parameter
61
61
  # @param [::Libis::Tools::Parameter] other parameter definition to copy properties from
62
62
  def merge!(other)
63
- other.each do |k,v|
63
+ other.each do |k, v|
64
64
  if k == :options
65
65
  self[:options].merge!(v)
66
66
  else
@@ -130,55 +130,59 @@ module Libis
130
130
  end
131
131
  true
132
132
  end
133
+
133
134
  private
134
135
 
135
136
  def guess_datatype
136
137
  self[:datatype] || case self[:default]
137
- when TrueClass, FalseClass
138
- 'bool'
139
- when NilClass
140
- 'string'
141
- when Integer
142
- 'int'
143
- when Float
144
- 'float'
145
- when DateTime, Date, Time
146
- 'datetime'
147
- when Array
148
- 'array'
149
- when Hash
150
- 'hash'
151
- else
152
- self[:default].class.name.downcase
138
+ when TrueClass, FalseClass
139
+ 'bool'
140
+ when NilClass
141
+ 'string'
142
+ when Integer
143
+ 'int'
144
+ when Float
145
+ 'float'
146
+ when DateTime, Date, Time
147
+ 'datetime'
148
+ when Array
149
+ 'array'
150
+ when Hash
151
+ 'hash'
152
+ else
153
+ self[:default].class.name.downcase
153
154
  end
154
155
  end
155
156
 
156
157
  def convert(v)
157
158
  case self[:datatype].to_s.downcase
158
- when 'boolean', 'bool'
159
- return true if TRUE_BOOL.include?(v.to_s.downcase)
160
- return false if FALSE_BOOL.include?(v.to_s.downcase)
161
- raise ParameterValidationError, "No boolean information in '#{v.to_s}'. " +
162
- "Valid values are: '#{TRUE_BOOL.join('\', \'')}" +
163
- "' and '#{FALSE_BOOL.join('\', \'')}'."
164
- when 'string', 'nil'
165
- return v.to_s
166
- when 'int'
167
- return Integer(v)
168
- when 'float'
169
- return Float(v)
170
- when 'datetime'
171
- return v.to_datetime if v.respond_to? :to_datetime
172
- return DateTime.parse(v)
173
- when 'array'
174
- return v if v.is_a?(Array)
175
- return v.split(/[,;|\s]+/) if v.is_a?(String)
176
- return v.to_a if v.respond_to?(:to_a)
177
- when 'hash'
178
- return v when v.is_a?(Hash)
179
- return Hash[(0...v.size).zip(v)] when v.is_a?(Array)
180
- else
181
- raise ParameterValidationError, "Datatype not supported: '#{self[:datatype]}'"
159
+ when 'boolean', 'bool'
160
+ return true if TRUE_BOOL.include?(v.to_s.downcase)
161
+ return false if FALSE_BOOL.include?(v.to_s.downcase)
162
+ raise ParameterValidationError, "No boolean information in '#{v.to_s}'. " +
163
+ "Valid values are: '#{TRUE_BOOL.join('\', \'')}" +
164
+ "' and '#{FALSE_BOOL.join('\', \'')}'."
165
+ when 'string', 'nil'
166
+ return v.to_s
167
+ when 'int', 'integer'
168
+ return Integer(v)
169
+ when 'float'
170
+ return Float(v)
171
+ when 'datetime'
172
+ return v.to_datetime if v.respond_to? :to_datetime
173
+ return DateTime.parse(v)
174
+ when 'array'
175
+ return v if v.is_a?(Array)
176
+ return v.split(/[,;|\s]+/) if v.is_a?(String)
177
+ # Alternatavely:
178
+ # return JSON.parse(v) if v.is_a?(String)
179
+ return v.to_a if v.respond_to?(:to_a)
180
+ when 'hash'
181
+ return v if v.is_a?(Hash)
182
+ return Hash[(0...v.size).zip(v)] if v.is_a?(Array)
183
+ return JSON.parse(v) if v.is_a?(String)
184
+ else
185
+ raise ParameterValidationError, "Datatype not supported: '#{self[:datatype]}'"
182
186
  end
183
187
  nil
184
188
  end
@@ -194,17 +198,17 @@ module Libis
194
198
  def constraint_checker(v, constraint)
195
199
 
196
200
  case constraint
197
- when Array
198
- constraint.each do |c|
199
- return true if (constraint_checker(v, c) rescue false)
200
- end
201
- return true if constraint.include? v
202
- when Range
203
- return true if constraint.cover? v
204
- when Regexp
205
- return true if v =~ constraint
206
- else
207
- return true if v == constraint
201
+ when Array
202
+ constraint.each do |c|
203
+ return true if (constraint_checker(v, c) rescue false)
204
+ end
205
+ return true if constraint.include? v
206
+ when Range
207
+ return true if constraint.cover? v
208
+ when Regexp
209
+ return true if v =~ constraint
210
+ else
211
+ return true if v == constraint
208
212
  end
209
213
  false
210
214
  end
@@ -245,16 +249,16 @@ module Libis
245
249
  # @return [Hash] with parameter names as keys and {Parameter} instance as value.
246
250
  def parameter_defs
247
251
  return @parameters if @parameters
248
- @parameters = ::Concurrent::Hash.new
249
- begin
250
- self.superclass.parameter_defs.
251
- each_with_object(@parameters) do |(name, param), hash|
252
- hash[name] = param.dup
253
- end
254
- rescue NoMethodError
255
- # ignored
252
+ @parameters = ::Concurrent::Hash.new
253
+ begin
254
+ self.superclass.parameter_defs.
255
+ each_with_object(@parameters) do |(name, param), hash|
256
+ hash[name] = param.dup
256
257
  end
257
- @parameters
258
+ rescue NoMethodError
259
+ # ignored
260
+ end
261
+ @parameters
258
262
  end
259
263
 
260
264
  # DSL method that allows creating parameter definitions on the class level.
@@ -1,5 +1,5 @@
1
1
  module Libis
2
2
  module Tools
3
- VERSION = '1.0.4'
3
+ VERSION = '1.0.6'
4
4
  end
5
5
  end
@@ -19,7 +19,9 @@ describe 'Command' do
19
19
 
20
20
  result = Libis::Tools::Command.run('ls')
21
21
 
22
- expect(result[:out].sort).to match entries
22
+ output = result[:out].map {|x| x.split(/\s+/)}.flatten.compact
23
+ expect(output.size).to eq entries.size
24
+ expect(output.sort).to match entries
23
25
  expect(result[:err]).to eq []
24
26
  expect(result[:status]).to eq 0
25
27
 
@@ -30,6 +32,7 @@ describe 'Command' do
30
32
  result = Libis::Tools::Command.run('ls', '-1')
31
33
 
32
34
  output = result[:out]
35
+ puts output.sort
33
36
  expect(output.size).to eq entries.size
34
37
  expect(output.sort).to match entries
35
38
  expect(result[:err]).to eq []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libis-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kris Dekeyser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-29 00:00:00.000000000 Z
11
+ date: 2020-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -400,7 +400,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
400
400
  - !ruby/object:Gem::Version
401
401
  version: '0'
402
402
  requirements: []
403
- rubygems_version: 3.0.3
403
+ rubyforge_project:
404
+ rubygems_version: 2.7.8
404
405
  signing_key:
405
406
  specification_version: 4
406
407
  summary: LIBIS toolbox.