w-stdlib 0.0.10 → 0.0.13

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: 1be9c5b12a7d325c4714974c0a227b09aa561666e0c3b0cd8d07e1babb683686
4
- data.tar.gz: 839f8736548006f150fe24181efac6e3e88e606c1e686a659045c08f492737dc
3
+ metadata.gz: 4c01012e9f0cd07f8a5e0b1ef8be0bc340a21cb796fb5e2aabffed48a29b108a
4
+ data.tar.gz: 5d838107d40c9a106f07161ca6ea9f2f115c9f458cb14e7ea5c85c1ebb5bbe06
5
5
  SHA512:
6
- metadata.gz: aae578dff551dba2619b53c753da67d8e56cf9987a08e474d9eca3155f61debf8a54843227880783944e771bb7bca710f4a40f0dcafcc608c8b2231b12087bea
7
- data.tar.gz: 9cbefb46f31a222904ecc7cf968330bb0933bf0755bc5ddeefff4e299b34c318554cad26f39e8d2ea001cfb7dc0396486a44d9d50277729c7892600b9dd858cd
6
+ metadata.gz: a8f3e5b0f5a4c40b46483ec8393c71b666bdffde94beffac96035b7ed57756f442cb9c4c907dacc67feac2f9be7fe536b37a8c0d55e2c8930fb5315e8f5bb2a5
7
+ data.tar.gz: 3ad654bef43e5b301ff2777bbe5862c0cd049842eaa3ae16724e61f7ed8470002d7b74adffa9be99794fc21a41118034bfde42dfc25d3b0dad8cf4c8acf6dac7
@@ -9,6 +9,14 @@ module StringExt
9
9
  YAML.safe_load(self)
10
10
  end
11
11
 
12
+ def yaml_encode
13
+ to_yaml
14
+ end
15
+
16
+ def yaml_decode
17
+ from_yaml
18
+ end
19
+
12
20
  def from_json
13
21
  JSON.parse self
14
22
  end
@@ -25,6 +33,22 @@ module StringExt
25
33
  Base64.decode64 self
26
34
  end
27
35
 
36
+ def b64_encode
37
+ to_b64
38
+ end
39
+
40
+ def b64_decode
41
+ from_b64
42
+ end
43
+
44
+ def json_encode
45
+ to_json
46
+ end
47
+
48
+ def json_decode
49
+ from_json
50
+ end
51
+
28
52
  def url_encode
29
53
  CGI.escape self
30
54
  end
@@ -105,6 +129,14 @@ module StringExt
105
129
  downcase.include? s.downcase
106
130
  end
107
131
 
132
+ def contains?(s)
133
+ include?(s)
134
+ end
135
+
136
+ def icontains?(s)
137
+ include_ignore_case?(s)
138
+ end
139
+
108
140
  def is_numeric?
109
141
  Float(self)
110
142
  true
@@ -1,3 +1,9 @@
1
+ require 'http'
2
+ require 'json'
3
+ require_relative 'core_ext/string'
4
+
5
+ using StringExt
6
+
1
7
  def fatal(msg, code=1, pref='[!] ')
2
8
  STDERR.puts pref + msg
3
9
  exit code
@@ -15,6 +21,35 @@ def json_file(name)
15
21
  JSON.parse File.read(name)
16
22
  end
17
23
 
24
+ def read_json(path)
25
+ json_file(path)
26
+ end
27
+
28
+ def write_json(path, o, pretty=false)
29
+ json = pretty ? JSON.pretty_generate(o) : o.to_json
30
+ File.write(path, json)
31
+ end
32
+
33
+ def get_json(url)
34
+ HTTP.get(url).to_s.from_json
35
+ end
36
+
37
+ def read_lines(path)
38
+ File.readlines(path).map(&:strip).reject(&:empty?)
39
+ end
40
+
41
+ def stdin_lines
42
+ $stdin.lines.map(&:strip).reject(&:empty?)
43
+ end
44
+
45
+ def stdin_json
46
+ $stdin.read.from_json
47
+ end
48
+
49
+ def write_lines(path, lines)
50
+ File.write(path, lines.join("\n"))
51
+ end
52
+
18
53
  def home_join(*paths)
19
54
  home = ENV['HOME']
20
55
  if paths.empty?
data/w-stdlib.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |g|
2
2
  g.name = 'w-stdlib'
3
- g.version = '0.0.10'
3
+ g.version = '0.0.13'
4
4
  g.summary = 'Pre-alpha package that contains abstractions that I find useful when scripting. Not suitable for production use. Breaking changes highly likely even with minor version bumps. Use at your own risk'
5
5
  g.description = g.summary
6
6
  g.authors = ['will@btlr.dev']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: w-stdlib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - will@btlr.dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-20 00:00:00.000000000 Z
11
+ date: 2022-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel