Permalink
Commits on Nov 20, 2015
  1. @jyurek

    v0.5.8

    jyurek committed Nov 20, 2015
Commits on Sep 30, 2015
  1. @jyurek

    Even quote quotes at the end of the line

    Due to the behavior of String#split with no second parameter, splitting
    a string suppresses the ending sections if they are blank. For example,
    `"a1b2c3".split(/\d/) # => ["a", "b", "c"]`. If you give a second
    parameter that's negative, it will split without regard to blank
    sections. See http://ruby-doc.org/core-2.2.0/String.html#method-i-split
    for more info (and, yes, this goes back to 1.8.6).
    jyurek committed Sep 30, 2015
Commits on Sep 25, 2015
  1. @jyurek

    Do not expect STDERR in all Runners

    This one was silly. The test was in command_line_spec, which is to
    test thing common to all Runners. But as I pointed out in the
    previous commit, only Posix and Process are capable of returning
    things from STDERR. So, of course, it fails in JRuby which isn't
    capable of running either Runner.
    
    This change moves the test to those Runners' specific tests.
    jyurek committed Dec 4, 2014
  2. @jyurek

    Save both STDOUT and STDERR when possible

    Create an Output object that stores the returned output and error
    streams from the executed commands. Because only Process.spawn and
    Posix.spawn use pipes like this, they are the only two Runners that can
    handle capturing both STDOUT and STDERR. The PopenRunner can only handle
    one pipe, and backticks can only report on STDOUT.
    jyurek committed Jun 4, 2014
Commits on Sep 1, 2015
  1. @sapslaj @jyurek

    String conversion as a one-liner

    Just cleaning up.
    sapslaj committed with jyurek Aug 30, 2015
  2. @sapslaj @jyurek
  3. @sapslaj @jyurek

    Added symbol-handing spec

    sapslaj committed with jyurek Mar 13, 2015
  4. @sapslaj @jyurek

    shell_quote now converts argument to a string automatically

    Previously, shell_quote couldn't handle anything besides strings (like symbols) due to it's use of String#split. It now attempts to run to_s on the argument or it raises an ArgumentError.
    sapslaj committed with jyurek Feb 16, 2015
  5. @brixen @jyurek

    Add rbx-2 to Travis CI

    The 'rbx-2' designation will run on the most recent Rubinius 2.x release.
    brixen committed with jyurek May 22, 2015
Commits on May 27, 2015
  1. @ktdreyer

    require pathname during tests

    Commit ba7630a introduced a dependency
    on the pathname library. When running the tests outside of Bundler on
    Fedora 23, Ruby cannot find this library:
    
      $ rspec -Ilib spec
    
      ... snip ...
    
         NameError:
           uninitialized constant Pathname
    
    Add the gem to the spec_helper to ensure that Ruby loads it in all
    cases.
    ktdreyer committed May 27, 2015
Commits on Mar 2, 2015
  1. @jyurek

    v0.5.7

    jyurek committed Mar 2, 2015
  2. @jyurek

    Java does not need to run commands with `env`

    We added running the commands via `env` for Java because they failed to
    run with the modified environment correctly. Using `env` was a kind of
    band-aid, I guess. Turns out that the fix to add semicolons obviated the
    need to run `env`. Funny thing was that it caused a different problem
    when we had both. But since getting rid of it seems to work, we have a
    solution.
    jyurek committed Mar 2, 2015
  3. @jyurek
  4. @jyurek

    v0.5.6

    jyurek committed Mar 2, 2015
Commits on Feb 23, 2015
  1. @radarek

    Don't require "posix/spawn" every time PosixRunner#available? is called

    radarek committed Feb 23, 2015
Commits on Feb 6, 2015
  1. @jyurek

    Add a semicolon to the PATH definition

    So, this seems trivial, but according to #77, the previous behavior
    caused a problem with more complicated commands. Granted, it seems weird
    to call commands like `if [thing]; then true; else false; fi` but here
    we are. If I add the semicolon, then the shell treats it as a separate
    command. This means it modifies the shell env, but this is fine in the
    subshell environment we're running the command in. Normally, if you were
    running this on your command line, I wouldn't recommend it: as I said,
    this would modify your environment instead of modifying the command's
    environment. But we should be good here.
    jyurek committed Feb 6, 2015
Commits on Dec 17, 2014
  1. @jyurek

    Merge pull request #75 from ktdreyer/gemfile-url-https

    Gemfile: use HTTPS for rubygems.org
    jyurek committed Dec 17, 2014
  2. @jyurek

    Merge pull request #74 from ktdreyer/gemspec-url-https

    gemspec: use HTTPS for homepage URL
    jyurek committed Dec 17, 2014
  3. @ktdreyer

    Gemfile: use HTTPS for rubygems.org

    Use HTTPS so users' connections to the rubygems.org server will be
    verified with SSL.
    ktdreyer committed Dec 17, 2014
  4. @ktdreyer
Commits on Dec 16, 2014
  1. @jyurek

    Remove rbx from Travis for now

    jyurek committed Dec 16, 2014
  2. @jyurek

    Add 2.1.5 and rbx to Travis

    jyurek committed Dec 16, 2014
  3. @jyurek
Commits on Dec 9, 2014
  1. @jyurek

    v0.5.5

    jyurek committed Dec 9, 2014
Commits on Dec 3, 2014
  1. @jyurek

    C'mon. Who uses REE anymore?

    jyurek committed Dec 3, 2014
  2. @jyurek

    Don't use ClimateControl when it's not necessary

    The ProcessRunner and PosixRunner are perfectly capable of taking an
    environment hash. This means there's no reason to use ClimateControl to
    modify the environment beforehand. In order to find custom binaries, we
    can modify the PATH on the command line -- yes, for both Unix and
    Windows.
    
    Unix commandlines use the normal `PATH=/new/path:$PATH cmd` syntax.
    Windows uses `SET PATH=C:\new\path;%PATH% & cmd` instead.
    
    The difference between then and now is that I found out that you can
    actually separate commands in Windows with `&` (see
    http://support.microsoft.com/kb/279253).
    
    As a result of this the `supplemental_environment` isn't modified when
    the `path` is modified. We keep the path in memory as a
    `Cocaine::OS.path_separator`-separated string.
    
    In addition, this commit cleans up the OS detection slightly, moving it
    to a new class. In the future, we can do things like telling instead of
    asking.
    
    The result of all this is that the `ProcessRunner` and `PosixRunner`
    should be thread-safe, since we're not mucking around with the `ENV`
    when we run stuff anymore. This will make the high-throughput users of
    Paperclip happy, since they shouldn't see clobbering issues like they
    did before. I tested this by running the code supplied by @maxim,
    thoughtbot/paperclip#1709 (comment),
    with the unmodified cocaine 0.5.4 gem and with this commit in place. It
    failed in a few seconds before and ran for as long as I wanted after.
    
    This also might fix a bug? Previously, on Java on Windows, commands
    would be called prefixed with `env`, which doesn't exist on Windows. No
    one complained, though, so you can guess how popular Java on Windows is
    (or I'm completely screwing up).  Now we look for Windows first, then
    use `env` with Java, and then Unix like normal.
    jyurek committed Dec 3, 2014
Commits on Jun 25, 2014
  1. @jneander
Commits on Jun 20, 2014
  1. @jneander

    Use '==' for assertions against true and false

    This fixes tests breaking with non-monkey-patched 'true' and 'false' objects.
    jneander committed Jun 20, 2014
Commits on Jun 5, 2014
  1. @jyurek

    Merge pull request #69 from thoughtbot/gbw-test-against-latest-rubies

    Test against latest Rubies on Travis
    jyurek committed Jun 5, 2014
  2. @jyurek

    Merge pull request #68 from thoughtbot/gbw-show-master-status

    Only show master branch Travis status in README
    jyurek committed Jun 5, 2014
  3. @gabebw

    Remove unused allowed failure on Travis

    We were allowing `rbx-19mode` to fail, but not testing against it.
    gabebw committed Jun 5, 2014
  4. @gabebw
  5. @gabebw

    Whitespace

    gabebw committed Jun 5, 2014
  6. @gabebw
Commits on May 23, 2014
  1. @jyurek