%gemname                %(/bin/sed -e "s/^\\(ruby\\|gem\\|rails-plugin\\)-//" <<< %name)

%__ruby                 %_bindir/ruby
%__setup_rb             %__ruby -rvendor-specific %_bindir/setup.rb
%__bundle               %__ruby -rvendor-specific %_bindir/bundle

# env required macros
%_ruby_gem_rplc_list    %nil
%gem_replace_version()  %global _ruby_gem_rplc_list %_ruby_gem_rplc_list:%*
%ruby_func()            %__ruby -rrubygems -rrbconfig -e %*
%ruby_rubyconf_func()   %__ruby -rrubygems -rrbconfig -e 'print RbConfig::CONFIG["%*"]'

# ruby build macros
%ruby_build_alias_part	%([ "gem-%{pkgname}" != "%{name}" ] || echo "--use=%gemname --alias=%pkgname --use=")
%ruby_build		%__setup_rb build --shebang=auto --prefixes=gem,ruby,rails-engine --gem-version-replace="$RPM_RUBY_GEMVERSION_REPLACE_LIST" %{expand:%%ruby_build_alias_part}
%ruby_install		%__setup_rb install --install_prefix=%buildroot --gem-version-replace="$RPM_RUBY_GEMVERSION_REPLACE_LIST"
%ruby_test		%__setup_rb test

# ruby folder macros
%ruby_gemspec           %(%ruby_func 'print File.join( Gem.dir, "specifications", "%gemname-%version.gemspec" )')
%ruby_gemspecdir        %(%ruby_func 'print File.join( Gem.dir, "specifications" )')
%ruby_gemextdir         %(%ruby_func 'print File.join( Gem.dir, "extensions", [ ::Gem.platforms.last.cpu, ::Gem.platforms.last.os ].join( "-" ), RbConfig::CONFIG["ruby_version"], "%gemname-%version" )')
%ruby_gemlibdir         %(%ruby_func 'print File.join( Gem.dir, "gems", "%gemname-%version" )')
%ruby_gemdocdir         %(%ruby_func 'print File.join( Gem.dir, "doc", "%gemname-%version" )')
%ruby_gemincludedir     %(%ruby_func 'print File.join( RbConfig::CONFIG["includedir"], "%gemname" )')
%ruby_includedir        %(%ruby_rubyconf_func includedir)')
%ruby_gemsextdir        %(%ruby_func 'print File.join( Gem.dir, "extensions", [ ::Gem.platforms.last.cpu, ::Gem.platforms.last.os ].join( "-" ), RbConfig::CONFIG["ruby_version"])')
%ruby_gemslibdir        %(%ruby_func 'print File.join( Gem.dir, "gems" )')
%ruby_gemsdocdir        %(%ruby_func 'print File.join( Gem.dir, "doc" )')
%ruby_ridir             %(%ruby_rubyconf_func ridir)
%ruby_sitedocdir        %ruby_ridir

# ------------------------------------------------------------------------
# old rules
# common vcs macro to replace VCS comment
# TODO move to common
%vcs()                  %global _vcs %*

%gem_build              %ruby_build
%gem_install            %ruby_install
%gem_test               %ruby_test
%gem_show               %__setup_rb show --install_prefix=%buildroot
%ruby_setup_rb		%__setup_rb


%ruby_vendor		%__ruby -rvendor-specific
%ruby_rbconfig		%ruby_vendor -rrbconfig

%ruby_rubyconf()	%ruby_rbconfig -e 'print RbConfig::CONFIG["%*"]'
%ruby_version           %(%ruby_rubyconf ruby_version)
%ruby_sitearch          %(%ruby_rubyconf sitearch)
%ruby_sitearchdir	%(%ruby_rubyconf sitearchdir)
%ruby__sitelibdir	%(%ruby_rubyconf sitelibdir)
%ruby_sitelibdir	%ruby_gemslibdir
%ruby_archdir		%(%ruby_rubyconf archdir)
%ruby_libdir		%(%ruby_rubyconf rubylibdir)
%ruby_siteincludedir	%(%ruby_rubyconf vendorhdrdir)
%ruby_sitearchdir	%(%ruby_rubyconf sitearchdir)
%ruby_includedir	%(%ruby_rubyconf rubyhdrdir)
%ruby_arch		%(%ruby_rubyconf arch)
%ruby_ridir		%(%ruby_rubyconf ridir)

%_ruby_lib_path		%ruby_libdir

%ruby_ri_sitedir	%ruby_gemsdocdir/**/ri
%rubygem_specdir        %ruby_gemspecdir

%rdoc			true
%ruby_configure		%ruby_vendor extconf.rb --ruby=%_bindir/ruby

%_compat_setup_rb       /usr/share/ruby-setup/setup-rb
%update_setup_rb	true
%ruby_config		%__setup_rb config --install_prefix=%buildroot --gem-version-replace="$RPM_RUBY_GEMVERSION_REPLACE_LIST"

%ruby_build_std() \
	%ruby_config %* \
	%ruby_build \
	%nil

%bundle_exec            %_bindir/bundle exec
%rake			%bundle_exec %_bindir/rake
%rake_install		DESTDIR=%buildroot %rake install
%rake_rdoc		true
%rake_test		true
%rake_spec		true

%rubygem_func()         %ruby_vendor -rrubygems -e %*
%rubygem_specdir        %(%rubygem_func 'print File.join( Gem.dir, "specifications" )')
%rubygem_gemdir         %(%rubygem_func 'print File.join( Gem.dir, "gems" )')

%ruby_test_unit         true
