helpema 3.1.210909 → 3.2.210924
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 +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
         
     |