bin_script 0.1.1 → 0.1.2
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.
- data/.gitignore +2 -1
- data/Gemfile.lock +1 -1
- data/README.markdown +1 -1
- data/bin/bin_helper +4 -14
- data/lib/bin_script/bin_script.rb +9 -7
- data/lib/bin_script/version.rb +1 -1
- metadata +40 -66
    
        data/.gitignore
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/README.markdown
    CHANGED
    
    
    
        data/bin/bin_helper
    CHANGED
    
    | @@ -1,15 +1,5 @@ | |
| 1 1 | 
             
            #!/usr/bin/env ruby
         | 
| 2 2 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 3 | 
            -
            # This helper is useful for requiring from bin scripts.
         | 
| 4 | 
            -
            # Detect RAILS_ENV from '-e' parameter in ARGV (or 'development' as default) and load rails environment if need.
         | 
| 5 | 
            -
            #
         | 
| 6 | 
            -
            # Sample ./bin/script_name.rb
         | 
| 7 | 
            -
            # #!/usr/bin/env ruby
         | 
| 8 | 
            -
            #
         | 
| 9 | 
            -
            # #NO_RAILS = true # Uncomment this line if you don't need rails environment in your script
         | 
| 10 | 
            -
            # require File.join(File.dirname(__FILE__),'_bin_helper')
         | 
| 11 | 
            -
            #
         | 
| 12 | 
            -
            # Helper will detect class name for this script automatically. So for example above helper call something like this: ScriptName.new.run!
         | 
| 13 3 |  | 
| 14 4 | 
             
            APP_ROOT ||= File.expand_path(File.dirname($0)) + "/../"
         | 
| 15 5 |  | 
| @@ -57,21 +47,21 @@ ARGV.each_index do |i| | |
| 57 47 | 
             
              end
         | 
| 58 48 | 
             
            end
         | 
| 59 49 |  | 
| 60 | 
            -
            #  | 
| 50 | 
            +
            # -h for show help, Rails not needed
         | 
| 61 51 | 
             
            NO_RAILS = true if ARGV.include?('-h') && !defined?(NO_RAILS)
         | 
| 62 52 |  | 
| 63 53 | 
             
            # Set defaults
         | 
| 64 54 | 
             
            ENV['RAILS_ENV'] ||= 'development'
         | 
| 65 55 |  | 
| 66 | 
            -
            if !defined?( | 
| 56 | 
            +
            if !defined?(Rails) && !defined?(NO_RAILS)
         | 
| 67 57 | 
             
              # Load rails envoronment if not yet and we need it
         | 
| 68 58 | 
             
              require File.join(APP_ROOT, %w{config environment})
         | 
| 69 59 | 
             
            else
         | 
| 70 60 | 
             
              require 'active_support'
         | 
| 71 61 | 
             
            end
         | 
| 72 62 |  | 
| 73 | 
            -
            # Load BinScript class source
         | 
| 74 | 
            -
            require 'bin_script'  | 
| 63 | 
            +
            # Load BinScript class source (from gem)
         | 
| 64 | 
            +
            require 'bin_script' if !defined?(BinScript) || !BinScript.respond_to?(:run_script)
         | 
| 75 65 |  | 
| 76 66 | 
             
            # Call script runner
         | 
| 77 67 | 
             
            BinScript.run_script
         | 
| @@ -20,7 +20,7 @@ class BinScript | |
| 20 20 | 
             
              ]
         | 
| 21 21 |  | 
| 22 22 | 
             
              # Default log level INFO or DEBUG for test env
         | 
| 23 | 
            -
              @log_level = (Rails.env | 
| 23 | 
            +
              @log_level = (Rails.env == 'development' ? XLogger::DEBUG : XLogger::INFO)
         | 
| 24 24 |  | 
| 25 25 | 
             
              # Enable locking by default
         | 
| 26 26 | 
             
              @enable_locking = true
         | 
| @@ -168,7 +168,9 @@ class BinScript | |
| 168 168 |  | 
| 169 169 | 
             
                # RAILS_ROOT is not availible if rails environment was not loaded. So detect application root in this case from current file path
         | 
| 170 170 | 
             
                def rails_root
         | 
| 171 | 
            -
                   | 
| 171 | 
            +
                  path = Rails.root
         | 
| 172 | 
            +
                  path ||= defined?(APP_ROOT) ? APP_ROOT : '.'
         | 
| 173 | 
            +
                  Pathname.new(path).realpath.to_s
         | 
| 172 174 | 
             
                end
         | 
| 173 175 |  | 
| 174 176 | 
             
                # Prepare ARGV parameters as hash
         | 
| @@ -213,7 +215,7 @@ class BinScript | |
| 213 215 | 
             
              end
         | 
| 214 216 |  | 
| 215 217 | 
             
              def puts(*arg)
         | 
| 216 | 
            -
                return if self.class.disable_puts_for_tests && Rails.env | 
| 218 | 
            +
                return if self.class.disable_puts_for_tests && Rails.env == 'test'
         | 
| 217 219 | 
             
                Kernel.puts(*arg)
         | 
| 218 220 | 
             
              end
         | 
| 219 221 |  | 
| @@ -222,11 +224,11 @@ class BinScript | |
| 222 224 | 
             
                begin
         | 
| 223 225 | 
             
                  @source_argv = ARGV.dup
         | 
| 224 226 | 
             
                  @overrided_parameters = {}
         | 
| 225 | 
            -
                  @params_values = (Rails.env | 
| 227 | 
            +
                  @params_values = (Rails.env == 'test' ? {} : self.class.get_argv_values)
         | 
| 226 228 |  | 
| 227 229 | 
             
                  # Create logger if logging enabled
         | 
| 228 230 | 
             
                  if self.class.enable_logging
         | 
| 229 | 
            -
                    @logger = XLogger.new(:file => log_filename, :dont_touch_rails_logger => (Rails.env | 
| 231 | 
            +
                    @logger = XLogger.new(:file => log_filename, :dont_touch_rails_logger => (Rails.env == 'test'))
         | 
| 230 232 | 
             
                    @logger.level = self.class.log_level
         | 
| 231 233 | 
             
                  end
         | 
| 232 234 |  | 
| @@ -275,7 +277,7 @@ class BinScript | |
| 275 277 | 
             
                  log_benchmarker_data
         | 
| 276 278 | 
             
                rescue Exception => e
         | 
| 277 279 | 
             
                  # Print error info if it's not test env or exit
         | 
| 278 | 
            -
                  if  | 
| 280 | 
            +
                  if Rails.env != 'test' && e.class != SystemExit && e.class != Interrupt 
         | 
| 279 281 | 
             
                    msg = self.class.prepare_exception_message(e)
         | 
| 280 282 | 
             
                    puts "\n" + msg
         | 
| 281 283 | 
             
                    fatal msg
         | 
| @@ -324,7 +326,7 @@ class BinScript | |
| 324 326 | 
             
                when :optional
         | 
| 325 327 | 
             
                  #return nil unless @overrided_parameters.has_key?(key) || @params_values.has_key?(key)
         | 
| 326 328 | 
             
                  return @overrided_parameters[key] || @params_values[key] || param[:default]
         | 
| 327 | 
            -
             | 
| 329 | 
            +
                when :required
         | 
| 328 330 | 
             
                  value = @overrided_parameters[key] || @params_values[key] || param[:default]
         | 
| 329 331 | 
             
                  return value
         | 
| 330 332 | 
             
                end
         | 
    
        data/lib/bin_script/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,63 +1,47 @@ | |
| 1 | 
            -
            --- !ruby/object:Gem::Specification | 
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: bin_script
         | 
| 3 | 
            -
            version: !ruby/object:Gem::Version | 
| 4 | 
            -
               | 
| 5 | 
            -
              prerelease:  | 
| 6 | 
            -
              segments: 
         | 
| 7 | 
            -
              - 0
         | 
| 8 | 
            -
              - 1
         | 
| 9 | 
            -
              - 1
         | 
| 10 | 
            -
              version: 0.1.1
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              version: 0.1.2
         | 
| 5 | 
            +
              prerelease: 
         | 
| 11 6 | 
             
            platform: ruby
         | 
| 12 | 
            -
            authors: | 
| 7 | 
            +
            authors:
         | 
| 13 8 | 
             
            - Lifshits Dmitry
         | 
| 14 9 | 
             
            - Makarchev Konstantin
         | 
| 15 10 | 
             
            autorequire: init
         | 
| 16 11 | 
             
            bindir: bin
         | 
| 17 12 | 
             
            cert_chain: []
         | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
            dependencies: 
         | 
| 22 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 13 | 
            +
            date: 2012-04-07 00:00:00.000000000 Z
         | 
| 14 | 
            +
            dependencies:
         | 
| 15 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 23 16 | 
             
              name: activesupport
         | 
| 24 | 
            -
               | 
| 25 | 
            -
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 17 | 
            +
              requirement: &72761780 !ruby/object:Gem::Requirement
         | 
| 26 18 | 
             
                none: false
         | 
| 27 | 
            -
                requirements: | 
| 28 | 
            -
                - -  | 
| 29 | 
            -
                  - !ruby/object:Gem::Version | 
| 30 | 
            -
                    hash: 7
         | 
| 31 | 
            -
                    segments: 
         | 
| 32 | 
            -
                    - 2
         | 
| 33 | 
            -
                    - 3
         | 
| 34 | 
            -
                    - 2
         | 
| 19 | 
            +
                requirements:
         | 
| 20 | 
            +
                - - ! '>='
         | 
| 21 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 35 22 | 
             
                    version: 2.3.2
         | 
| 36 23 | 
             
              type: :runtime
         | 
| 37 | 
            -
              version_requirements: *id001
         | 
| 38 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 39 | 
            -
              name: rspec
         | 
| 40 24 | 
             
              prerelease: false
         | 
| 41 | 
            -
               | 
| 25 | 
            +
              version_requirements: *72761780
         | 
| 26 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 27 | 
            +
              name: rspec
         | 
| 28 | 
            +
              requirement: &72761580 !ruby/object:Gem::Requirement
         | 
| 42 29 | 
             
                none: false
         | 
| 43 | 
            -
                requirements: | 
| 44 | 
            -
                - -  | 
| 45 | 
            -
                  - !ruby/object:Gem::Version | 
| 46 | 
            -
                     | 
| 47 | 
            -
                    segments: 
         | 
| 48 | 
            -
                    - 0
         | 
| 49 | 
            -
                    version: "0"
         | 
| 30 | 
            +
                requirements:
         | 
| 31 | 
            +
                - - ! '>='
         | 
| 32 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            +
                    version: '0'
         | 
| 50 34 | 
             
              type: :development
         | 
| 51 | 
            -
               | 
| 52 | 
            -
             | 
| 35 | 
            +
              prerelease: false
         | 
| 36 | 
            +
              version_requirements: *72761580
         | 
| 37 | 
            +
            description: Easy writing and executing bins (espesually for crontab or god) in Rails
         | 
| 38 | 
            +
              project
         | 
| 53 39 | 
             
            email: kostya27@gmail.com
         | 
| 54 | 
            -
            executables: | 
| 40 | 
            +
            executables:
         | 
| 55 41 | 
             
            - bin_helper
         | 
| 56 42 | 
             
            extensions: []
         | 
| 57 | 
            -
             | 
| 58 43 | 
             
            extra_rdoc_files: []
         | 
| 59 | 
            -
             | 
| 60 | 
            -
            files: 
         | 
| 44 | 
            +
            files:
         | 
| 61 45 | 
             
            - .gitignore
         | 
| 62 46 | 
             
            - Gemfile
         | 
| 63 47 | 
             
            - Gemfile.lock
         | 
| @@ -79,39 +63,29 @@ files: | |
| 79 63 | 
             
            - lib/generators/bin/templates/spec.rb
         | 
| 80 64 | 
             
            - spec/bin_script_spec.rb
         | 
| 81 65 | 
             
            - spec/spec_helper.rb
         | 
| 82 | 
            -
            has_rdoc: true
         | 
| 83 66 | 
             
            homepage: http://github.com/kostya/bin_script
         | 
| 84 67 | 
             
            licenses: []
         | 
| 85 | 
            -
             | 
| 86 68 | 
             
            post_install_message: 
         | 
| 87 69 | 
             
            rdoc_options: []
         | 
| 88 | 
            -
             | 
| 89 | 
            -
            require_paths: 
         | 
| 70 | 
            +
            require_paths:
         | 
| 90 71 | 
             
            - lib
         | 
| 91 | 
            -
            required_ruby_version: !ruby/object:Gem::Requirement | 
| 72 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 92 73 | 
             
              none: false
         | 
| 93 | 
            -
              requirements: | 
| 94 | 
            -
              - -  | 
| 95 | 
            -
                - !ruby/object:Gem::Version | 
| 96 | 
            -
                   | 
| 97 | 
            -
             | 
| 98 | 
            -
                  - 0
         | 
| 99 | 
            -
                  version: "0"
         | 
| 100 | 
            -
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 74 | 
            +
              requirements:
         | 
| 75 | 
            +
              - - ! '>='
         | 
| 76 | 
            +
                - !ruby/object:Gem::Version
         | 
| 77 | 
            +
                  version: '0'
         | 
| 78 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 101 79 | 
             
              none: false
         | 
| 102 | 
            -
              requirements: | 
| 103 | 
            -
              - -  | 
| 104 | 
            -
                - !ruby/object:Gem::Version | 
| 105 | 
            -
                   | 
| 106 | 
            -
                  segments: 
         | 
| 107 | 
            -
                  - 0
         | 
| 108 | 
            -
                  version: "0"
         | 
| 80 | 
            +
              requirements:
         | 
| 81 | 
            +
              - - ! '>='
         | 
| 82 | 
            +
                - !ruby/object:Gem::Version
         | 
| 83 | 
            +
                  version: '0'
         | 
| 109 84 | 
             
            requirements: []
         | 
| 110 | 
            -
             | 
| 111 85 | 
             
            rubyforge_project: 
         | 
| 112 | 
            -
            rubygems_version: 1. | 
| 86 | 
            +
            rubygems_version: 1.8.16
         | 
| 113 87 | 
             
            signing_key: 
         | 
| 114 88 | 
             
            specification_version: 3
         | 
| 115 | 
            -
            summary: Easy writing and executing bins (espesually for crontab or god) in Rails | 
| 89 | 
            +
            summary: Easy writing and executing bins (espesually for crontab or god) in Rails
         | 
| 90 | 
            +
              project For my purposes much better than Rake, Thor and Rails Runner
         | 
| 116 91 | 
             
            test_files: []
         | 
| 117 | 
            -
             |