procodile 1.0.24 → 1.0.25
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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/procodile/cli.rb +5 -1
- data/lib/procodile/instance.rb +2 -20
- data/lib/procodile/rbenv.rb +24 -0
- data/lib/procodile/version.rb +1 -1
- metadata +26 -3
- metadata.gz.sig +3 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b3d3def54b66108295fec7739f72e705e74f9d37f4efeadca3ed05f724f469ea
         | 
| 4 | 
            +
              data.tar.gz: 51e6c4e743cf8668a06340b903f8684c4c956df3d3511218f22ca9d333421420
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6d2b4f7032e1fe41e3cba82db8da9c167d858269da1993bc38c716853543c38b08a467872ee81bde016cd9dd0bec74dd8ff51d907a2511b1f7556cd7a027d6d6
         | 
| 7 | 
            +
              data.tar.gz: 5095105af1bbc9299f4712cdf0f4703a92331711a6b38e513e9bd49f29e03c8ac78eeabb29fcd57043ecf467746accaf033ee6f807eaeff18bc13aa6fa498e7a
         | 
    
        checksums.yaml.gz.sig
    ADDED
    
    | Binary file | 
    
        data.tar.gz.sig
    ADDED
    
    | Binary file | 
    
        data/lib/procodile/cli.rb
    CHANGED
    
    | @@ -2,6 +2,7 @@ require 'fileutils' | |
| 2 2 | 
             
            require 'procodile/version'
         | 
| 3 3 | 
             
            require 'procodile/error'
         | 
| 4 4 | 
             
            require 'procodile/message'
         | 
| 5 | 
            +
            require 'procodile/rbenv'
         | 
| 5 6 | 
             
            require 'procodile/supervisor'
         | 
| 6 7 | 
             
            require 'procodile/signal_handler'
         | 
| 7 8 | 
             
            require 'procodile/control_client'
         | 
| @@ -382,7 +383,10 @@ module Procodile | |
| 382 383 | 
             
                    end
         | 
| 383 384 |  | 
| 384 385 | 
             
                    begin
         | 
| 385 | 
            -
                       | 
| 386 | 
            +
                      Dir.chdir(@config.root)
         | 
| 387 | 
            +
                      Rbenv.without do
         | 
| 388 | 
            +
                        Kernel.exec(environment, desired_command)
         | 
| 389 | 
            +
                      end
         | 
| 386 390 | 
             
                    rescue Errno::ENOENT => e
         | 
| 387 391 | 
             
                      raise Error, e.message
         | 
| 388 392 | 
             
                    end
         | 
    
        data/lib/procodile/instance.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            require 'procodile/logger'
         | 
| 2 | 
            +
            require 'procodile/rbenv'
         | 
| 2 3 |  | 
| 3 4 | 
             
            module Procodile
         | 
| 4 5 | 
             
              class Instance
         | 
| @@ -143,7 +144,7 @@ module Procodile | |
| 143 144 | 
             
                    end
         | 
| 144 145 | 
             
                    @tag = @supervisor.tag.dup if @supervisor.tag
         | 
| 145 146 | 
             
                    Dir.chdir(@process.config.root)
         | 
| 146 | 
            -
                     | 
| 147 | 
            +
                    Rbenv.without do
         | 
| 147 148 | 
             
                      @pid = ::Process.spawn(environment_variables, @process.command, :out => log_destination, :err => log_destination, :pgroup => true)
         | 
| 148 149 | 
             
                    end
         | 
| 149 150 | 
             
                    log_destination.close
         | 
| @@ -383,24 +384,5 @@ module Procodile | |
| 383 384 | 
             
                  false
         | 
| 384 385 | 
             
                end
         | 
| 385 386 |  | 
| 386 | 
            -
                #
         | 
| 387 | 
            -
                # If procodile is executed through rbenv it will pollute our environment which means that
         | 
| 388 | 
            -
                # any spawned processes will be invoked with procodile's ruby rather than the ruby that
         | 
| 389 | 
            -
                # the application wishes to use
         | 
| 390 | 
            -
                #
         | 
| 391 | 
            -
                def without_rbenv(&block)
         | 
| 392 | 
            -
                  previous_environment = ENV.select { |k,v| k =~ /\A(RBENV\_)/ }
         | 
| 393 | 
            -
                  if previous_environment.size > 0
         | 
| 394 | 
            -
                    previous_environment.each { |key, value| ENV[key] = nil }
         | 
| 395 | 
            -
                    previous_environment['PATH'] = ENV['PATH']
         | 
| 396 | 
            -
                    ENV['PATH'] = ENV['PATH'].split(':').select { |p| !(p =~ /\.rbenv\/versions/) }.join(':')
         | 
| 397 | 
            -
                  end
         | 
| 398 | 
            -
                  yield
         | 
| 399 | 
            -
                ensure
         | 
| 400 | 
            -
                  previous_environment.each do |key, value|
         | 
| 401 | 
            -
                    ENV[key] = value
         | 
| 402 | 
            -
                  end
         | 
| 403 | 
            -
                end
         | 
| 404 | 
            -
             | 
| 405 387 | 
             
              end
         | 
| 406 388 | 
             
            end
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            module Procodile
         | 
| 2 | 
            +
              module Rbenv
         | 
| 3 | 
            +
             | 
| 4 | 
            +
                #
         | 
| 5 | 
            +
                # If procodile is executed through rbenv it will pollute our environment which means that
         | 
| 6 | 
            +
                # any spawned processes will be invoked with procodile's ruby rather than the ruby that
         | 
| 7 | 
            +
                # the application wishes to use
         | 
| 8 | 
            +
                #
         | 
| 9 | 
            +
                def self.without(&block)
         | 
| 10 | 
            +
                  previous_environment = ENV.select { |k,v| k =~ /\A(RBENV\_)/ }
         | 
| 11 | 
            +
                  if previous_environment.size > 0
         | 
| 12 | 
            +
                    previous_environment.each { |key, value| ENV[key] = nil }
         | 
| 13 | 
            +
                    previous_environment['PATH'] = ENV['PATH']
         | 
| 14 | 
            +
                    ENV['PATH'] = ENV['PATH'].split(':').select { |p| !(p =~ /\.rbenv\/versions/) }.join(':')
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
                  yield
         | 
| 17 | 
            +
                ensure
         | 
| 18 | 
            +
                  previous_environment.each do |key, value|
         | 
| 19 | 
            +
                    ENV[key] = value
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
    
        data/lib/procodile/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,36 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: procodile
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.25
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Adam Cooke
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 | 
            -
            cert_chain: | 
| 11 | 
            -
             | 
| 10 | 
            +
            cert_chain:
         | 
| 11 | 
            +
            - |
         | 
| 12 | 
            +
              -----BEGIN CERTIFICATE-----
         | 
| 13 | 
            +
              MIIDZDCCAkygAwIBAgIBATANBgkqhkiG9w0BAQUFADA8MQswCQYDVQQDDAJtZTEZ
         | 
| 14 | 
            +
              MBcGCgmSJomT8ixkARkWCWFkYW1jb29rZTESMBAGCgmSJomT8ixkARkWAmlvMB4X
         | 
| 15 | 
            +
              DTE5MDUxNDEzNTIxM1oXDTIwMDUxMzEzNTIxM1owPDELMAkGA1UEAwwCbWUxGTAX
         | 
| 16 | 
            +
              BgoJkiaJk/IsZAEZFglhZGFtY29va2UxEjAQBgoJkiaJk/IsZAEZFgJpbzCCASIw
         | 
| 17 | 
            +
              DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUohRlPw3iIOhWZq+qf5N1ATm1H
         | 
| 18 | 
            +
              7gBO4TpsUrw/FL/+urFExzt1+4MPfiKjILge48vKpjoTfuZusRsOQebaFidOfmhk
         | 
| 19 | 
            +
              sEqa941CvN3OeUYARA53ORlmoLDLmdcrxq430+woFp4uuSYwim/2YQgIMdgiOTqs
         | 
| 20 | 
            +
              cHaM9yh/xUGMnH4lB9bBDNfggMmkSFb6P8Ax4rvdX3EVv5P58RHwHszd+UI4fyy9
         | 
| 21 | 
            +
              0W143m6ntNmqena4ZOc7HtWtRyDHHXXzlGgmghKEZgOA+/LO53VHp+cM0JqB7lq5
         | 
| 22 | 
            +
              ZxN43fQrIT5yY9Dy7dRBeiDo53WNJPspa5soEivCBVYstMqfd+LGk/BnsyMCAwEA
         | 
| 23 | 
            +
              AaNxMG8wCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGlRGerNfr6J
         | 
| 24 | 
            +
              Dprgl6DQ3kLvgVvPMBoGA1UdEQQTMBGBD21lQGFkYW1jb29rZS5pbzAaBgNVHRIE
         | 
| 25 | 
            +
              EzARgQ9tZUBhZGFtY29va2UuaW8wDQYJKoZIhvcNAQEFBQADggEBAK2TQPMeW9qh
         | 
| 26 | 
            +
              NDNoVbbplfSc8/uscSP2DfssCbhXQqeDfF2z+kQpxv8iAc++KTlotqOaX5A6RvLb
         | 
| 27 | 
            +
              NvuwMHPJRQJ2e8rbuN8Sh3tUjbkAEv3SFw4hqbKmtp0j2oKBU0dxHWNfp+5ulh2l
         | 
| 28 | 
            +
              UXnQAt4zg3v1hTD1VrwLqG/hyk9xAaWB38lEDBuPhLrDIdDJklg9bD1E2TUvoMrg
         | 
| 29 | 
            +
              L6TIbdP1TRrxINO1D9GzboR+OuWos7qMLBEEbjat/fQchYrW1KLcHIUCyrGkZTLm
         | 
| 30 | 
            +
              3wUJNGnT5XYq+qvTqmjkTSTfdGvZCM63C6bGdN5CAyMokGOOatGqyCMAONolWnfC
         | 
| 31 | 
            +
              gm3t2GWWrxY=
         | 
| 32 | 
            +
              -----END CERTIFICATE-----
         | 
| 33 | 
            +
            date: 2019-10-13 00:00:00.000000000 Z
         | 
| 12 34 | 
             
            dependencies:
         | 
| 13 35 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 36 | 
             
              name: json
         | 
| @@ -45,6 +67,7 @@ files: | |
| 45 67 | 
             
            - lib/procodile/logger.rb
         | 
| 46 68 | 
             
            - lib/procodile/message.rb
         | 
| 47 69 | 
             
            - lib/procodile/process.rb
         | 
| 70 | 
            +
            - lib/procodile/rbenv.rb
         | 
| 48 71 | 
             
            - lib/procodile/signal_handler.rb
         | 
| 49 72 | 
             
            - lib/procodile/status_cli_output.rb
         | 
| 50 73 | 
             
            - lib/procodile/supervisor.rb
         | 
    
        metadata.gz.sig
    ADDED