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-5.5.1 docs/jungle/rc.d/puma
puma-5.5.0-java docs/jungle/rc.d/puma
puma-5.5.0 docs/jungle/rc.d/puma
piesync-puma-5.4.0.1 docs/jungle/rc.d/puma
puma-5.4.0-java docs/jungle/rc.d/puma
puma-5.4.0 docs/jungle/rc.d/puma
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/puma-5.2.1/docs/jungle/rc.d/puma
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/puma-5.1.1/docs/jungle/rc.d/puma
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/puma-5.2.2/docs/jungle/rc.d/puma
puma-5.3.2-java docs/jungle/rc.d/puma
puma-5.3.2 docs/jungle/rc.d/puma
puma-5.3.1-java docs/jungle/rc.d/puma
puma-5.3.1 docs/jungle/rc.d/puma
puma-5.3.0-java docs/jungle/rc.d/puma
puma-5.3.0 docs/jungle/rc.d/puma
puma-5.2.2-java docs/jungle/rc.d/puma
puma-5.2.2 docs/jungle/rc.d/puma
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/puma-5.1.1/docs/jungle/rc.d/puma
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/puma-5.2.1/docs/jungle/rc.d/puma
puma-5.2.1-java docs/jungle/rc.d/puma