mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-17 02:39:08 -07:00
76 lines
1.6 KiB
Bash
76 lines
1.6 KiB
Bash
# Copyright 1999-2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
USE_RUBY="ruby32 ruby33 ruby34 ruby40"
|
|
|
|
RUBY_FAKEGEM_BINWRAP=""
|
|
RUBY_FAKEGEM_TASK_TEST="CI=true test"
|
|
|
|
RUBY_FAKEGEM_EXTRADOC="README.md"
|
|
|
|
inherit ruby-fakegem
|
|
|
|
DESCRIPTION="Create JSON structures via a Builder-style DSL"
|
|
HOMEPAGE="https://github.com/rails/jbuilder"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="2"
|
|
KEYWORDS="~amd64 ~riscv"
|
|
|
|
SUPPORTED_RAILS=( 8.1 8.0 7.2 )
|
|
RAILS_DEPENDENCIES="dev-ruby/activesupport dev-ruby/actionview"
|
|
RAILS_TEST_DEPENDENCIES="${RAILS_DEPENDENCIES} dev-ruby/rails"
|
|
|
|
rails_dep() {
|
|
local deps="${1}"
|
|
local rails dep
|
|
dep_string="|| ( "
|
|
for rails in ${SUPPORTED_RAILS[@]}; do
|
|
dep_string+=" ("
|
|
for dep in ${deps}; do
|
|
dep_string+=" ${dep}:${rails}"
|
|
done
|
|
dep_string+=" )"
|
|
done
|
|
dep_string+=" )"
|
|
echo "${dep_string}"
|
|
}
|
|
ruby_add_rdepend "$(rails_dep "${RAILS_DEPENDENCIES}")"
|
|
ruby_add_bdepend "test? ( $(rails_dep "${RAILS_TEST_DEPENDENCIES}") )"
|
|
unset rails_dep
|
|
|
|
ruby_add_bdepend "test? (
|
|
dev-ruby/bundler
|
|
dev-ruby/mocha:*
|
|
)"
|
|
|
|
all_ruby_prepare() {
|
|
# avoid appraisal dependency
|
|
sed -e '/appraisal/ s:^:#:' \
|
|
-i Gemfile gemfiles/*.gemfile || die
|
|
}
|
|
|
|
each_ruby_test() {
|
|
rails_satisfied_deps() {
|
|
local rails="${1}"
|
|
local found=0
|
|
local dep
|
|
for dep in ${RAILS_TEST_DEPENDENCIES}; do
|
|
if ! has_version -b "${dep}:${rails}"; then
|
|
found=1
|
|
break
|
|
fi
|
|
done
|
|
return ${found}
|
|
}
|
|
local rails
|
|
for rails in ${SUPPORTED_RAILS[@]}; do
|
|
if rails_satisfied_deps ${rails}; then
|
|
einfo "Testing rails ${rails} with ${RUBY}"
|
|
BUNDLE_GEMFILE="gemfiles/rails_${rails/./_}.gemfile" each_fakegem_test
|
|
fi
|
|
done
|
|
}
|