Orthoses::Rails
Orthoses extension for Ruby on Rails. Orthoses::Rails automatically generates RBS for methods added by Rails.
Features
Orthoses::ActiveModel
-
HasSecurePassword
- Add signatures that generated form
has_secure_password
.
- Add signatures that generated form
Orthoses::ActiveRecord
-
BelongsTo
- Add signatures that generated form
belongs_to
.
- Add signatures that generated form
-
DelegatedType
- Add signatures that generated from
delegated_type
- Add signatures that generated from
-
Enum
- Add signatures that generated from
enum
- Add signatures that generated from
-
HasMany
- Add signatures that generated form
has_many
.
- Add signatures that generated form
-
HasOne
- Add signatures that generated form
has_one
.
- Add signatures that generated form
-
Scope
- Add signatures that generated form
scope
.
- Add signatures that generated form
Orthoses::ActiveSupport
-
ClassAttribute
- Add signatures that generated form
class_attribute
.
- Add signatures that generated form
-
Configurable
- Add signatures that generated from
config_accessor
- Add signatures that generated from
-
Delegation
- Add signatures that generated from
delegate
. The type definition of the method or instance variable specified byto
is required.
- Add signatures that generated from
-
MattrAccessor
- Add signatures that generated form
mattr_accessor
,cattr_accessor
,mattr_reader
,cattr_reader
,mattr_writer
andcattr_writer
.
- Add signatures that generated form
Installation
Install the gem and add to the application's Gemfile by executing:
$ bundle add orthoses-rails
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install orthoses-rails
Usage
Build your Rake task for RBS generation.
task :rbs_generate => :environment do
Orthoses::Builder.new do
use Orthoses::CreateFileByName
base_dir: Rails.root.join("sig/out"),
header: "# !!! GENERATED CODE !!!"
use Orthoses::Filter do |name, _content|
path, _lineno = Object.const_source_location(name)
return false unless path
%r{app/models}.match?(path)
end
use YourCustom::Middleware
use Orthoses::ActiveModel::HasSecurePassword
use Orthoses::ActiveRecord::BelongsTo
use Orthoses::ActiveRecord::HasMany
use Orthoses::ActiveRecord::HasOne
use Orthoses::ActiveSupport::ClassAttribute
use Orthoses::ActiveSupport::MattrAccessor
use Orthoses::Mixin
use Orthoses::Constant, strict: false
use Orthoses::ObjectSpaceAll
use Orthoses::Autoload
run -> {
Rails.application.eager_load!
}
end.call
end
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 run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/ksss/orthoses-rails. 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 Orthoses::Rails project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.