Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf 2016 - Evaluate Ruby Without Ruby by Takashi Kokubun Have you ever wanted to implement a tool that can be configured by Ruby code? You may think such tools require MRI, JRuby or Rubinius to evaluate the configuration. But that's not true! Let's see how we can build a tool that evaluates Ruby without dependency on Ruby interpreter using mruby.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk "Evaluate Ruby Without Ruby" at RubyConf 2016, speaker Takashi Kokubun introduces the concept of using mruby, a lightweight implementation of Ruby, to evaluate Ruby DSL (Domain-Specific Language) configurations without relying on traditional Ruby interpreters like MRI. Takashi, a developer at Cookpad, shares insights on how to build a tool that allows the execution of Ruby scripts within a broader application ecosystem that is not inherently Ruby-based. Key Points Discussed: - **Introduction to DSL**: The session starts with an overview of Ruby DSL, highlighting its application in simplifying configurations for software packages like `ngx`, which can operate across different Linux distributions. It emphasizes the clarity offered by DSL compared to JSON for configuration tasks. - **Issues with MRI Dependency**: Takashi explains the motivations for seeking alternatives to MRI for DSL evaluation, emphasizing complications in bootstrapping development environments. Many Linux distributions do not come with MRI pre-installed, making initial setup cumbersome. The talk outlines how dependencies on MRI can increase complexity, especially regarding gem setups. - **The Role of mruby**: To solve these issues, the speaker presents mruby as a viable solution. By embedding mruby, developers can create small executable binaries that avoid the pitfalls of managing multiple Ruby versions and dependencies, simplifying the setup process. - **Implementation with mruby**: The implementation process involves obtaining the mruby repository, compiling it, and integrating it into existing software using the mruby C API. This allows Ruby scripts to be executed from non-Ruby apps, providing a versatile way to include Ruby DSL in various contexts. - **Configuring a Portable CRI App**: Takashi discusses two methods to implement applications with Ruby DSL using mruby: 1) Leveraging mruby in conjunction with Go to produce a single binary capable of executing integrated Ruby scripts. 2) Using mruby alone for both DSL and core functionalities, reinforcing the language interoperability. - **Handling Command Outputs**: The speaker also mentions the use of the open3 library for capturing outputs from executed commands, demonstrating how to streamline environment management effectively. Conclusions and Takeaways: - The primary goal discussed in this talk is to simplify development environment setups through a Ruby DSL that reduces reliance on MRI, making the process more accessible and efficient. Takashi emphasizes the role of mruby in bridging Ruby scripts with a broader application landscape, thereby enhancing productivity and reducing maintenance costs. - The talk concludes with an invitation for audience questions, fostering engagement around these technical solutions.
Suggest modifications
Cancel