cliutils 1.2.7 → 1.2.8
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/HISTORY.md +7 -2
 - data/README.md +12 -13
 - data/lib/cliutils/constants.rb +1 -1
 - data/lib/cliutils/{messenging.rb → messaging.rb} +1 -1
 - data/lib/cliutils/prefs/pref.rb +2 -2
 - data/lib/cliutils/prefs.rb +1 -1
 - data/lib/cliutils/pretty_io.rb +2 -2
 - data/lib/cliutils.rb +1 -1
 - data/test/messenging_test.rb +3 -3
 - 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: eb6abdf9f2796a668951e2178193ebfa1110b5bf
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6216f1699daa43bbd541d5c27037278000455b16
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 4283a18fa302cd1c59aee7d376da17930555b5362f46fda1fe6cb8853ea62ac417e129afc0ef97776c35cc1073678b37e7f88e862d4c05c74770015a8722d62b
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 807478504596067deb636925a4d04a335abac239f775edd4079ac27efe784dd604412d94b24d564ae28190d35a6ba7b1cb8bf1e856fcc4ac86b43e0225d5e228
         
     | 
    
        data/HISTORY.md
    CHANGED
    
    | 
         @@ -1,3 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # 1.2.8 (2014-04-08)
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * Global name changes
         
     | 
| 
      
 4 
     | 
    
         
            +
            * Some cleanup
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       1 
6 
     | 
    
         
             
            # 1.2.7 (2014-04-08)
         
     | 
| 
       2 
7 
     | 
    
         | 
| 
       3 
8 
     | 
    
         
             
            * Added more Behaviors
         
     | 
| 
         @@ -46,7 +51,7 @@ 
     | 
|
| 
       46 
51 
     | 
    
         | 
| 
       47 
52 
     | 
    
         
             
            # 1.0.7 (2014-03-30)
         
     | 
| 
       48 
53 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
            * Modified  
     | 
| 
      
 54 
     | 
    
         
            +
            * Modified Messaging targets to be a Hash for easier lookup/deletion
         
     | 
| 
       50 
55 
     | 
    
         | 
| 
       51 
56 
     | 
    
         
             
            # 1.0.6 (2014-03-30)
         
     | 
| 
       52 
57 
     | 
    
         | 
| 
         @@ -55,7 +60,7 @@ 
     | 
|
| 
       55 
60 
     | 
    
         
             
            # 1.0.5 (2014-03-30)
         
     | 
| 
       56 
61 
     | 
    
         | 
| 
       57 
62 
     | 
    
         
             
            * Fixed a bug with Configuration singleton
         
     | 
| 
       58 
     | 
    
         
            -
            * Fixed a bug with  
     | 
| 
      
 63 
     | 
    
         
            +
            * Fixed a bug with Messaging singleton
         
     | 
| 
       59 
64 
     | 
    
         | 
| 
       60 
65 
     | 
    
         
             
            # 1.0.4 (2014-03-29)
         
     | 
| 
       61 
66 
     | 
    
         | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -54,19 +54,19 @@ Note that although this README.md is extensive, it may not cover all methods. Ch 
     | 
|
| 
       54 
54 
     | 
    
         
             
            CLIUtils offers:
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
            * [PrettyIO](#prettyio): nicer-looking CLI messages
         
     | 
| 
       57 
     | 
    
         
            -
            * [ 
     | 
| 
      
 57 
     | 
    
         
            +
            * [Messaging](#messaging): a system to display nicely-formatted messages to one or more tagets
         
     | 
| 
       58 
58 
     | 
    
         
             
            * [Configuration](#configuration): a app configuration manager
         
     | 
| 
       59 
59 
     | 
    
         
             
            * [Prefs](#prefs): a preferences prompter and manager
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
61 
     | 
    
         
             
            ## PrettyIO
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
       63 
     | 
    
         
            -
            First stop on our journey is better client IO 
     | 
| 
      
 63 
     | 
    
         
            +
            First stop on our journey is better client IO via `PrettyIO`. To activate, simply mix into your project:
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
       65 
65 
     | 
    
         
             
            ```ruby
         
     | 
| 
       66 
66 
     | 
    
         
             
            include CLIUtils::PrettyIO
         
     | 
| 
       67 
67 
     | 
    
         
             
            ```
         
     | 
| 
       68 
68 
     | 
    
         | 
| 
       69 
     | 
    
         
            -
            PrettyIO affords you colorized strings:
         
     | 
| 
      
 69 
     | 
    
         
            +
            To start, `PrettyIO` affords you colorized strings:
         
     | 
| 
       70 
70 
     | 
    
         | 
| 
       71 
71 
     | 
    
         
             
            ```ruby
         
     | 
| 
       72 
72 
     | 
    
         
             
            puts 'A sample string'.red
         
     | 
| 
         @@ -92,29 +92,29 @@ puts 'A sample string'.colorize('35;42') 
     | 
|
| 
       92 
92 
     | 
    
         
             
            ```
         
     | 
| 
       93 
93 
     | 
    
         
             
            
         
     | 
| 
       94 
94 
     | 
    
         | 
| 
       95 
     | 
    
         
            -
            Naturally, memorizing the ANSI color scheme is a pain, so PrettyIO gives you a convenient method to look up these color combinations:
         
     | 
| 
      
 95 
     | 
    
         
            +
            Naturally, memorizing the ANSI color scheme is a pain, so `PrettyIO` gives you a convenient method to look up these color combinations:
         
     | 
| 
       96 
96 
     | 
    
         | 
| 
       97 
97 
     | 
    
         
             
            ```ruby
         
     | 
| 
       98 
98 
     | 
    
         
             
            color_chart
         
     | 
| 
       99 
99 
     | 
    
         
             
            ```
         
     | 
| 
       100 
100 
     | 
    
         
             
            
         
     | 
| 
       101 
101 
     | 
    
         | 
| 
       102 
     | 
    
         
            -
            ##  
     | 
| 
      
 102 
     | 
    
         
            +
            ## Messaging
         
     | 
| 
       103 
103 
     | 
    
         | 
| 
       104 
     | 
    
         
            -
            Throughout the life of your application, you will most likely want to send several messages to your user (warnings, errors, info, etc.).  
     | 
| 
      
 104 
     | 
    
         
            +
            Throughout the life of your application, you will most likely want to send several messages to your user (warnings, errors, info, etc.). `Messaging` makes this a snap. It, too, is a mixin:
         
     | 
| 
       105 
105 
     | 
    
         | 
| 
       106 
106 
     | 
    
         
             
            ```ruby
         
     | 
| 
       107 
     | 
    
         
            -
            include CLIUtils:: 
     | 
| 
      
 107 
     | 
    
         
            +
            include CLIUtils::Messaging
         
     | 
| 
       108 
108 
     | 
    
         
             
            ```
         
     | 
| 
       109 
109 
     | 
    
         | 
| 
       110 
     | 
    
         
            -
            Once mixed in, you get access to `messenger`, a type of Logger that uses PrettyIO to send nicely-formatted messages to your user. For example, if you'd like to warn your user:
         
     | 
| 
      
 110 
     | 
    
         
            +
            Once mixed in, you get access to `messenger`, a type of Logger that uses `PrettyIO` to send nicely-formatted messages to your user. For example, if you'd like to warn your user:
         
     | 
| 
       111 
111 
     | 
    
         | 
| 
       112 
112 
     | 
    
         
             
            ```ruby
         
     | 
| 
       113 
113 
     | 
    
         
             
            messenger.warn('Hey pal, you need to be careful.')
         
     | 
| 
       114 
114 
     | 
    
         
             
            ```
         
     | 
| 
       115 
115 
     | 
    
         
             
            
         
     | 
| 
       116 
116 
     | 
    
         | 
| 
       117 
     | 
    
         
            -
            ###  
     | 
| 
      
 117 
     | 
    
         
            +
            ### Messaging Methods
         
     | 
| 
       118 
118 
     | 
    
         | 
| 
       119 
119 
     | 
    
         
             
            `messenger` gives you access to several basic methods:
         
     | 
| 
       120 
120 
     | 
    
         | 
| 
         @@ -145,7 +145,7 @@ messenger.info_block('Starting up...', 'Done!', multiline = false) { # do stuff 
     | 
|
| 
       145 
145 
     | 
    
         | 
| 
       146 
146 
     | 
    
         
             
            ### Message Wrapping
         
     | 
| 
       147 
147 
     | 
    
         | 
| 
       148 
     | 
    
         
            -
            PrettyIO also gives `messenger` the ability to wrap your messages so that they don't span off into infinity. You can even control what the wrap limit (in characters) is:
         
     | 
| 
      
 148 
     | 
    
         
            +
            `PrettyIO` also gives `messenger` the ability to wrap your messages so that they don't span off into infinity. You can even control what the wrap limit (in characters) is:
         
     | 
| 
       149 
149 
     | 
    
         | 
| 
       150 
150 
     | 
    
         
             
            ```Ruby
         
     | 
| 
       151 
151 
     | 
    
         
             
            CLIUtils::PrettyIO.wrap_char_limit = 50
         
     | 
| 
         @@ -169,11 +169,11 @@ messenger.info("You answered: #{ p }") 
     | 
|
| 
       169 
169 
     | 
    
         
             
            ```
         
     | 
| 
       170 
170 
     | 
    
         
             
            
         
     | 
| 
       171 
171 
     | 
    
         | 
| 
       172 
     | 
    
         
            -
            When you pass a default to ` 
     | 
| 
      
 172 
     | 
    
         
            +
            When you pass a default to `messaging.prompt`, hitting `Enter` (i.e., leaving the prompt blank) will return the value of the default.
         
     | 
| 
       173 
173 
     | 
    
         | 
| 
       174 
174 
     | 
    
         
             
            ### Logging
         
     | 
| 
       175 
175 
     | 
    
         | 
| 
       176 
     | 
    
         
            -
            Often, it's desirable to log messages as they appear to your user. ` 
     | 
| 
      
 176 
     | 
    
         
            +
            Often, it's desirable to log messages as they appear to your user. `messaging` makes this a breeze by allowing you to attach and detach Logger instances at will.
         
     | 
| 
       177 
177 
     | 
    
         | 
| 
       178 
178 
     | 
    
         
             
            For instance, let's say you wanted to log a few messages to both your user's STDOUT and to `file.txt`:
         
     | 
| 
       179 
179 
     | 
    
         | 
| 
         @@ -502,7 +502,6 @@ prefs.ask 
     | 
|
| 
       502 
502 
     | 
    
         | 
| 
       503 
503 
     | 
    
         
             
            ```YAML
         
     | 
| 
       504 
504 
     | 
    
         
             
            validators:
         
     | 
| 
       505 
     | 
    
         
            -
              - numeric      # Must be a number
         
     | 
| 
       506 
505 
     | 
    
         
             
              - alphabetic   # Must be made up of letters and spaces
         
     | 
| 
       507 
506 
     | 
    
         
             
              - alphanumeric # Must be made up of letters, numbers, and spaces
         
     | 
| 
       508 
507 
     | 
    
         
             
              - date         # Must be a parsable date (e.g., 2014-04-03)
         
     | 
    
        data/lib/cliutils/constants.rb
    CHANGED
    
    
    
        data/lib/cliutils/prefs/pref.rb
    CHANGED
    
    | 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'cliutils/ 
     | 
| 
      
 1 
     | 
    
         
            +
            require 'cliutils/messaging'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'cliutils/prefs/pref_behavior'
         
     | 
| 
       3 
3 
     | 
    
         
             
            require 'cliutils/prefs/pref_validation'
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
         @@ -6,7 +6,7 @@ module CLIUtils 
     | 
|
| 
       6 
6 
     | 
    
         
             
              # Pref Class
         
     | 
| 
       7 
7 
     | 
    
         
             
              # An individual preference
         
     | 
| 
       8 
8 
     | 
    
         
             
              class Pref
         
     | 
| 
       9 
     | 
    
         
            -
                include  
     | 
| 
      
 9 
     | 
    
         
            +
                include Messaging
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
                # Stores the answer to this Pref.
         
     | 
| 
       12 
12 
     | 
    
         
             
                # @return [String, Symbol]
         
     | 
    
        data/lib/cliutils/prefs.rb
    CHANGED
    
    | 
         @@ -5,7 +5,7 @@ module CLIUtils 
     | 
|
| 
       5 
5 
     | 
    
         
             
              # Engine to derive preferences from a YAML file, deliver
         
     | 
| 
       6 
6 
     | 
    
         
             
              # those to a user via a prompt, and collect the results.
         
     | 
| 
       7 
7 
     | 
    
         
             
              class Prefs
         
     | 
| 
       8 
     | 
    
         
            -
                include  
     | 
| 
      
 8 
     | 
    
         
            +
                include Messaging
         
     | 
| 
       9 
9 
     | 
    
         
             
                # Stores the filepath (if it exists) to the prefs file.
         
     | 
| 
       10 
10 
     | 
    
         
             
                # @return [String]
         
     | 
| 
       11 
11 
     | 
    
         
             
                attr_reader :config_path
         
     | 
    
        data/lib/cliutils/pretty_io.rb
    CHANGED
    
    | 
         @@ -48,7 +48,7 @@ module CLIUtils 
     | 
|
| 
       48 
48 
     | 
    
         
             
                  end
         
     | 
| 
       49 
49 
     | 
    
         
             
                end
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
     | 
    
         
            -
                # Empty method so that  
     | 
| 
      
 51 
     | 
    
         
            +
                # Empty method so that Messaging doesn't freak
         
     | 
| 
       52 
52 
     | 
    
         
             
                # out when passed a debug message.
         
     | 
| 
       53 
53 
     | 
    
         
             
                # @return [void]
         
     | 
| 
       54 
54 
     | 
    
         
             
                def debug(m); end
         
     | 
| 
         @@ -93,7 +93,7 @@ module CLIUtils 
     | 
|
| 
       93 
93 
     | 
    
         
             
                  end
         
     | 
| 
       94 
94 
     | 
    
         
             
                end
         
     | 
| 
       95 
95 
     | 
    
         | 
| 
       96 
     | 
    
         
            -
                # Empty method so that  
     | 
| 
      
 96 
     | 
    
         
            +
                # Empty method so that Messaging doesn't freak
         
     | 
| 
       97 
97 
     | 
    
         
             
                # out when passed a debug message.
         
     | 
| 
       98 
98 
     | 
    
         
             
                # @return [void]
         
     | 
| 
       99 
99 
     | 
    
         
             
                def log(m); end
         
     | 
    
        data/lib/cliutils.rb
    CHANGED
    
    
    
        data/test/messenging_test.rb
    CHANGED
    
    | 
         @@ -4,11 +4,11 @@ require 'test/unit' 
     | 
|
| 
       4 
4 
     | 
    
         
             
            require File.join(File.dirname(__FILE__), '..', 'lib/cliutils/ext/string_extensions')
         
     | 
| 
       5 
5 
     | 
    
         
             
            require File.join(File.dirname(__FILE__), '..', 'lib/cliutils/pretty_io')
         
     | 
| 
       6 
6 
     | 
    
         
             
            require File.join(File.dirname(__FILE__), '..', 'lib/cliutils/logger_delegator')
         
     | 
| 
       7 
     | 
    
         
            -
            require File.join(File.dirname(__FILE__), '..', 'lib/cliutils/ 
     | 
| 
      
 7 
     | 
    
         
            +
            require File.join(File.dirname(__FILE__), '..', 'lib/cliutils/messaging')
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            # Tests for the Hash extension methods
         
     | 
| 
       10 
     | 
    
         
            -
            class  
     | 
| 
       11 
     | 
    
         
            -
              include CLIUtils:: 
     | 
| 
      
 10 
     | 
    
         
            +
            class TestMessaging < Test::Unit::TestCase
         
     | 
| 
      
 11 
     | 
    
         
            +
              include CLIUtils::Messaging
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
              def setup
         
     | 
| 
       14 
14 
     | 
    
         
             
                @file1path = '/tmp/file1.txt'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: cliutils
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.2.8
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Aaron Bach
         
     | 
| 
         @@ -91,7 +91,7 @@ files: 
     | 
|
| 
       91 
91 
     | 
    
         
             
            - lib/cliutils/ext/logger_extensions.rb
         
     | 
| 
       92 
92 
     | 
    
         
             
            - lib/cliutils/ext/string_extensions.rb
         
     | 
| 
       93 
93 
     | 
    
         
             
            - lib/cliutils/logger_delegator.rb
         
     | 
| 
       94 
     | 
    
         
            -
            - lib/cliutils/ 
     | 
| 
      
 94 
     | 
    
         
            +
            - lib/cliutils/messaging.rb
         
     | 
| 
       95 
95 
     | 
    
         
             
            - lib/cliutils/prefs.rb
         
     | 
| 
       96 
96 
     | 
    
         
             
            - lib/cliutils/prefs/pref.rb
         
     | 
| 
       97 
97 
     | 
    
         
             
            - lib/cliutils/prefs/pref_behavior.rb
         
     |