Learn how to make better decisions and write cleaner Ruby code. This book shows you how to avoid messy code that is hard to test and which cripples productivity. Author Carleton DiLeo shares hard-learned lessons gained from years of experience across numerous codebases both large and small. Each chapter covers the topics you need to know to make better decisions and optimize your productivity. Many books will tell you how to do something; this book will tell you why you should do it. Start writing code you love.
Build better classes to help promote code reuse; Improve your decision making and make better, smarter choices; Identify bad code and fixed it; Create quality names for all of your variables, classes, and modules; Write better, concise classes; Improve the quality of your methods; Properly use modules; Clarify your Boolean logic; See when and how you refactor; Improve your understanding of TDD and write better tests. ...
Build Chatbot Interactions
The next step in the evolution of user interfaces is here. Chatbots let your users interact with your service in their own natural language. Use free and open source tools along with Ruby to build creative, useful, and unexpected interactions for users. Take advantage of the Lita framework's step-by-step implementation strategy to simplify bot development and testing. From novices to experts, chatbots are an area in which everyone can participate. Exercise your creativity by creating chatbot skills for communicating, information, and fun.
Developers of all skill levels can craft user experiences that are natural, easy to use, and most of all, fun. Build chatbots using free, open source tools and launch them to popular chat platforms like Slack and Amazon's Alexa. Use the Ruby programming language and the Lita bot framework to unlock fun and powerful chat abilities such as sending text messages and emails, creating new meme images, driving a robot around the room, and t ...
The Well-Grounded Rubyist, 3rd Edition
The Well-Grounded Rubyist, 3rd Edition is a beautifully written tutorial that begins with your first Ruby program and takes you all the way to sophisticated topics like reflection, threading, and recursion. Ruby masters David A. Black and Joe Leo distill their years of knowledge for you, concentrating on the language and its uses so you can use Ruby in any way you choose. Updated for Ruby 2.5.
Designed for developer productivity, Ruby is an easy-to-learn dynamic language perfect for creating virtually any kind of software. Its famously friendly development community, countless libraries, and amazing tools, like the Rails framework, have established it as the language of choice for high-profile companies, including GitHub, SlideShare, and Shopify. The future is bright for the well-grounded Rubyist!
In The Well-Grounded Rubyist, 3rd Edition expert authors David A. Black and Joseph Leo deliver Ruby mastery in an easy-to-read, casual style. Y ...
Practical Object-Oriented Design, 2nd Edition
Object-oriented programming languages exist to help you create beautiful, straightforward applications that are easy to change and simple to extend. Unfortunately, the world is awash with object-oriented (OO) applications that are difficult to understand and expensive to change. Practical Object-Oriented Design, Second Edition, immerses you in an OO mindset and teaches you powerful, real-world, object-oriented design techniques with simple and practical examples.
Sandi Metz demonstrates how to build new applications that can "survive success" and repair existing applications that have become impossible to change.
Decide what belongs in a single class; Avoid entangling objects that should be kept separate; Define flexible interfaces among objects; Reduce programming overhead costs with duck typing; Successfully apply inheritance; Build objects via composition. ...
Learn Rails 5.2
Learn to build Rails-based web applications using all the latest features offered in Rails 5.2. Author Stefan Wintermeyer begins by teaching the basics of Ruby 2.5 before proceeding through all aspects of Rails, utilizing clean, succinct examples - rather than a single large application.
This book covers topics including Active Storage, Credentials, Active Record, Scaffolding, REST, Routing, Bundler, Forms, Cookies, and Sessions, all of which are vital for modern Rails web applications. To complement these topics you'll also learn about test-driven development, Action Cable, Active Job, Action Mailer, I18n, Asset Pipeline, and caching. Finally, you'll see a how-to for a production web server with nginx. This complete set of skills will set you up for a future of efficient and elegant Rails coding.
Use the Ruby on Rails web development framework; Install and manage the Rails framework; Persist data for your web application with Active Record; Work with forms; Apply a ...
Ruby Data Processing
Gain the basics of Ruby's map, reduce, and select functions and discover how to use them to solve data-processing problems. This compact hands-on book explains how you can encode certain complex programs in 10 lines of Ruby code, an astonishingly small number. You will walk through problems and solutions which are effective because they use map, reduce, and select. As you read Ruby Data Processing, type in the code, run the code, and ponder the results. Tweak the code to test the code and see how the results change.
After reading this book, you will have a deeper understanding of how to break data-processing problems into processing stages, each of which is understandable, debuggable, and composable, and how to combine the stages to solve your data-processing problem. As a result, your Ruby coding will become more efficient and your programs will be more elegant and robust.
Discover Ruby data processing and how to do it using the map, reduce, and sel ...
Effective Testing with RSpec 3
RSpec has been downloaded more than 100 million times and has inspired countless test frameworks in other languages. Use this influential Ruby testing framework to iteratively develop a project with the confidence that comes from well-tested code. This book guides you through creating a Ruby project with RSpec, and explores the individual components in detail.
Start by learning the basics of installing and using RSpec. Then build a real-world JSON API, using RSpec throughout the process to drive a BDD-style outside-in workflow. Apply an effective test strategy to write fast, robust tests that support evolutionary design through refactoring. The rest of the book provides the definitive guide to RSpec's components. Use rspec-core's metadata to slice and dice your spec suite. Dig into rspec-expectations' matchers: compose them in flexible ways, specify expected outcomes with precision, and diagnose problems quickly with the help of good failure messages. Write fast, isola ...
Mastering Ruby Closures
Ruby developers use the Ruby language as the yardstick for expressivity, flexibility, and elegance - and a large part of this is due to blocks, lambdas, and procs. These language features make Ruby one of the most beautiful and pleasant languages to work with. Learn how to understand and craft code that will take you closer to Ruby mastery.
Start with the basics of closures and then dive into blocks, as you learn about the patterns that involve blocks, and how they are used in real-world code. Then create and use procs and lambdas. Finally, build your own lazy enumerables with advanced Ruby features such as fibers and generators. Along the way, work with computer science concepts such as closures, free variables and first-class functions. Spot a closure easily. Identify the patterns where you can effectively use blocks and re-implement common standard library methods using them. Trace through how Symbol#to_proc works and find out the different ways ...
This book will teach you how to use RSpec to write high-value tests for real-world code. We start with the key concepts of the unit and testability, followed by hands-on exploration of key features. From the beginning, we learn how to integrate tests into the overall development process to help create high-quality code, avoiding the dangers of testing for its own sake.
The code examples are detailed enough to be realistic while simple enough to be easily understood. Testing concepts, development methodologies, and engineering tradeoffs are discussed in detail as they arise. This approach is designed to foster the rea ...
Rails 5 Revealed
This short early adopter book details both how you'll upgrade existing web and other applications from Rails 4.2 to 5 and how to create new applications in Rails 5. The headline features, Rails API and ActionCable, are each looked at in detail, building small example projects to demonstrate how to build a JSON API, add real-time notifications to a page and how to create a single-page application.
All the breaking changes are shown, along with how to fix your app to work with the new API, and the improvements to ActiveRecord and the testing framework are fully detailed. After reading and using Rails 5 Revealed, you'll be poised to move forward with building your apps with the new Rails 5 as it stands now and when it finalizes. ...
Beginning Ruby, 3rd Edition
Learn the principles behind object-oriented programming and within a few chapters create a fully functional Ruby application. You'll also gain a basic understanding of many ancillary technologies such as databases, XML, web frameworks, and networking - some of which are needed as part of a fully functioning Ruby application.
Based on the bestselling first and second editions, Beginning Ruby 3rd Edition is a leading guide to learn Ruby from the ground up. The new edition of this book provides the same excellent introduction to Ruby as the previous editions plus updates for the newest version of Ruby 2.3 which includes new garbage collection support of symbol type objections, a new incremental garbage collector, memory management, vfork(2) with system and spawn functions and much more. This book can also be used as a textbook or companion to a textbook on beginning Ruby programming.
The light and agile Ruby programming languag ...