This repository has been archived by the owner. It is now read-only.
Commits on Feb 2, 2018
  1. Finalize version 0.6.0

    jyurek committed Feb 2, 2018
Commits on Jan 23, 2018
  1. Merge pull request #104 from miohana/fix_redirect

    jyurek committed Jan 23, 2018
    Fixing the redirect to the new repository
Commits on Jan 22, 2018
  1. Fixing the redirect to the new repository

    miohana committed Jan 22, 2018
Commits on Jan 12, 2018
  1. News updates

    jyurek committed Jan 12, 2018
  2. Rename; Depend on the new gem.

    jyurek committed Jan 11, 2018
    Cocaine's side of the rename. From now on, there is no "Cocaine" except as a
    facile renaming of the new gem.
Commits on Nov 20, 2015
  1. v0.5.8

    jyurek committed Nov 20, 2015
Commits on Sep 30, 2015
  1. Even quote quotes at the end of the line

    jyurek committed Sep 30, 2015
    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
    for more info (and, yes, this goes back to 1.8.6).
Commits on Sep 25, 2015
  1. Do not expect STDERR in all Runners

    jyurek committed Dec 4, 2014
    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.
  2. Save both STDOUT and STDERR when possible

    jyurek committed Jun 4, 2014
    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.
Commits on Sep 1, 2015
  1. String conversion as a one-liner

    sapslaj authored and jyurek committed Aug 30, 2015
    Just cleaning up.
  2. Added symbol-handing spec

    sapslaj authored and jyurek committed Mar 13, 2015
  3. shell_quote now converts argument to a string automatically

    sapslaj authored and jyurek committed Feb 16, 2015
    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.
  4. Add rbx-2 to Travis CI

    brixen authored and jyurek committed May 22, 2015
    The 'rbx-2' designation will run on the most recent Rubinius 2.x release.
Commits on May 27, 2015
  1. require pathname during tests

    ktdreyer committed May 27, 2015
    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 ...
           uninitialized constant Pathname
    Add the gem to the spec_helper to ensure that Ruby loads it in all
Commits on Mar 2, 2015
  1. v0.5.7

    jyurek committed Mar 2, 2015
  2. Java does not need to run commands with `env`

    jyurek committed Mar 2, 2015
    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
  3. v0.5.6

    jyurek committed Mar 2, 2015
Commits on Feb 23, 2015
  1. Don't require "posix/spawn" every time PosixRunner#available? is called

    radarek committed Feb 23, 2015
Commits on Feb 6, 2015
  1. Add a semicolon to the PATH definition

    jyurek committed Feb 6, 2015
    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.
Commits on Dec 17, 2014
  1. Merge pull request #75 from ktdreyer/gemfile-url-https

    jyurek committed Dec 17, 2014
    Gemfile: use HTTPS for
  2. Merge pull request #74 from ktdreyer/gemspec-url-https

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

    ktdreyer committed Dec 17, 2014
    Use HTTPS so users' connections to the server will be
    verified with SSL.
Commits on Dec 16, 2014
  1. Add 2.1.5 and rbx to Travis

    jyurek committed Dec 16, 2014
Commits on Dec 9, 2014
  1. v0.5.5

    jyurek committed Dec 9, 2014
Commits on Dec 3, 2014
  1. Don't use ClimateControl when it's not necessary

    jyurek committed Dec 3, 2014
    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
    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
    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
    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.
Commits on Jun 25, 2014
Commits on Jun 20, 2014
  1. Use '==' for assertions against true and false

    jneander committed Jun 20, 2014
    This fixes tests breaking with non-monkey-patched 'true' and 'false' objects.
Commits on Jun 5, 2014
  1. Merge pull request #69 from thoughtbot/gbw-test-against-latest-rubies

    jyurek committed Jun 5, 2014
    Test against latest Rubies on Travis
  2. Merge pull request #68 from thoughtbot/gbw-show-master-status

    jyurek committed Jun 5, 2014
    Only show master branch Travis status in README