Project

rbs_config

0.0
The project is in a healthy, maintained state
A RBS files generator for Config gem
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

rbs_config

rbs_config is a RBS generator for Rails configuration.

Now supports the following configuration:

  • Rails configuration (Rails.configuration)
  • config gem

Installation

Add a new entry to your Gemfile and run bundle install:

group :development do
  gem 'rbs_config', require: false
end

After the installation, please run rake task generator:

bundle exec rails g rbs_config:install

And then, please modify lib/tasks/rbs_config.rake to fit your application. For example, set it up like this if you're using Rails configuration:

RbsConfig::RakeTask.new do |task|
  task.type = :rails
  task.mapping = { conf_name: Rails.application.config_for(:conf_name) }
end

Then, rbs_config will generate RBS file for Rails.application.conf_name from your configuration file.

Usage

Run rbs:config:setup task:

bundle exec rake rbs:config:setup

Then rbs_config will scan your source code and generate RBS file into sig/config directory.

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install.

To release a new version, update the version number in version.rb, and then put a git tag (ex. git tag v1.0.0) and push it to the GitHub. Then GitHub Actions will release a new package to rubygems.org automatically.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/tk0miya/rbs_config. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the RbsConfig project's codebases and issue trackers is expected to follow the code of conduct.