Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Polished Ruby Programming
Polished Ruby Programming

Polished Ruby Programming: Build better software with more intuitive, maintainable, scalable, and high-performance Ruby code

eBook
$38.99 $43.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Polished Ruby Programming

Chapter 1: Getting the Most out of Core Classes

Ruby is shipped with a rich library of core classes. Almost all Ruby programmers are familiar with the most common core classes, and one of the easiest ways to make your code intuitive to most Ruby programmers is to use these classes.

In the rest of this chapter, you'll learn more about commonly encountered core classes, as well as principles for how to best use each class. We will cover the following topics:

  • Learning when to use core classes
  • Best uses for true, false, and nil objects
  • Different numeric types for different needs
  • Understanding how symbols differ from strings
  • Learning how best to use arrays, hashes, and sets
  • Working with Struct – one of the underappreciated core classes

By the end of this chapter, you'll have a better understanding of many of Ruby's core classes, and how best to use each of them.

Technical requirements

In this chapter and all chapters of this book, code given in code blocks is designed to execute on Ruby 3.0. Many of the code examples will work on earlier versions of Ruby, but not all. You will find the code files on GitHub at https://github.com/PacktPublishing/Polished-Ruby-Programming/tree/main/Chapter01.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Learn Ruby web application design principles and strategies for databases, security, and testing from a Ruby committer
  • Understand the design principles behind polished Ruby code and trade-offs between implementation approaches
  • Use metaprogramming and DSLs to reduce the amount of code needed without decreasing maintainability

Description

Anyone striving to become an expert Ruby programmer needs to be able to write maintainable applications. Polished Ruby Programming will help you get better at designing scalable and robust Ruby programs, so that no matter how big the codebase grows, maintaining it will be a breeze. This book takes you on a journey through implementation approaches for many common programming situations, the trade-offs inherent in each approach, and why you may choose to use different approaches in different situations. You'll start by refreshing Ruby fundamentals, such as correctly using core classes, class and method design, variable usage, error handling, and code formatting. Then you'll move on to higher-level programming principles, such as library design, use of metaprogramming and domain-specific languages, and refactoring. Finally, you'll learn principles specific to web application development, such as how to choose a database and web framework, and how to use advanced security features. By the end of this Ruby programming book, you’ll be a well rounded web developer with a deep understanding of Ruby. While most code examples and principles discussed in the book apply to all Ruby versions, some examples and principles are specific to Ruby 3.0, the latest release at the time of publication.

Who is this book for?

This book is for Ruby programmers who are comfortable in coding with Ruby but want to advance their skills by mastering the deeper principles and best practices behind writing maintainable, scalable, optimized, and well-structured Ruby code. This book won’t teach you the basics of Ruby – you’ll need intermediate knowledge and practical experience before you can dive in.

What you will learn

  • Use Ruby s core classes and design custom classes effectively
  • Explore the principles behind variable usage and method argument choice
  • Implement advanced error handling approaches such as exponential backoff
  • Design extensible libraries and plugin systems in Ruby
  • Use metaprogramming and DSLs to avoid code redundancy
  • Implement different approaches to testing and understand their trade-offs
  • Discover design patterns, refactoring, and optimization with Ruby
  • Explore database design principles and advanced web app security

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jul 16, 2021
Length: 434 pages
Edition : 1st
Language : English
ISBN-13 : 9781801072724
Category :
Languages :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Jul 16, 2021
Length: 434 pages
Edition : 1st
Language : English
ISBN-13 : 9781801072724
Category :
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 148.97
Polished Ruby Programming
$54.99
The Ruby Workshop
$43.99
Layered Design for Ruby on Rails Applications
$49.99
Total $ 148.97 Stars icon

Table of Contents

22 Chapters
Section 1: Fundamental Ruby Programming Principles Chevron down icon Chevron up icon
Chapter 1: Getting the Most out of Core Classes Chevron down icon Chevron up icon
Chapter 2: Designing Useful Custom Classes Chevron down icon Chevron up icon
Chapter 3: Proper Variable Usage Chevron down icon Chevron up icon
Chapter 4: Methods and Their Arguments Chevron down icon Chevron up icon
Chapter 5: Handling Errors Chevron down icon Chevron up icon
Chapter 6: Formatting Code for Easy Reading Chevron down icon Chevron up icon
Section 2: Ruby Library Programming Principles Chevron down icon Chevron up icon
Chapter 7: Designing Your Library Chevron down icon Chevron up icon
Chapter 8: Designing for Extensibility Chevron down icon Chevron up icon
Chapter 9: Metaprogramming and When to Use It Chevron down icon Chevron up icon
Chapter 10: Designing Useful Domain-Specific Languages Chevron down icon Chevron up icon
Chapter 11: Testing to Ensure Your Code Works Chevron down icon Chevron up icon
Chapter 12: Handling Change Chevron down icon Chevron up icon
Chapter 13: Using Common Design Patterns Chevron down icon Chevron up icon
Chapter 14: Optimizing Your Library Chevron down icon Chevron up icon
Section 3: Ruby Web Programming Principles Chevron down icon Chevron up icon
Chapter 15: The Database Is Key Chevron down icon Chevron up icon
Chapter 16: Web Application Design Principles Chevron down icon Chevron up icon
Chapter 17: Robust Web Application Security Chevron down icon Chevron up icon
Assessments Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6
(14 Ratings)
5 star 78.6%
4 star 14.3%
3 star 0%
2 star 7.1%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




John Jun 22, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Clear and well-written! An excellent book!
Subscriber review Packt
k0kubun Jul 09, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
What I Like:This book is something that only the author can write. He talks about why the libraries he authored such as Roda and Sequel are better than Rails, which I enjoyed reading the most. With his knowledge as a very active Ruby committer, he also talks about Ruby 3 keyword arguments and mentions features that might get into Ruby in the future.This book discusses principles and trade-offs for a wide range of topics, not just Ruby-specific techniques. The ideas in this book would be useful even when you’re not writing Ruby, especially when it comes to web applications.What I Don’t Like:While there are many exciting contents in this book, as a Ruby developer with 8 years of experience in production web applications, Ruby core, and gems, I already knew many of the ideas and trade-offs that are written in this book prior to reading it. The whole book would be helpful for pushing intermediate Ruby programmers to advanced ones, but if you’re already an advanced Ruby programmer, it might take some time to find interesting ideas out of the chapters that talk about principles you have already thought about.
Amazon Verified review Amazon
Christopher Haupt Jul 12, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is a pretty useful distillation of core Ruby facts and techniques that are important to understand if you are moving from being able to "do things in Ruby" to being able to "do things efficiently and performantly in Ruby".Having participated in Ruby meetups/talks in which Jeremy presented, this book is the "async" version of that.Up to date for Ruby 3.x, the book moves through several parts, reinforcing your knowledge of the basics of the core language first, then moving on to extensibility (building libraries, metaprogramming, DSLs), before ending with the third section in the place where Ruby really became much more mainstream--web development.I found the examples to be pretty easy to understand, building up from the basics in small easy to consume pieces. There isn't a lot of filler code in here, instead focused examples with demonstrations of how things work. You can imagine Jeremy demoing these ideas to you as if you were in a virtual pairing session together. I appreciated that approachable style.If you are completed new to Ruby, this book may be a bit of a challenge. The book does indicate this is for intermediate+ readers. You may want to look at some introductory material first to ascertain you are comfortable with the base language and its flexibility. If you are an advanced Rubyist, I suspect you'll still get something out of this text, even if just confirming your core understanding and seeing how things work in the latest version of Ruby.
Amazon Verified review Amazon
Peter Cooper Jul 19, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is an interesting book that covers what feels like fresh ground for a Ruby book, but is well trodden ground for Ruby blog posts: best practices and opinions on how to design things like classes and libraries.Some of the examples are a little artificial (no doubt due to needing to fit a lot into one 400 page book) and I don't agree wholeheartedly with every single suggestion, but broadly this is a good set of recommendations and approaches to producing better Ruby code.The book claims to be targeted at intermediate to advanced Ruby developers, but I think it's better targeted at beginners to high intermediates and would be slightly less useful to advanced Rubyists already be familiar with most of the best practices covered.I'd recommend this book to anyone who hasn't trawled through the Ruby blogosphere picking up tidbits of Ruby best practices over the years and would instead like to get a heavy dose of it in a single book.
Amazon Verified review Amazon
A. J. Firmin Aug 23, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
We use Chef at work so learning Ruby was going to be a necessity.It looks to be an excellent book but my boss told me to learn Python so had to return this after one day.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.