dcidev_utility 0.0.3 → 0.0.5

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -0
  3. data/lib/dcidev_utility.rb +35 -16
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8ef8378b3cc94f67a6c851dcce7431c8cc9c7ed4e1b6ce077cdf7d7bbae1cd9
4
- data.tar.gz: 855af2e954c9504b65f2d7a1f516b1b452633ae3123e184dd556275dcf12c363
3
+ metadata.gz: '095a6cdee9fb7558cd1beac901c1e2a642f1cf005476d1acf0c9812785c3f11a'
4
+ data.tar.gz: 6b2c77e34252fadf974543f6b2b5410e916089a77f8ab45ba19b5139d0f705e7
5
5
  SHA512:
6
- metadata.gz: 5e2f1bdcd5dad2ac4d6f2835f134dc8b03112d315fc90a5b7b4c32aea56252d1479905527440182f20ebc3af4ba62272d363983f529f8c070e7f1d96dd9303c1
7
- data.tar.gz: 4fddfaa404cad9b09183320a2cca0d0ceef2a2c0b75659693da834cf10db7fb3f5d854bab2b7fe0e6e793e1352e720afd3b645d87832c9ce5489e10fe3650872
6
+ metadata.gz: d7e3f0669cf57e6c4cda4bad185516d9c992e79d3a217b5397309ccb8f7c572635aefeafe4a5748ce0f9f3e2783e39f03b703174c0b338f133911dd773c12b91
7
+ data.tar.gz: e187a91b8d3e9d5909b3f947e10d5db7eaa22795c8172abb7ec09222b571d220dd6c2c4d7446dd6780d2c06304cd395ee3fab1516424c396a7bb766890dcf525
data/README.md CHANGED
@@ -49,4 +49,14 @@ DcidevUtility.base64_extension(base64)
49
49
  DcidevUtility.string_masking(string, length = 9)
50
50
 
51
51
  DcidevUtility.response_simplifier(response)
52
+
53
+ # takeout base64 string from json hash
54
+ DcidevUtility.json_simplifier(json)
55
+
56
+ # get difference in seconds
57
+ DcidevUtility.seconds_diff(start, finish)
58
+
59
+ # get difference in years
60
+ DcidevUtility.years_between(date_from, date_to)
61
+
52
62
  ```
@@ -17,18 +17,14 @@ module DcidevUtility
17
17
  end
18
18
 
19
19
  def download_to_file(url)
20
- begin
21
- uri = URI::parse(url)
22
- extension = File.extname(uri.path)
23
- stream = URI::open(url, "rb")
24
- Tempfile.new([File.basename(uri.path), extension]).tap do |file|
25
- file.binmode
26
- IO.copy_stream(stream, file)
27
- stream.close
28
- file.rewind
29
- end
30
- rescue => e
31
- return nil
20
+ uri = URI::parse(url)
21
+ extension = File.extname(uri.path)
22
+ stream = URI::open(url, "rb")
23
+ Tempfile.new([File.basename(uri.path), extension]).tap do |file|
24
+ file.binmode
25
+ IO.copy_stream(stream, file)
26
+ stream.close
27
+ file.rewind
32
28
  end
33
29
  end
34
30
 
@@ -166,14 +162,29 @@ module DcidevUtility
166
162
  base64.split(";").first.split(":").last
167
163
  end
168
164
 
169
- def string_masking(string, length = 9)
165
+ def string_masking(string, length = 9, replace_charcter: 'x')
166
+ return "" if string.nil?
167
+ return string.sub(string[0...length], replace_charcter * length)
168
+ end
169
+
170
+ def random_string_masking(string, length = 0, replace_character: '*')
170
171
  return "" if string.nil?
171
- return string.sub(string[0...length], 'x' * length)
172
+ length.clamp(0, string.length).times do
173
+ random_pos = nil
174
+ loop do
175
+ random_pos = rand(0...string.length)
176
+ if string[random_pos] != replace_character
177
+ break
178
+ end
179
+ end
180
+ string[random_pos] = replace_character
181
+ end
182
+ return string
172
183
  end
173
184
 
174
185
  def response_simplifier(response)
175
186
  if response.class == String
176
- return JSON.parse response
187
+ return response_simplifier(JSON.parse(response))
177
188
  end
178
189
  return response if response.class == Hash
179
190
  return response if response.nil?
@@ -194,7 +205,7 @@ module DcidevUtility
194
205
  }.to_json
195
206
  end
196
207
 
197
- simple_response
208
+ json_simplifier(simple_response)
198
209
  end
199
210
 
200
211
  def email_valid?(email)
@@ -225,5 +236,13 @@ module DcidevUtility
225
236
  end
226
237
  return simplified
227
238
  end
239
+
240
+ def seconds_diff(start, finish)
241
+ (start - finish).seconds.round
242
+ end
243
+
244
+ def years_between(date_from, date_to)
245
+ (date_from.year - date_to.year).abs
246
+ end
228
247
  end
229
248
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dcidev_utility
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Punto Damar P
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-13 00:00:00.000000000 Z
11
+ date: 2022-09-22 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Testing phase
14
14
  email:
@@ -37,7 +37,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
37
37
  - !ruby/object:Gem::Version
38
38
  version: '0'
39
39
  requirements: []
40
- rubygems_version: 3.1.2
40
+ rubygems_version: 3.0.3.1
41
41
  signing_key:
42
42
  specification_version: 4
43
43
  summary: Commonly used methods used in DCI