%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/modules/rbenv.pyc

�
���^c@@s�dZddlmZmZmZddlZddlZddlZddlZ	ddl
Z	ddlZ	ddlZ	ddl
mZddlmZeje�Zidd6Zidd6dd	6Zd
�Zd�Zd�Zdd
�Zdd�Zdddd�Zdd�Zdd�Zdd�Zdd�Z ddd�Z!ddd�Z"dd�Z#dd�Z$dd�Z%dd�Z&ddd�Z'dd�Z(dd�Z)ddd�Z*dd�Z+dS(u�
Manage ruby installations with rbenv. rbenv is supported on Linux and macOS.
rbenv doesn't work on Windows (and isn't really necessary on Windows as there is
no system Ruby on Windows). On Windows, the RubyInstaller and/or Pik are both
good alternatives to work with multiple versions of Ruby on the same box.

http://misheska.com/blog/2013/06/15/using-rbenv-to-manage-multiple-versions-of-ruby/

.. versionadded:: 0.16.0
i(tabsolute_importtunicode_literalstprint_functionN(tSaltInvocationError(tsixulistulist_u
rbenv.rooturbenv.build_envcC@s tjjj�rtdfStS(u)
    Only work on POSIX-like systems
    uQThe rbenv execution module failed to load: only available on non-Windows systems.(tsalttutilstplatformt
is_windowstFalsetTrue(((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt__virtual__*s
cC@s=|dkr$tjjjd�}ntjjj|�}|S(Nu(tNoneRRtargstshlex_split(tstret((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt_shlex_split3scC@s�|si}nt|t�r6tjjj|�}nt|t�sNi}nx;d�tj|�D�D] }t	j
d|�d||<qhW|S(Ncs@s'|]\}}|dkr|VqdS(N(R(t.0txty((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pys	<genexpr>FsuREnvironment variable '%s' passed without a value. Setting value to an empty stringu(t
isinstancetlistRRtdatatrepack_dictlisttdictRt	iteritemstlogterror(tenvtbad_env_key((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt
_parse_env>s		 	cC@st|�}dj|�S(Nu
{0}/bin/rbenv(t_rbenv_pathtformat(trunastpath((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt
_rbenv_binNscC@sZd}|dkr+tdd�p%d}ntdd�pGdj|�}tjj|�S(Nurootu
config.optionu
rbenv.rootu/usr/local/rbenvu~{0}/.rbenv(Nuroot(Rt__salt__R!tosR#t
expanduser(R"R#((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyR SscC@s�t|�stSt|�}t|�}t|�}||d<td|g|d|d|�}t|t�r�|j|�|S|ddkr�|dStSdS(Nu
RBENV_ROOTucmd.run_allR"Ruretcodeiustdout(	tis_installedR	R$R RR%RRtupdate(tcommandRR"RtbinaryR#tenvirontresult((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt_rbenv_exec^s 

	
cC@sHtjj|�rtSddd|g}td|d|dt�dkS(Nugitucloneu(https://github.com/sstephenson/rbenv.gitucmd.retcodeR"tpython_shelli(R&R#tisdirR
R%R	(R#R"tcmd((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt_install_rbenvxscC@sWdj|�}tjj|�r%tSddd|g}td|d|dt�dkS(	Nu{0}/plugins/ruby-buildugitucloneu-https://github.com/sstephenson/ruby-build.gitucmd.retcodeR"R/i(R!R&R#R0R
R%R	(R#R"R1((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt_install_ruby_build�scC@sBtjj|�stStdddgd|d|dt�dkS(Nucmd.retcodeugitupullR"tcwdR/i(R&R#R0R	R%(R#R"((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt
_update_rbenv�scC@sQdj|�}tjj|�s%tStdddgd|d|dt�dkS(	Nu{0}/plugins/ruby-builducmd.retcodeugitupullR"R4R/i(R!R&R#R0R	R%(R#R"((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt_update_ruby_build�scC@s@|pt|�}tjj|�}t||�o?t||�S(un
    Install rbenv systemwide

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.install
    (R R&R#R'R2R3(R"R#((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pytinstall�s
cC@s@|pt|�}tjj|�}t||�o?t||�S(u
    Updates the current versions of rbenv and ruby-build

    runas
        The user under which to run rbenv. If not specified, then rbenv will be
        run as the user under which Salt is running.

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.update
    (R R&R#R'R5R6(R"R#((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyR)�scC@stdt|��S(uv
    Check if rbenv is installed

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.is_installed
    ucmd.has_exec(R%R$(R"((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyR(�s
cC@s tjdd|�}d}g}tddkrA|jd�ntdd	�rk|jtdd	��n*td
d�r�|jtd
d��n|r�dj|�}ni}td
|gd|d|d|�}|tk	r|ddkrt	d|�|dSt
|d|�tSdS(uw
    Install a ruby implementation.

    ruby
        The version of Ruby to install, should match one of the
        versions listed by :py:func:`rbenv.list <salt.modules.rbenv.list>`

    runas
        The user under which to run rbenv. If not specified, then rbenv will be
        run as the user under which Salt is running.

    Additional environment variables can be configured in pillar /
    grains / master:

    .. code-block:: yaml

        rbenv:
          build_env: 'CONFIGURE_OPTS="--no-tcmalloc" CFLAGS="-fno-tree-dce"'

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.install_ruby 2.0.0-p0
    u^ruby-uuosuFreeBSDuNetBSDuOpenBSDu
MAKE=gmakeu
config.geturbenv:build_envu
config.optionurbenv.build_envu uinstallRR"RuretcodeiustderrN(uFreeBSDuNetBSDuOpenBSD(tretsubRt
__grains__tappendR%tjoinR.R	trehashtuninstall_ruby(trubyR"Rtenv_listR((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pytinstall_ruby�s$$
cC@s2tjdd|�}tdd|gd|�tS(u�
    Uninstall a ruby implementation.

    ruby
        The version of ruby to uninstall. Should match one of the versions
        listed by :py:func:`rbenv.versions <salt.modules.rbenv.versions>`.

    runas
        The user under which to run rbenv. If not specified, then rbenv will be
        run as the user under which Salt is running.

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.uninstall_ruby 2.0.0-p0
    u^ruby-uu	uninstallu--forceR"(R8R9R.R
(R?R"((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyR>scC@s2tddgd|�}|tkr(gS|j�S(uz
    List the installed versions of ruby

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.versions
    uversionsu--bareR"(R.R	t
splitlines(R"R((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pytversionss
cC@sS|r td|gd|�tStdgd|�}|tkrEdS|j�SdS(u�
    Returns or sets the currently defined default ruby

    ruby
        The version to set as the default. Should match one of the versions
        listed by :py:func:`rbenv.versions <salt.modules.rbenv.versions>`.
        Leave blank to return the current default.

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.default
        salt '*' rbenv.default 2.0.0-p0
    uglobalR"uN(R.R
R	tstrip(R?R"R((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pytdefault)s
cC@sgg}tddgd|�}|rcx<|j�D]+}|dkrIq1n|j|j��q1Wn|S(u
    List the installable versions of ruby

    runas
        The user under which to run rbenv. If not specified, then rbenv will be
        run as the user under which Salt is running.

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.list
    uinstallu--listR"uAvailable versions:(R.RBR;RD(R"Rtoutputtline((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pytlist_AscC@stdgd|�tS(u
    Run ``rbenv rehash`` to update the installed shims

    runas
        The user under which to run rbenv. If not specified, then rbenv will be
        run as the user under which Salt is running.

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.rehash
    urehashR"(R.R
(R"((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyR=YscC@s#|std��nt|�}|s0i}ntjjjtjjtjj	j|d�tjjj
tjd�f��|td�<ytjj
j|�}Wn/tk
r�tjj
jtj|��}nXtd|d|d|dt�}|dd	krtd|�|d
StSdS(u�
    Execute a ruby command with rbenv's shims from the user or the system

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.do 'gem list bundler'
        salt '*' rbenv.do 'gem list bundler' deploy
    uCommand must be specifiedushimsuPATHucmd.run_allR"RR/uretcodeiustdoutN(RR RRtstringutilstto_strR&tpathsepR<R#t
to_unicodeR,tstrR
RtAttributeErrorRt	text_typeR%R	R=(tcmdlineR"RR#tcmdauthR-((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pytdoks,		/
"	
cC@s�|std��nytjjj|�}Wn/tk
r_tjjjtj|��}nXi}|r||d<|}n|}t|d|d|�S(u
    Execute a ruby command with rbenv's shims using a specific ruby version

    CLI Example:

    .. code-block:: bash

        salt '*' rbenv.do_with_ruby 2.0.0-p0 'gem list bundler'
        salt '*' rbenv.do_with_ruby 2.0.0-p0 'gem list bundler' runas=deploy
    uCommand must be specifiedu
RBENV_VERSIONR"R(	RRRR
RRNRRORR(R?RPR"RR1((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pytdo_with_ruby�s
"
	(,t__doc__t
__future__RRRR&R8tloggingtsalt.utils.argsRtsalt.utils.datatsalt.utils.pathtsalt.utils.platformtsalt.exceptionsRtsalt.extRt	getLoggert__name__Rt__func_alias__Rt__opts__RRRR$R R.R2R3R5R6R7R)R(RAR>RCRERHR=RRRS(((s6/usr/lib/python2.7/site-packages/salt/modules/rbenv.pyt<module>sJ

				


52

Zerion Mini Shell 1.0