|Source Repository:||Repository:Gentoo Portage Tree|
Summary: Centralized Ruby extension management system
IP Space Migration ContinuesAll Funtoo user containers in the 8.28 IP space will be moving into our new IP space (172.97) over the next few days. If you have DNS set up -- be sure to watch your container and update to the new IP! container.host.funtoo.org DNS will be updated after the move.
Funtoo Hosting IP MoveFuntoo user containers with IPs in the 72.18.x.x range will be gradually migrating to new IP addresses this week. If you have DNS entries for your containers, please be aware that your DNS will need to be updated.
New ARM StagesNew ARM Stages, built with a new toolchain, are now hitting mirrors. Existing ARM users should re-install using these stages (dated Aug 3, 2015 or later,) rather than upgrade using emerge.
Ruby is a programming language with its own package management system to extend the language.
Rubygems is a package management system to extend the ruby language.
Gems are packaged wonky in portage so this page will explain how to work with rubygems rather than fight it. Arch wiki outlines a similar method.
Emerge ruby & rubygems:
# emerge ruby rubygems
Remove conflicting gems:
# emerge -C dev-ruby/rake dev-ruby/racc dev-ruby/json dev-ruby/rdoc
Flush conflicting gems bad specs:
# mv /usr/local/lib64/ruby/gems/2.1.0/specifications/ /usr/local/lib64/ruby/gems/2.1.0/specifications.backup
Fetch gems via rubygems:
# gem install rdoc json rake racc
update gem system:
# update_rubygems # gem update --system # gem pristine --all
Now you're ready to use gem to manage gems.
To add gems to your path:
PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH"
ruby on rails
# gem install rails # rails new testproject # cd testproject # bundle install
puma is a fast web server for ruby on rails.
To enable puma in your project:
To pull in puma:
# bundle install
workers Integer(ENV['PUMA_WORKERS'] || 3) threads Integer(ENV['MIN_THREADS'] || 1), Integer(ENV['MAX_THREADS'] || 16) preload_app! rackup DefaultRackup port ENV['PORT'] || 3000 environment ENV['RACK_ENV'] || 'development' on_worker_boot do # worker specific setup ActiveSupport.on_load(:active_record) do config = ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env] config['pool'] = ENV['MAX_THREADS'] || 16 ActiveRecord::Base.establish_connection(config) end end
to start puma:
# bundle exec puma
or if you added gems bin dir to your path
a generic puma init script can be found here