helpema 3.1.210909 → 3.2.210924
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +40 -13
- data/lib/helpema/ffmpeg.rb +23 -0
- data/lib/helpema/youtubedl.rb +11 -0
- data/lib/helpema.rb +2 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 958027b0a2546243bae724c0a543197d7632385c0f9049d8e59ed53349b18f4d
|
4
|
+
data.tar.gz: d57d402890e736b580fc052c66308df90a6e29202d467cd4e26714ad11b64331
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd576603c81835d9610eac6d15487d25d82491eec8de717fcfbe6a16c51c865968d8ac259dddc45e02f2148f7653c6fa5b9ed5be55eb05c878b184df3bc5cdec
|
7
|
+
data.tar.gz: 65f36c77c56ded75225ecd35fe6f6f4bb3581aeff1c3ce1de855f423e65de78e3e69d1131a63e7b18760b1224f27eda14a33c0a41e40e55bef67d8c0cb89b488
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Helpema
|
2
2
|
|
3
|
-
* [VERSION 3.
|
3
|
+
* [VERSION 3.2.210924](https://github.com/carlosjhr64/helpema/releases)
|
4
4
|
* [github](https://github.com/carlosjhr64/helpema)
|
5
5
|
* [rubygems](https://rubygems.org/gems/helpema)
|
6
6
|
|
@@ -18,6 +18,7 @@ $ gem install helpema
|
|
18
18
|
|
19
19
|
## SYNOPSIS:
|
20
20
|
|
21
|
+
### requires
|
21
22
|
```ruby
|
22
23
|
require 'helpema'
|
23
24
|
include Helpema
|
@@ -34,23 +35,31 @@ helpema ~>3.1
|
|
34
35
|
base_convert ~>4.0
|
35
36
|
entropia ~>0.1'
|
36
37
|
#=> ["base_convert", "entropia"]
|
37
|
-
|
38
|
+
```
|
39
|
+
### String#satisfies?
|
40
|
+
```ruby
|
38
41
|
### String#satisfies? ###
|
39
42
|
# Uses Gem::Requirement and Gem::Version to check version strings.
|
40
43
|
'1.2.3'.satisfies? '~>1.1' #=> true
|
41
44
|
'1.2.3'.satisfies? '~>1.3' #=> false
|
42
|
-
|
45
|
+
```
|
46
|
+
### run_command
|
47
|
+
```ruby
|
43
48
|
### run_command ###
|
44
49
|
# Automates pipe creation to a system command.
|
45
50
|
# See the code for all available features.
|
46
51
|
run_command('date',{d: 'Dec 31, 2020'}) #=> "Thu Dec 31 12:00:00 AM PST 2020\n"
|
47
|
-
|
52
|
+
```
|
53
|
+
### define_command
|
54
|
+
```ruby
|
48
55
|
### define_command ###
|
49
56
|
# Creates a method out of a system command.
|
50
57
|
# See the code for all available features.
|
51
58
|
define_command(:date, cmd: 'date', usage: {d: nil}, synonyms: {string: :d})
|
52
59
|
date(string: 'Dec 31, 2020') #=> "Thu Dec 31 12:00:00 AM PST 2020\n"
|
53
|
-
|
60
|
+
```
|
61
|
+
### to_arg
|
62
|
+
```ruby
|
54
63
|
### to_arg ###
|
55
64
|
# A helper function to do system command calls.
|
56
65
|
to_arg :q, true #=> "-q"
|
@@ -59,7 +68,9 @@ to_arg :verbose, false #=> nil
|
|
59
68
|
to_arg :f, '/path-to/file' #=> ["-f", "/path-to/file"]
|
60
69
|
to_arg :geo=, '10x20' #=> "--geo=10x20"
|
61
70
|
to_arg :arg0, 'Hello World' #=> "Hello World"
|
62
|
-
|
71
|
+
```
|
72
|
+
### Hash#to_args
|
73
|
+
```ruby
|
63
74
|
### Hash#to_args ###
|
64
75
|
{ q: true,
|
65
76
|
quiet: true,
|
@@ -68,23 +79,31 @@ to_arg :arg0, 'Hello World' #=> "Hello World"
|
|
68
79
|
:geo= => '10x20',
|
69
80
|
arg0: 'Hello World' }.to_args
|
70
81
|
#=> ["-q", "--quiet", "-f", "/path-to/file", "--geo=10x20", "Hello World"]
|
71
|
-
|
82
|
+
```
|
83
|
+
### Array#classify
|
84
|
+
```ruby
|
72
85
|
### Array#classify ###
|
73
86
|
# Groups items in Array by class.
|
74
87
|
[1, 2.0, :Three, 'Four', /Five/, :Six, 'Seven'].classify
|
75
88
|
#=> {Integer=>[1], Float=>[2.0], Symbol=>[:Three, :Six], String=>["Four", "Seven"], Regexp=>[/Five/]}
|
76
|
-
|
89
|
+
```
|
90
|
+
### SSSS.split
|
91
|
+
```ruby
|
77
92
|
### SSSS.split ####
|
78
93
|
SSSS.split(secret: "Top Secret!", threshold: 2, shares: 3)
|
79
94
|
#~> ^\["1-\h+", "2-\h+", "3-\h+"\]$
|
80
95
|
# Note that the split has random outputs on the same inputs.
|
81
|
-
|
96
|
+
```
|
97
|
+
### SSS.combine
|
98
|
+
```ruby
|
82
99
|
#### SSSS.combine ###
|
83
100
|
# Pregenerated splits combine to reproduce the secret.
|
84
101
|
SSSS.combine(secrets: ["3-055562917c41e68c6ab2c8", "1-27bf3cbfe8d2c25c7e8928"],
|
85
102
|
threshold: 2)
|
86
103
|
#=> "Top Secret!"
|
87
|
-
|
104
|
+
```
|
105
|
+
### YouTubeDL.json
|
106
|
+
```ruby
|
88
107
|
### YouTubeDL.json ###
|
89
108
|
list = []
|
90
109
|
url = 'https://www.youtube.com/watch?v=u4oK3ZSccZI'
|
@@ -93,16 +112,24 @@ YouTubeDL.json(url){|json| list.push json}
|
|
93
112
|
list.length #=> 1
|
94
113
|
json = list[0]
|
95
114
|
json['title'] #=> "Fortnite Easy Last Ten"
|
96
|
-
|
115
|
+
```
|
116
|
+
### YouTubeDL.mp3(url, output: '%(id)s.%(ext)s')
|
117
|
+
### FFMPEG.hash(filename, digest: 'sha160')
|
118
|
+
### ZBar.screen
|
119
|
+
```ruby
|
97
120
|
### ZBar.screen ###
|
98
121
|
# Reads qrcodes on screen.
|
99
122
|
string_or_nil = ZBar.screen
|
100
|
-
|
123
|
+
```
|
124
|
+
### ZBar.cam
|
125
|
+
```ruby
|
101
126
|
### ZBar.cam ###
|
102
127
|
# Reads qrcodes from camera.
|
103
128
|
# You may want to wrap this one in a Timeout block.
|
104
129
|
# string = ZBar.cam
|
105
|
-
|
130
|
+
```
|
131
|
+
### GPG.encrypt and GPG.decrypt
|
132
|
+
```ruby
|
106
133
|
### GPG Symmetric ###
|
107
134
|
## String to String
|
108
135
|
encrypted = GPG.encrypt(passphrase: '<Secret>', string: '<Plain Text>')
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Helpema
|
2
|
+
module FFMPEG
|
3
|
+
extend Helpema
|
4
|
+
|
5
|
+
FFMPEG.define_command(:_hash,
|
6
|
+
cmd: 'ffmpeg',
|
7
|
+
usage: {arg0: '-i',
|
8
|
+
arg1: nil,
|
9
|
+
arg2: '-f',
|
10
|
+
arg3: 'hash',
|
11
|
+
arg4: '-hash',
|
12
|
+
arg5: nil,
|
13
|
+
arg6: '-'},
|
14
|
+
synonyms: {filename: :arg1, digest: :arg5},
|
15
|
+
exception: 'ffmpeg failed',
|
16
|
+
err: '/dev/null')
|
17
|
+
def hash(filename, digest:'sha160')
|
18
|
+
FFMPEG._hash(filename:filename, digest:digest).strip.split('=').last
|
19
|
+
end
|
20
|
+
|
21
|
+
extend self
|
22
|
+
end
|
23
|
+
end
|
data/lib/helpema/youtubedl.rb
CHANGED
@@ -21,6 +21,17 @@ module Helpema
|
|
21
21
|
end
|
22
22
|
def json(url, &blk) = YouTubeDL._json(url:url, &blk)
|
23
23
|
|
24
|
+
YouTubeDL.define_command(:_mp3,
|
25
|
+
cmd: 'youtube-dl', version: YouTubeDL.version,
|
26
|
+
usage: { output: nil,
|
27
|
+
'extract-audio': true,
|
28
|
+
'audio-format': true,
|
29
|
+
arg0: 'mp3',
|
30
|
+
arg1: nil },
|
31
|
+
synonyms: {url: :arg1},
|
32
|
+
err: '/dev/null')
|
33
|
+
def mp3(url, output:'%(id)s.%(ext)s') = YouTubeDL._mp3(url:url, output:output)
|
34
|
+
|
24
35
|
extend self
|
25
36
|
end
|
26
37
|
end
|
data/lib/helpema.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Helpema
|
2
|
-
VERSION = '3.
|
2
|
+
VERSION = '3.2.210924'
|
3
3
|
|
4
4
|
require_relative 'helpema/helpema'
|
5
5
|
|
@@ -7,6 +7,7 @@ module Helpema
|
|
7
7
|
autoload :YouTubeDL, 'helpema/youtubedl.rb'
|
8
8
|
autoload :ZBar, 'helpema/zbar.rb'
|
9
9
|
autoload :GPG, 'helpema/gpg.rb'
|
10
|
+
autoload :FFMPEG, 'helpema/ffmpeg.rb'
|
10
11
|
end
|
11
12
|
|
12
13
|
# Requires:
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: helpema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.210924
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- CarlosJHR64
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
Meant to be an eclectic collection of useful single functions and wrappers.
|
@@ -21,6 +21,7 @@ extra_rdoc_files: []
|
|
21
21
|
files:
|
22
22
|
- README.md
|
23
23
|
- lib/helpema.rb
|
24
|
+
- lib/helpema/ffmpeg.rb
|
24
25
|
- lib/helpema/gpg.rb
|
25
26
|
- lib/helpema/helpema.rb
|
26
27
|
- lib/helpema/ssss.rb
|