bitoffdev opened a new pull request #2141:
URL: https://github.com/apache/hbase/pull/2141


   ## Changelog
   
   - Refactor Shell.export_commands to define commands using ruby lambdas.
     Additionally, this change stores a reference to shell_inst in scope so that
     we no longer need to assume the existance of the variable @shell.
   - Add logic to Shell class for constructing an IRB workspace with its own
     binding and non-global receiver. This workspace is loaded with all HBase 
and
     IRB commands.
   - Create new method on Shell for evaluating input from an arbitrary IO 
instance
     within the created IRB workspace. This is based on work by Hsieh that was
     previously in bin/hirb.rb. This method is more generic and more testable.
     This single pattern can be used for both executing files and reading from
     stdin, therefore reducing complexity.
   - Move special 'help' and 'tools' command definitions to shell.rb. These
     commands are tightly linked with an instance of the shell, so it is easiest
     to have them defined together.
   - Remove all global includes of HBaseConstants from ruby test files. Before
     this change, tests were loading these constants into the top level, which
     could cause tests to pass that should really fail.
   - Try to reduce the number of places that constants are included. I think 
it's
     best to reference each ruby constant's full name, but where that would 
cause
     a big diff I instead moved the include to the innermost Module or Class.
   - Update docs and comments
   - Remove unneccessary includes
   - Add shell --top-level-cmds compatibility flag. Since this PR removes all 
the
     HBase symbols from the top-level receiver (ie. main Object), it is possible
     (albeit unlikely) that this will break operator scripts. This flag will
     export all the commands at the top-level like the shell previously did.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to