Memphis Ruby

Memphis Ruby

Fork me on GitHub

Posts and Meeting Updates

Jason Charnes — January 20, 2017

2017 started out with a bang for MemphisRuby. Daniel Pritchett, Memphis Ruby Users Group (MRUG) founder, and Clear Function developer gave a presentation entitled: “The Secret about Makefiles Front-end Developers Don’t Want You To Know!”

Daniel showed us a Rails project his team built using NPM scripts and Webpack instead of the Asset Pipeline.

He was looking to rely less on his Continous Integration’s (CI) settings and more on a configurable script inside the project. That lead him to Makefiles. By creating a Makefile in his project, he was able to tell the CI to rely on the Makefile, instead of explicitly telling the CI what steps to take to build the tests.

Once Daniel completed his presentation and let us grasp the magic he had just shown us, he took the opportunity to show us some of his favorite SideKiq code in the project. If you’ve been to a MRUG meetup before, then you know the love Ruby developers in Memphis have for SideKiq.

In fact, so much so that Mike Cochran gave us an impromptu presentation on some SideKiq code he has written in a project. Mike also recently gave a SideKiq presentation at our November meetup. We love SideKiq.

We’d love to see you at the next meetup!

Tagged: ruby, rails, npm, webpack, makefile
Jason Charnes — July 22, 2016

Hello again! Last night we had our July 2016 meetup at the FedEx Institute of Technology. Our resident microservice expert Josh W. Lewis gave us a fantastic, and well balanced, look at microservices. Starting with an overview of microservices, Josh showed us some of the pros and cons of microservices compared to the “monolithic” approach. He then explained how the different services communicate, as well as some examples of individual responsibilities each service can have.

Josh Presenting at Memphis Ruby Users Group

Josh wrapped up the presentation with a walkthrough of Pliny. Pliny seems like a fascinating approach to building APIs with Ruby. I found Josh’s talk to be a very good way to help developers decide when microservices are appropriate. The night didn’t stop with microservices! We ended with a walk around the University of Memphis catching Pokemon.

If you’re interested in Ruby, new to Ruby, experienced with Ruby, or just wanna hang out- come check out our next meetup!

Special thanks to the University of Memphis for hosting the event, as well as LensRentals for the Pizza.

Josh W. Lewis — January 28, 2015

This month, we had a great meetup at Coroutine’s new office space on Broad Ave.

Jason Charnes educated us on how to decorate your models as an alternative to Rails' helper system. A tradidtional Rails view helper might look like this:

module ChurchesHelper
  def remove_church_from_name(name)
    name.split(" ").reject{ |e| e == "Church" }.join(" ")
  end
end

And you’d use it like this:

  <h5><%= remove_church_from_name(c.name) %></h5>

This works, and helps keep your code DRY, though you usually end up with long method names, and several concerns mixed into a module.

Draper is a RubyGem for adding decorating methods to models. With Draper, you can do something like this:

class ChurchDecorator < Draper::Decorator
  def name
    model.name.split(" ").reject{ |e| e == "Church" }.join(" ")
  end
end

Which you can use in your views like this:

  <h5><%= @church.name %></h5>

It certainly feels more Object Oriented, and in my book, it’s a little clearer. Jason showed us how to get setup with Draper, and explained some of the deeper semantics. Check out Jason’s slides here.

We concluded the event with an inpromptu editor showdown. Various developers showcased their editors, with varying degrees of success (I hope I didn’t turn anyone off on Vim). We saw Vim, Atom, and PHPStorm, and talked about others like Sublime and TextMate.

Thanks to Coroutine for the meeting space and the awesome Broadway Pizza.

Tagged: ruby, gem, decorators
Jason Charnes — September 30, 2014

Unitwise

Our September meetup featured an extensive look at the gem Unitwise. Unitwise is a Ruby library for unit measurement conversion and math.

Josh, Unitwise creator and fellow Memphis Rubyist, walked us through Unitwise. For those who haven’t needed such in-depth measurement conversion, myself included, he shared his initial use case for a unit conversion tool. Once everyone was on the same page, he moved to the core of the gem and all it’s amazing capabilites. Josh loaded up a Ruby console and showed us the inner workings of Unitwise, while showing us the code behind it all.

For me to try and explain all of Unitwise’s true capabilites wouldn’t give it justice. Josh has set up a demo site that will let you see it in action. I recommend you check it out!

Shout-outs

Next Meeup

Have something you want to share with us? Slots are still open for next month.

Tagged: ruby, gems, unitwise
Josh W. Lewis — August 19, 2014

This month, we had another fun an informative meetup at Coroutine. Just one presentation this time, but a good one:

Generating Word Documents with Caracal

John Dugan gave us a great walkthrough of Caracal. It’s an open source library for generating Microsoft Word documents with an HTML-like Ruby API. Caracal lets you build word documents like this:

Caracal::Document.save 'example.docx' do |docx|
  # page 1
  docx.h1 'Some Title'
  docx.hr
  docx.br
  docx.h2 'Some Section'
  docx.p  'Lorem ipsum dolor....'
  docx.br
  docx.table @my_data, border_size: 4 do
    cell_style rows[0], background: 'cccccc', bold: true
  end

  # page 2
  docx.page
  docx.p  'Lorem ipsum dolor....'
  docx.ul do
    li 'Item 1'
    li 'Item 2'
  end
  docx.br
  docx.img image_url('graph.png'), width: 500, height: 300
end

The review demonstrated the library’s functionality but also a good portion of the libraries internal architecture.

The overall response was very positive. Caracal appears to be a well thought out library. It has a great API, and it’s internals abide by the principles of SOLID.

Thanks to all who came, and to Coroutine for the food and meeting space.

Tagged: ruby, gem
Josh W. Lewis — April 21, 2014

Last Tuesday’s meetup at Coroutine was another great one. We had two presentations:

Exploring Ruby’s Enumerable and Comparable

I got us started with a quick demonstration on Ruby’s Enumerable. I covered some simple use cases of enumerable’s methods, then finished it up with an example scenario using Enumerable and Comparable as mixins. You can check out the slides and the sample code.

Spree Commerce Tour

Daniel Pritchett gave us a great tour of Spree Commerce. It’s a complete e-commerce solution built on Ruby on Rails. He walked us through a demo site he had setup, where he highlighted products, checkout, site administration, and hub integration.


Thanks to all who came, and to Coroutine for the food and meeting space.

Slots are still open for next month! If you have something you want to present, contact us - we would love to see it!

Tagged: ruby, rails, spree
Josh W. Lewis — March 18, 2014

We had another great meetup at Coroutine tonight! While the initial crowd was small, we had more attendees trickle in for a pretty good turnout. We had pizza, some nice conversation, and two presentations:

Taking an Application from Concept to Reality

Daniel Soskel went over the development process he used for his parts store app. This was a Rails application that he built for his senior project. He showed us how he determined his database structure and data modeling, and finished with a nice demo.

Implementing Sidekiq Workers in Go

Mike Cochran demonstrated a very interesting use case for Go. He replaced his resource intensive Ruby Sidekiq workers with equivalent ones written in Go. Watching these workers run highlighted how well Go’s focus on concurrency and performance can pay off.


Thanks to both of our presenters, and Coroutine for the pizza and meeting space. I am looking forward to the next meeting, where Daniel Pritchett will present about an unknown topic related to Spree Commerce.

Tagged: ruby, rails, sidekiq, go
Daniel Pritchett — February 19, 2014

Last night’s meetup went off well - thanks Jessica and Daniel for presenting and thanks everyone for attending!

Presentations

MemphisRuby Library

We’ve just received our first publisher-donated books from Informit’s Professional Ruby series. Contact me if you’d like access to Eloquent Ruby, Practical Object-Oriented Design in Ruby (My personal favorite!), or Rails Tutorial. I’ll need to create a public spreadsheet for listing and tracking the library contents. Volunteers welcome.

Housekeeping

Check out our sweet new website! Thanks Keith Mattix and Josh Lewis for all your hard work. Click the red github banner at the top of this page to submit your own enhancements or new blog posts.

Don’t forget to sign up for the MemphisRuby mailing list! You can also swing by #memphisruby on freenode. Links to these are at the bottom of the Memphis Ruby homepage.

Tagged: ruby, rails, rubygems, books
Keith Mattix — February 18, 2014

Time: 6:00pm - 8:00pm
Location: Coroutine - 516 Tennessee Street Suite 422, Memphis, TN
Signup: Meetup.com

This month’s presentation will feature Jessica Biggs who will walk through how to build an invitation system for an app with “User Groups” (a user can invite other registered users to their group through the app or unregistered users through email)“. We will also have Daniel Lissner talk on how to build and host your own private gems.

Tagged: ruby, meeting