matrext 0.3.1 → 0.4.0
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/bin/matrext +5 -8
- data/lib/matrext/core.rb +23 -12
- data/lib/matrext/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 078a0a8cbfba733797cb50ef473923e9981c5ee5
         | 
| 4 | 
            +
              data.tar.gz: 998deed2609ee897e7cad13641348dcb2054c86b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 4d3e8e9819ddf6f95995f12839b4b9379f7321bf54f1cb17d78cb4aba03209ca3c395339d6073b2cfe10dbef908bad4ccc58133410a728b5466a04be6db037bd
         | 
| 7 | 
            +
              data.tar.gz: 59b357e61dda2d16dc16ea7620eb516e81ba8ce1dea497856ea9f3a6dd4662f07559885aad914801232193a63e2e270651fecd0b53513fecfe888d879e1c4115
         | 
    
        data/bin/matrext
    CHANGED
    
    | @@ -1,21 +1,18 @@ | |
| 1 1 | 
             
            #!/usr/bin/env ruby
         | 
| 2 2 |  | 
| 3 3 | 
             
            require 'optparse'
         | 
| 4 | 
            +
             | 
| 4 5 | 
             
            require_relative '../lib/matrext'
         | 
| 5 6 | 
             
            require_relative '../lib/matrext/version'
         | 
| 6 7 |  | 
| 7 8 | 
             
            def parse_options
         | 
| 8 | 
            -
              options = {: | 
| 9 | 
            +
              options = {:oneline => false, :speed => nil}
         | 
| 9 10 |  | 
| 10 11 | 
             
              optparse = OptionParser.new do |opts|
         | 
| 11 | 
            -
                opts.banner = 'usage: matrext "phrase" [- | 
| 12 | 
            +
                opts.banner = 'usage: matrext "phrase" [-o] [-s insane|fast|slow]'
         | 
| 12 13 |  | 
| 13 | 
            -
                opts.on('- | 
| 14 | 
            -
                  options[:speed] =  | 
| 15 | 
            -
                end
         | 
| 16 | 
            -
                
         | 
| 17 | 
            -
                opts.on('-s', 'Do it slowly') do
         | 
| 18 | 
            -
                  options[:speed] = "slow"
         | 
| 14 | 
            +
                opts.on('-s', '--speed SPEED', 'Speed at which the text decodes') do |speed|
         | 
| 15 | 
            +
                  options[:speed] = speed
         | 
| 19 16 | 
             
                end
         | 
| 20 17 |  | 
| 21 18 | 
             
                opts.on('-o', '--oneline', 'Display text on one line, along with anything before or after') do
         | 
    
        data/lib/matrext/core.rb
    CHANGED
    
    | @@ -1,27 +1,38 @@ | |
| 1 1 | 
             
            # lib/matrext/core.rb
         | 
| 2 2 | 
             
            # The core processing unit
         | 
| 3 3 |  | 
| 4 | 
            +
            require 'pry'
         | 
| 5 | 
            +
             | 
| 4 6 | 
             
            module Matrext
         | 
| 5 7 | 
             
              CHAR_POOL = (33..126).map{ |i| i.chr }
         | 
| 6 | 
            -
              NOISE_MIN_DEFAULT =  | 
| 7 | 
            -
              NOISE_MAX_DEFAULT =  | 
| 8 | 
            -
              DELAY_MIN_DEFAULT = 0. | 
| 9 | 
            -
              DELAY_MAX_DEFAULT = 0. | 
| 8 | 
            +
              NOISE_MIN_DEFAULT = 4
         | 
| 9 | 
            +
              NOISE_MAX_DEFAULT = 6
         | 
| 10 | 
            +
              DELAY_MIN_DEFAULT = 0.009
         | 
| 11 | 
            +
              DELAY_MAX_DEFAULT = 0.012
         | 
| 10 12 |  | 
| 11 13 | 
             
              def self.process(options)
         | 
| 12 14 | 
             
                letters = options[:phrase]
         | 
| 13 15 |  | 
| 14 | 
            -
                 | 
| 15 | 
            -
             | 
| 16 | 
            +
                unless options[:speed].nil?
         | 
| 17 | 
            +
                  speed = options[:speed].to_sym
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                case speed
         | 
| 21 | 
            +
                when :insane
         | 
| 22 | 
            +
                  noise_min = 1
         | 
| 23 | 
            +
                  noise_max = 2
         | 
| 24 | 
            +
                  delay_min = 0.0005
         | 
| 25 | 
            +
                  delay_max = 0.0015
         | 
| 26 | 
            +
                when :fast
         | 
| 16 27 | 
             
                  noise_min = 2
         | 
| 17 | 
            -
                  noise_max =  | 
| 18 | 
            -
                  delay_min = 0. | 
| 19 | 
            -
                  delay_max = 0. | 
| 20 | 
            -
                when  | 
| 28 | 
            +
                  noise_max = 4
         | 
| 29 | 
            +
                  delay_min = 0.003
         | 
| 30 | 
            +
                  delay_max = 0.005
         | 
| 31 | 
            +
                when :slow
         | 
| 21 32 | 
             
                  noise_min = 5
         | 
| 22 33 | 
             
                  noise_max = 7
         | 
| 23 | 
            -
                  delay_min = 0. | 
| 24 | 
            -
                  delay_max = 0. | 
| 34 | 
            +
                  delay_min = 0.03
         | 
| 35 | 
            +
                  delay_max = 0.05
         | 
| 25 36 | 
             
                else
         | 
| 26 37 | 
             
                  noise_min = NOISE_MIN_DEFAULT
         | 
| 27 38 | 
             
                  noise_max = NOISE_MIN_DEFAULT
         | 
    
        data/lib/matrext/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: matrext
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Michael Chadwick
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015-05- | 
| 11 | 
            +
            date: 2015-05-19 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |