From Novice to Professional

Book Description:

Ruby on Rails is the hottest new open source technology around. It offers developers the opportunity to create fully-featured web applications in double-quick time. Rails and e-commerce are a match made in heaven and Beginning Ruby on Rails E-Commerce is the first book to directly target this market. This book explains to readers, via real-life scenarios, how to use Rails to create every aspect of an online store – from creating a product catalog, to building a shopping cart system, all the way through to adding cool features such as customer feedback forums. In addition, the book explains how to interface with vital third-party software applications, such as those provided by online payment systems. Because of this breadth of focus, Beginning Ruby on Rails E-Commerce is the book that all Rails developers are crying out for.

Book Description:

The Elixir language blends the battle-tested power and stability of the Erlang virtual machine with an approachable and expressive syntax.

Elixir in Action, Second Edition teaches you how to use the Elixir programming language to solve the practical problems of scalability, fault tolerance, and high availability. This new edition is fully updated to cover Elixir 1.7 with new and improved code examples.

Book Description:

The Well-Grounded Rubyist, Second Edition addresses both newcomers to Ruby as well as Ruby programmers who want to deepen their understanding of the language. This beautifully written and totally revised second edition includes coverage of features that are new in Ruby 2.1, as well as expanded and updated coverage of aspects of the language that have changed.

Book Description:

Ruby Phrasebook gives you the code you need to quickly and effectively work with Ruby, one of the fastest-growing languages in the world thanks to popular new Ruby technologies like Ruby on Rails.

Concise and Accessible

Easy to carry and easy to use—lets you ditch all those bulky books for one portable pocket guide

Flexible and Functional

Packed with more than 100 customizable code snippets—so you can readily code functional Ruby in just about any situation

Jason Clinton uses Ruby daily in system administration and development for Advanced Clustering Technologies, a Linux Beowulf cluster integrator. He has been working in the computer industry for more than a decade and is actively involved in the Kansas City Ruby Users Group (KCRUG), serving as administrator of the group’s web site and mailing list.

Register your book at informit.com/register for convenient access to downloads, updates, and corrections as they become available.

Book Description:

Nim is a multi-paradigm language that offers powerful customization options with the ability to compile to everything from C to JavaScript. In Nim in Action you’ll learn how Nim compares to other languages in style and performance, master its structure and syntax, and discover unique features.

Book Description:

This book is a comprehensive guide to utilizing and creating Ruby Gems. Coverage provides an enormous code library that will help developers improve their projects. It details 34 of the best and most useful Gems, including ones to speed up web applications, process credit card payments, produce PDF documents, read and update RSS feeds, and acquire real-time shipping prices from FedEx and UPS. Each of these also comes complete with actual use cases and code examples that readers can immediately use in their own projects. In addition, the book describes how readers can package and distribute their own Ruby Gems.

Book Description:

This book will show you the best practices to describe your entire infrastructure as code.

With the help of this book you can expand your knowledge of Chef because and implement robust and scalable automation solutions. You can automate and document every aspect of your network, from the hardware to software, middleware, and all your containers. You will become familiar with the Chef’s Chef Provisioning tool. You will be able to make a perfect model system where everything is represented as code beneath your fingertips.

Make the best possible use of your resources, and deliver infrastructure as code, making it as versionable, testable and repeatable as application software

What you will learn

  • Use best practices to describe your entire infrastructure as code
  • Automate and document every aspect of your network, from the hardware of individual nodes to software, middleware, and all containers and clouds
  • Create a perfect model system
  • Make the best possible use of your resources and avoid redundancy
  • Deliver on the promise of Infrastructure as Code
  • Scale with ease by properly provisioning their infrastructure
  • Use the best Test Driven Development methodologies

A short and quick guide to mastering behavior-driven software development with Cucumber

Book Description:

Cucumber is a Behavior Driven Design framework, which allows a developer to write specification tests which then tests that the program works as it should. It is a different development paradigm, as it involves writing what the program should do first, then you develop until it passes the tests.

Instant Cucumber BDD How-to will cover basics of Cucumber in a Behaviour Driven Development (BDD) style and explain the essence of Cucumber, describe how to write Cucumber features to drive development in a real project, and also describe many pro tips for writing good Cucumber features and steps. Cucumber is a very fun and cool tool for writing automated acceptance tests to support software development in a Behaviour Driven Development (BDD) style.

Instant Cucumber BDD How-to will highlight Cucumber’s central role in a development approach called Behaviour Driven Development (BDD), describe how to write Cucumber features to drive development in a real project, and finally introduce some famous third-party libraries used inline with Cucumber.

It will show you how to carry out all the tasks associated with BDD using Cucumber and write basic Cucumber steps. It will assist you in using Pro tips for writing expressive Gherkin and implement guidelines for writing DRY steps. You’ll learn how to use Cucumber’s Gherkin to describe the behavior customers want from the system in a plain language.

What you will learn from this book

  • Understand essential concepts of TDD and BDD
  • Write basic Cucumber steps and get it running
  • Learn basic knowledge of writing Cucumber tests
  • Create behavior-driven real projects using Cucumber
  • Use Pro tips for writing expressive Gherkin
  • Implement guidelines for writing DRY steps
  • Explore some popular and useful third-party gems used with Cucumber

A Practical Introduction to TDD Using Problem and Solution Domain Analysis

Book Description:

Learn the basics of test driven development (TDD) using Ruby. You will carry out problem domain analysis, solution domain analysis, designing test cases, and writing tests first. These fundamental concepts will give you a solid TDD foundation to build upon. Test Driven Development in Ruby is written by a developer for developers.

The concepts are first explained, then a coding demo illustrates how to apply the theory in practice. At the end of each chapter an exercise is given to reinforce the material. Complete with working files and code samples, you’ll be able to work alongside the author, a trainer, by following the material in this book.

What You Will Learn

  • Carry out problem domain analysis, solution domain analysis, designing test cases, and writing tests first
  • Use assertions
  • Discover the structure of a test and the TDD cycle
  • Gain an understanding of minimal implementation, starter test, story test, and next test
  • Handle refactoring using Ruby
  • Hide implementation details
  • Test precisely and concretely
  • Make your code robust
Who This Book Is For

Experienced Ruby programmers or web developers with some prior experience with Ruby.

A Problem-Solution Approach

Book Description:

Solve your Ruby programming problems that occur during your day-to-day scripting work. This book contains a varied selection of practical and interesting code recipes designed to make your coding life easier. Ruby Recipesincludes solutions to problems in working with data, handling exceptions, writing blocks, and using regular expressions.

This book provides ready scripts for both simple complex scripting tasks, which you can use readily or with only minor modifications. These scripts cover areas such as collections, classes and structures, functional programming, and log handling. With these handy recipes at your fingertips, you will be able to solve those niggling problems and become even more efficient.

What You Will Learn

  • Install and run Ruby
  • Read and write data
  • Write functions
  • Work with arrays, ranges, hashes, and iterators
  • Handle dates and time
  • Process XML as text
  • Master OOP concepts such as classes, objects, subclassing, and inheritance
  • Connect to databases
Who This Book Is For

Programmers new to Ruby, and web developers interested in knowing the foundations of the language.

Confidently implement automated tests for web applications using Capybara

Book Description:

Everybody understands why implementing automated tests is important but at the same time developing them can be costly and time consuming, and tests can be also be fragile and prone to false positives. By using Capybara, you can develop robust tests quickly and run them in multiple drivers ensuring greater re-use; Capybara’s API also extends the human readable style made popular by frameworks such as Cucumber and RSpec.

“Application Testing with Capybara” takes you from installing the gem to getting up and running with a Google Search scenario within the first two chapters. We then look deeper into the API, using Rack-Test for applications built with Rails or Sinatra and see how to test handle Asynchronous JavaScript and “black box” components such as Flash. Finally, we consider some advanced topics such as looking at alternatives to Selenium and accessing the native driver directly.

This book takes you from the basics of installing Capybara, through its API and onto advanced topics. You will learn how to use Capybara’s extensive API to interact with your application, covering topics such as navigation, filling in forms, and querying your page for expected content. Beyond this we will consider why Capybara is so well suited to testing applications written in frameworks such as Rails and Sinatra. We will look at strategies for validating seemingly “untestable” components such as HTML5 or Flash by building out a testable API. Finally we will turn you into a Capybara ninja by covering advanced topics such as accessing functionality in the base driver, advanced driver configuration, and alternative flavours of drivers outside Selenium and Rack-Test.

What you will learn from this book

  • Install and configure Capybara
  • Use Capybara and Cucumber to test scenarios
  • Exploit Capybara’s API for interacting with web pages
  • Employ Capybara to test Rack applications implemented using Rails or Sinatra
  • Handle asynchronous JavaScript
  • Apply Capybara to test “black box” components such as Flash or HTML5 Canvas, Audio, and Video
  • Practise Capybara outside Cucumber in bespoke frameworks
  • Use Capybara with popular Ruby test frameworks
  • Explore advanced driver configuration
  • Work with alternative drivers such as Capybara-Webkit and Capybara-Mechanize

Deploy, test, and build software to solve realworld automation challenges using Rake

Book Description:

Rake is a build automation tool written in Ruby. It allows you to specify tasks and describe dependencies as well as group tasks in a namespace. Rake uses Ruby’s anonymous function blocks to define various tasks, allowing the use of the Ruby syntax. Rake’s goal is to automate build processes quickly and expressively.

“Rake Task Management Essentials” is a practical guide that covers the latest techniques in building, testing, and debugging rake tasks to solve real-world automation challenges. The book starts with a basic knowledge of Rake, allowing you to solve repetitive tasks. Then it provides you with information about processes performed with files, which is crucial for understanding the application of the tool. It includes demonstrations to show you how tasks can be run in parallel and how they can be applied in practice. Thereafter, it integrates Rake with Ruby with the help of simple and clear examples. By the end of this book, you will know how Rake has changed the programming world, especially in the Ruby community.

What You Will Learn

  • Use the rake command-line tool efficiently
  • Learn Rake’s language to write clear custom tasks
  • Run tasks in parallel to speed up the overall runtime of the tasks used
  • Work with file transformations to manage file tasks
  • Refactor a Rake project with the rules, prerequisites, and other technical features built into Rake tools
  • Configure a scheduler to run recurring tasks on a server
  • Configure continuous integration with Rake using a Jenkins example
  • Integrate Rake with the Rails web framework to write Rails-specific rake tasks

Book Description:

The Well-Grounded Rubyist takes you from interested novice to proficient practitioner. It’s a beautifully written tutorial that begins with the basic steps to get your first Ruby program up and running and goes on to explore sophisticated topics like callable objects, reflection, and threading. Whether the topic is simple or tough, the book’s easy-to-follow examples and explanations will give you immediate confidence as you build your Ruby programming skills.
The Well-Grounded Rubyist is a thoroughly revised and updated edition of the best-selling Ruby for Rails. In this new book, expert author David A. Black moves beyond Rails and presents a broader view of Ruby. It covers Ruby 1.9, and keeps the same sharp focus and clear writing that made Ruby for Rails stand out.
Starting with the basics, The Well-Grounded Rubyist explains Ruby objects and their interactions from the ground up. In the middle chapters, the book turns to an examination of Ruby’s built-in, core classes, showing the reader how to manipulate strings, numbers, arrays, ranges, hashes, sets, and more. Regular expressions get attention, as do file and other I/O operations.
Along the way, the reader is introduced to numerous tools included in the standard Ruby distribution–tools like the task manager Rake and the interactive Ruby console-based interpreter Irb–that facilitate Ruby development and make it an integrated and pleasant experience.
The book encompasses advanced topics, like the design of Ruby’s class and module system, and the use of Ruby threads, taking even the new Rubyist deep into the language and giving every reader the foundations necessary to use, explore, and enjoy this unusually popular and versatile language.
It’s no wonder one reader commented: “The technical depth is just right to not distract beginners, yet detailed enough for more advanced readers.”

Build a powerful, stable, and automated test suite using Selenium WebDriver

Book Description:

Selenium WebDriver is a global leader in automated web testing. It empowers users to perform complex testing scenarios with its simple and powerful interface.

This guide will provide you with all the skills you need to successfully create a functional Selenium test suite. Starting from the very beginning of the Selenium IDE, this book will show you how to transition into a real programing language such as Ruby or Java. You will quickly learn how to improve your code quality with refactoring and the skills needed to plan for the future development of your website to future-proof your test suite. With ample test examples running against a life-like e-commerce store and detailed step-by-step code review and explanations, you will be ready to test any challenge web developers might throw your way.

This book is intended for anyone who wants to create a test suite that is easy to maintain by expanding your knowledge until you feel truly confident and comfortable with Selenium.

What You Will Learn

  • Control Selenium WebDriver within any major programing language such as Java, Ruby, Python, and .NET
  • Learn how to implement a simple test script or a complex Page Objects framework
  • Set up each test to automatically deal with AJAX and jQuery
  • Remove test instabilities by blocking third-party services
  • Deal with data uncertainties by using fixtures, JSON APIs, and API stubbing
  • Improve your test suite continuously by refactoring code and using the DRY principle
  • Stabilize your tests by using patterns such as the Action Wrapper and Black Hole Proxy patterns

From Novice to Professional

Book Description:

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, Third 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. This book can also be used as a textbook or companion to a textbook on beginning Ruby programming.

The light and agile Ruby programming language remains a very popular open source scripting option for developers building today’s web and even some enterprise applications. And, now, Ruby also has applications using the Raspberry Pi, popular among hobbyists and makers. Many former Java developers still use Ruby on Rails today, the most popular framework for building Ruby applications.

What You’ll Learn

  • What are the fundamentals of Ruby and its object-oriented building blocks
  • How to work with Ruby libraries, gems, and documentation
  • How to work with files and databases
  • How to write and deploy Ruby applications
  • What are the various Ruby web frameworks and how to use them
  • How to do network programming with Ruby and more

Book Description:

CoffeeScript in Action is a tutorial that teaches you how, where, and why to use CoffeeScript. It begins by quickly exposing you to CoffeeScript’s new, but instantly-familiar syntax. Then, you’ll explore programming challenges that illustrate CoffeeScript’s unique advantages. Language junkies will especially appreciate how this book takes idioms from other programming languages and shows you how CoffeeScript makes them available in JavaScript.

Plan, Program, Extend: Building a complete Ruby on Rails business application from start to finish

Book Description:

This book is aimed at developers who already have some familiarity with the Ruby on Rails framework and who want to move on from the basic tutorials. In particular, it is aimed at those who wish to use the unique attributes of Rails to develop and roll out business applications. It concentrates on application development as a whole process, and is intended to complement existing Rails tutorials. This book is aimed at developers who want to find out how to rapidly build easily-deployed, easily-supported business applications. It is for developers who have learned Ruby on Rails, probably from one of the tutorial books, and want to apply that knowledge to effectively build full, realistic applications.

Develop testable. modular, and maintainbale Ruby software for the real world using RSpec

Book Description:

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.

We build up sample applications and their corresponding tests step by step, from simple beginnings to more sophisticated versions that include databases and external web services. We devote three chapters to web applications with rich JavaScript user interfaces, building one from the ground up using behavior-driven development (BDD) and test-driven development (TDD).

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 reader’s ability to make well-informed decisions on their own.

What you will learn

  • Identify a unit of software for the purposes of testing
  • Manage test states with hooks, fixtures, and mocks
  • Handle external web services in tests using various techniques
  • Configure RSpec flexibly and cleanly using support code and environment variables
  • Interact with rich web apps in tests using Capybara
  • Build the right feature with behavior-driven development
  • Customize matchers and failure messages
  • Verify correct development and production environments

For those Upgrading to Version 5

Book Description:

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 this book, you’ll be poised to move forward with building your apps with the new Rails 5 as it stands now and when it finalizes.

What You’ll Learn

  • What are the new changes to Rails 5 and how to upgrade from Rails 4.2
  • How to use the new Ruby Persistence tool/framework, ActiveRecord
  • How to handle test framework changes
  • What are the latest Rails API and how to employ them
  • What is and how to use the new ActionCable

Book Description:

Ruby in Practice increases your productivity by showing you specific Ruby techniques you can use in your projects. The book offers detailed strategies for using Ruby in a large-scale environment. You’ll see concrete examples of integration, messaging, web development, and databases, all presented in a clear Problem/Solution format. This book won’t help you push your deadline back, but it will help you get the job done in less time.

Above all, Ruby in Practice is a practical book for developers who want an in depth understanding of the Ruby language and its toolset. The book is divided into three major parts.

The first part concentrates on issues that developers face both from within their organizations and from their peers. The authors weigh the costs and benefits of using Ruby in enterprise development projects, the over-riding theme being that every developer should always aim to use the right tool for any particular job. The authors then examine the pros and cons of developing with Ruby, and where appropriate, compare Ruby to other languages, both conceptually and in code.

The second part discusses techniques for communication and integration of systems. The authors describe how libraries and techniques are used to facilitate messaging, web development and communication automation. They also focus on how the strategies in the first section can be used with these libraries to make development more flexible and efficient.

The last part shows how to manage data and integrate with existing data using Ruby. The authors describe techniques for using existing Ruby libraries that either replace popular Java libraries or can interface with existing data in a different way. They go on to show you how strategies covered in the first section can be used to enable Ruby to interact with existing assets or to build new data systems.