steep
YARD
steep | YARD | |
---|---|---|
9 | 18 | |
1,323 | 1,905 | |
- | - | |
9.5 | 6.5 | |
7 days ago | about 1 month ago | |
Ruby | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
steep
-
A decent VS Code and Ruby on Rails setup
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
-
Bringing more sweetness to ruby with sorbet types 🍦
1. Lack of LSP: Since this new type check solution is quite new (at the time of writing), we don't have nice editor support via LSP. Things like steep will probably solve this in the future, but it's not a reliable solution now. On the other hand, Sorbet has existed for many years on the market and already provides a lot of tools for code intelligence, you can see more in this blog post.
-
State of the Ruby language server (LSP) ecosystem / looking for suggestions
https://github.com/soutaro/steep Also a type checker. This one uses rbs files. Not sure what subset of LSP features it supports either.
-
steep VS sorbet - a user suggested alternative
2 projects | 17 Apr 2022
-
Open-sourcing the Sorbet VS Code Extension
What type-checkers can use RBS? I find steep? Any others? Does anyone have a sense of how much use RBS is getting (and compared to Sorbet?) in the wild?
-
rbs collection was released!
rbs collection feature integrates this repository and tools use RBS, such as rbs command, Steep, and TypeProf.
-
Which one is a better VS Code language server for Ruby?
steep also can be run as a langserver, which is then used in the vscode plugin for type checking.
-
Static Typing in Ruby 3 Gives Me a Headache (But I Could Grow to Like It)
Once you have those in place, you use a tool called Steep, which is the official type checker "blessed" by the Ruby core team. Steep evaluates your code against your signature files and provides a printout of all the errors and warnings (similar to any other type checker, TypeScript and beyond).
-
15 Resources I Learned Something From This Weekend
soutaro / steep
YARD
-
What is JSDoc and why you may not need typescript for your next project?
JSDOC is a predefined method of documenting code for javascript ecosystem created in 1999 that works similar to libraries for other languages such as: Javadoc for java, YARD for ruby, etc..
-
Xeme: I'd value your opinion on my new Ruby gem
In addition to project documentation, you've included a lot of code comments. You could adopt a standardized format and use it to generate API documentation. RDoc and YARD are two options. If I were reviewing this code at work, I would probably ask you to remove comments that explain what, not why.
-
Programming types and mindsets
I still just document everything using YARD and focus on designing really obvious Object Models and of course write tests. I have tried using sord to convert my YARD type annotations to RBS or RBI, but you still have to fill in missing bits, then use steep and somehow load in RBS/RBI files for other gems and stdlib, and it's just an uphill battle since Ruby is dynamically typed by default. Obviously Dynamic Typing lends itself more to Dynamic Languages, where you can call an arbitrary method and let the language VM figure it out at runtime. Static or Strong Typing lends itself better to compiled languages where everything needs to be resolved at compile time and converted into object code. If I need to work in a compiled language, then I'll use Crystal, which also supports type inference. TypeScript's type syntax is quite nice, but I tend to avoid writing massive JavaScript code bases where a Type Checker helps catch subtle bugs, and instead prefer sticking to minimal amounts of vanilla JavaScriot in order to keep complexity low and not overwhelm the browser.
-
kwargs and YARD: @param or @option?
I had a dig into the file history, and it looks like we have to go back to 0.7 to find the old tag list. Here we find the info we need to understand the intent of the @option tag:
-
Comparing RDoc, YARD, and SDoc: Choosing the Right Documentation Generator for Your Ruby on Rails 5 Project
YARD: http://yardoc.org/
-
How do you document your code?
I tend to follow along using the YardDoc comment style. It has many small things I love about it; an example is when yardoc is followed it can be used to generate RBS/Sorbet type files with the sord gem, you can also generate application documents similar to rdoc/sdoc.
-
The right is on the left
That turns out to be a pretty common use case for markdown. Github, for example, renders your README.md is part of a git repo's "home" page. It's also common to have tooling that parses specially formatted comments in your source code and produce a documentation bundle, usually as a web page (ex. RDoc, YARD, JSDoc, etc.).
-
#buildinpublic, issue 1: building API documentation browser for command line
My first assumption was, that I should be able to generate markdown from the source. Same ruby and rails does now, but only tweaking a couple of parameters to generate .md files instead. YARD is being used for that and it supports any markup rdoc or yard.
-
The Why and How of Yardoc
I’ve long used the YARD format and chose to use that as my documentation syntax. I suppose I didn’t check with anyone on this decision and slowly started adding documentation. I want to use this post to synthesize my implicit decision and the benefits of using Yard as the documentation format.
-
Graphic representation of class / module inheritance in Rails?
That said, YARD is a ruby documentation tool that has a yard graph command you can use to dump a UML graph for your app into a .dot file, which can be used with lots of different graphing tools (usually graphviz but there are a bunch of online tools and open source projects that can visualize them for you).
What are some alternatives?
solargraph - A Ruby language server.
RDoc - RDoc produces HTML and online documentation for Ruby projects.
typeprof - An experimental type-level Ruby interpreter for testing and understanding Ruby code
Apipie - Ruby on Rails API documentation tool
vscode-solargraph - A Visual Studio Code extension for Solargraph.
grape-swagger - Add OAPI/swagger v2.0 compliant documentation to your grape API
rbs - Type Signature for Ruby
Asciidoctor - :gem: A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.
vscode-ruby - Provides Ruby language and debugging support for Visual Studio Code
Annotate - Annotate Rails classes with schema and routes info
sorbet - A fast, powerful type checker designed for Ruby
GitHub Changelog Generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.