Project

rbs_draper

0.0
The project is in a healthy, maintained state
A RBS files generator for Draper decorators
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_draper

rbs_draper is a generator for decorators using Draper.

Installation

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

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

After the installation, please run rake task generator:

bundle exec rails g rbs_draper:install

If you have decorators having different names from models, you can specify the mapping from decorator names to model names in lib/tasks/rbs_draper.rake. For example:

RbsDraper::RakeTask.new do |task|
  task.mapping = -> { { AdminUserDecorator => User } }
end

Accessing Helpers

If your decorators access to the custom helpers via #h method, you need to define the types for the custom helpers into Draper::HelperProxy:

module Draper
  class HelperProxy
    include MyCustomHelper

    def my_custom_helper_method: (String, String) -> String
  end
end

Usage

  1. Run rbs:draper:clean at first

  2. Run other RBS generators (ex. rbs prototype, rbs_rails and so on)

  3. Run rbs:draper:setup task finally.

    bundle exec rake rbs:draper:setup
    

Then rbs_draper will scan your source code and type signatures, and will generate RBS files into sig/draper directory.

Note: rbs_draper uses other type signatures to generate decorators' signature. So it should be run after other tasks.

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_draper. 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 RbsDraper project's codebases, issue trackers is expected to follow the code of conduct.