Sha256: 6244275ef1fd119c1410d3274a5696f580d0fad0082b47c261efc8365dc2086c

Contents?: true

Size: 1.54 KB

Versions: 91

Compression:

Stored size: 1.54 KB

Contents

#!/bin/sh
#

# PROVIDE: puma

. /etc/rc.subr

name="puma"
start_cmd="puma_start"
stop_cmd="puma_stop"
restart_cmd="puma_restart"
rcvar=puma_enable
required_files=/usr/local/etc/puma.conf

puma_start()
{
	server_count=$(/usr/local/bin/jq ".servers[] .ruby_env" /usr/local/etc/puma.conf | wc -l)
	i=0	
	while [ "$i" -lt "$server_count" ]; do
		rb_env=$(/usr/local/bin/jq -r ".servers[$i].ruby_env" /usr/local/etc/puma.conf)
		dir=$(/usr/local/bin/jq -r ".servers[$i].dir" /usr/local/etc/puma.conf)
		user=$(/usr/local/bin/jq -r ".servers[$i].user" /usr/local/etc/puma.conf)
		rb_ver=$(/usr/local/bin/jq -r ".servers[$i].ruby_version" /usr/local/etc/puma.conf)
		case $rb_env in
			"rbenv")
				cd $dir && rbenv shell $rb_ver && /usr/sbin/daemon -u $user bundle exec puma -C $dir/config/puma.rb
				;;
			*)
				;;
		esac
		i=$(( i + 1 ))
	done
}

puma_stop()
{
    pkill ruby
}

puma_restart()
{
	server_count=$(/usr/local/bin/jq ".servers[] .ruby_env" /usr/local/etc/puma.conf | wc -l)
	i=0	
	while [ "$i" -lt "$server_count" ]; do
		rb_env=$(/usr/local/bin/jq -r ".servers[$i].ruby_env" /usr/local/etc/puma.conf)
		dir=$(/usr/local/bin/jq -r ".servers[$i].dir" /usr/local/etc/puma.conf)
		user=$(/usr/local/bin/jq -r ".servers[$i].user" /usr/local/etc/puma.conf)
		rb_ver=$(/usr/local/bin/jq -r ".servers[$i].ruby_version" /usr/local/etc/puma.conf)
		case $rb_env in
			"rbenv")
				cd $dir && rbenv shell $rb_ver && /usr/sbin/daemon -u $user bundle exec puma -C $dir/config/puma.rb
				;;
			*)
				;;
		esac
		i=$(( i + 1 ))
	done
}

load_rc_config $name
run_rc_command "$1"

Version data entries

91 entries across 88 versions & 8 rubygems

Version Path
puma-6.6.0-java docs/jungle/rc.d/puma
puma-6.6.0 docs/jungle/rc.d/puma
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/puma-6.5.0/docs/jungle/rc.d/puma
puma-6.5.0-java docs/jungle/rc.d/puma
puma-6.5.0 docs/jungle/rc.d/puma
jun-puma-1.0.1-java docs/jungle/rc.d/puma
jun-puma-1.0.0-java docs/jungle/rc.d/puma
puma-5.6.9-java docs/jungle/rc.d/puma
puma-6.4.3-java docs/jungle/rc.d/puma
puma-6.4.3 docs/jungle/rc.d/puma
puma-5.6.9 docs/jungle/rc.d/puma
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/puma-5.6.8/docs/jungle/rc.d/puma
tinymce-rails-7.1.2 vendor/bundle/ruby/3.3.0/gems/puma-6.4.2/docs/jungle/rc.d/puma
puma-5.6.8-java docs/jungle/rc.d/puma
puma-5.6.8 docs/jungle/rc.d/puma
puma-6.4.2-java docs/jungle/rc.d/puma
puma-6.4.2 docs/jungle/rc.d/puma
puma-6.4.1-java docs/jungle/rc.d/puma
puma-6.4.1 docs/jungle/rc.d/puma
puma-6.4.0-java docs/jungle/rc.d/puma