<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Antonio Sánchez</title>
    <description>The latest articles on DEV Community by Antonio Sánchez (@bloq).</description>
    <link>https://dev.to/bloq</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F30253%2F7f8cdee8-4515-4979-99e2-5d26f92f525d.jpg</url>
      <title>DEV Community: Antonio Sánchez</title>
      <link>https://dev.to/bloq</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bloq"/>
    <language>en</language>
    <item>
      <title>Use SSL to develop Rails projects using Puma-dev</title>
      <dc:creator>Antonio Sánchez</dc:creator>
      <pubDate>Wed, 24 Mar 2021 17:21:21 +0000</pubDate>
      <link>https://dev.to/bloq/use-ssl-to-develop-rails-projects-using-puma-dev-49jl</link>
      <guid>https://dev.to/bloq/use-ssl-to-develop-rails-projects-using-puma-dev-49jl</guid>
      <description>&lt;p&gt;When developing Rails apps we use http://&lt;a href="http://localhost"&gt;localhost&lt;/a&gt;:3000 as a default URL to access. It would be nice to use custom domains like &lt;code&gt;awesome-rails-app.test&lt;/code&gt; . Even better if we can use https so it could be accessed using &lt;a href="https://awesome-app.tesst"&gt;https://awesome-rails-app.test&lt;/a&gt; . in this case &lt;strong&gt;puma-dev&lt;/strong&gt; can help you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;I will describe the installation for macOS, for Linux you can use &lt;a href="https://github.com/puma/puma-dev#linux-support"&gt;https://github.com/puma/puma-dev#linux-support&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Add puma in the Gemfile.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Gemfile&lt;/span&gt;
&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'puma'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install Puma-dev using Homebrew.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;puma/puma/puma-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Setup
&lt;/h2&gt;

&lt;p&gt;Next we need to configure some DNS settings and Configure puma-dev to run in the background. By default it uses the domain &lt;code&gt;.test&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;puma-dev &lt;span class="nt"&gt;-setup&lt;/span&gt;
puma-dev &lt;span class="nt"&gt;-install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;Symlink you app's folder into &lt;code&gt;~/.puma-dev&lt;/code&gt; .&lt;/p&gt;

&lt;p&gt;Also you can use &lt;code&gt;puma-dev link&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="n"&gt;awesome&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;rails&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;
&lt;span class="n"&gt;puma&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt; &lt;span class="n"&gt;link&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="n"&gt;awesome&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;rails&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now access to the URL: &lt;a href="https://awesome-rails-app.test"&gt;https://awesome-rails-app.test&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;That's it!&lt;/p&gt;

&lt;h3&gt;
  
  
  Restart
&lt;/h3&gt;

&lt;p&gt;Just &lt;code&gt;touch tmp/restart&lt;/code&gt; inside your Rails project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stop
&lt;/h3&gt;

&lt;p&gt;These will stop all the apps added into &lt;code&gt;~/.puma-dev&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;puma&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;stop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Bonus - Debugging using Rubymine
&lt;/h2&gt;

&lt;p&gt;If you use Rubymine as your IDE you can debug your app simply by pressing &lt;code&gt;Option + Shift + F5&lt;/code&gt; to attach to the puma-dev process. (See References below)&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/puma/puma-dev"&gt;https://github.com/puma/puma-dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jetbrains.com/help/ruby/attaching-to-process.html"&gt;https://www.jetbrains.com/help/ruby/attaching-to-process.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>puma</category>
      <category>ssl</category>
    </item>
  </channel>
</rss>
