Выходные данные не указаны.
Learn how to divide your Ruby on Rails application into small and reusable bricks with Modular Rails. Modularity gives you a way to build modules instead of applications. These modules can then be combined to actually create modular applications.
Modular Rails will teach you how to use Rails engines to encapsulate features and create a truly modular application. Feels like plugging in or out a feature? It becomes a piece of cake with a modular application!
● Acknowledgements
● Foreword
● Chapter 1 Introduction
●
● 1.1 Who Am I?
● 1.2 Who is this book for?
● 1.3 How is this book organized?
● 1.4 How to read this book?
● 1.5 Errors, bugs, problems?
●
● 1.5.1 Typos & bugs
● 1.5.2 About the code in this book
● 1.5.3 Module & Engine
● 1.5.4 Requirements
● Chapter 2 The Modular Way
●
● 2.1 What is modularity
● 2.2 Modularity in programming
● 2.3 Advantages and Drawbacks
●
● 2.3.1 Advantages
● 2.3.2 Drawbacks
● 2.4 When should you build modular web applications?
● 2.5 ThereвЂs no need to go All-In
● Chapter 3 Modular Rails: The Basics
●
● 3.1 Ruby on Rails Magic
●
● 3.1.1 Interpreted Language
● 3.1.2 Bundler
● 3.1.3 Deface
● 3.1.4 Rails engines
● 3.2 Rails Engines
●
● 3.2.1 Quick overview of Rails engines
● 3.2.2 Creating an engine
● 3.2.3 Mounting an engine
● 3.2.4 Namespacing
● 3.2.5 Extending an engine
● 3.2.6 Engines in the wild!
● 3.3 Modular Architectures
●
● 3.3.1 What is a monolithic application?
● 3.3.2 WhatвЂs a modular application?
● 3.3.3 Understand the difference between Core and Feature engines
● 3.3.4 Approach 1 – Three Tier Modules
● 3.3.5 Approach 2 – Hybrid Component Based
● 3.3.6 Approach 3 – Full Component Based
● 3.4 Build a modular CRM
●
● 3.4.1 The Idea
● 3.4.2 SamuraiCRM
● Chapter 4 Building SamuraiCRM : the core
●
● 4.1 WhatвЂs the core module?
● 4.2 Build it
●
● 4.2.1 Part 1: Setup the Rails app
● 4.2.2 Part 2: The first controller
● 4.2.3 Part 3: Style our app
● 4.2.4 Part 4: Users & Authentication
● 4.2.5 Part 5: The admin panel
● 4.2.6 Part 6: Authorization
● 4.2.7 Part 7: Testing
● 4.3 Round Up
●
● 4.3.1 What did we learn?
● 4.3.2 Main points to remember
● 4.3.3 Next Step
● Chapter 5 SamuraiCRM: The Contacts module
●
● 5.1 WhatвЂs the Contacts module
● 5.2 Build it
●
● 5.2.1 Part 1: Generate the Contacts engine
● 5.2.2 Part 2: Contact Model
● 5.2.3 Part 3: Contacts Controller
● 5.2.4 Part 4: Extending the Core views
● 5.2.5 Part 5: Extending the Core models
● 5.2.6 Part 6: Extending the Dashboard
● 5.2.7 Part 7: Extending the Core controllers
● 5.2.8 Part 8: Extending the abilities
● 5.2.9 Part 9: Do It Yourself! Extend the admin Panel
● 5.3 Round Up
●
● 5.3.1 What did we learn?
● 5.3.2 Main points to remember
● 5.3.3 Next Step
● Chapter 6 SamuraiCRM: The Tasks module
●
● 6.1 WhatвЂs the Tasks module
● 6.2 Build it
●
● 6.2.1 Part 1: Generate the Tasks engine
● 6.2.2 Part 2: Task Model
● 6.2.3 Part 3: Tasks Controller & Views
● 6.2.4 Part 4: Adding tasks to the navigation menu
● 6.2.5 Part 5: Adding a list of tasks to Contacts
● 6.2.6 Part 6: Extend the dashboard
● 6.2.7 Part 7: Extending the abilities
● 6.2.8 Part 8: Do It Yourself! Extend the admin panel
● 6.3 Round Up
●
● 6.3.1 What did we learn?
● 6.3.2 Main points to remember
● 6.3.3 Next Step
● Chapter 7 From development to production
●
● 7.1 Packaging your engines
●
● 7.1.1 WhatвЂs an engine?
● 7.1.2 Why package your engines as gems
● 7.1.3 Make your first module gem
● 7.1.4 Adding the source
● 7.2 Managing your engines
●
● 7.2.1 Development vs Production application
● 7.2.2 Working with Git
● 7.2.3 Where should you push your source code
● 7.2.4 How to use branches
● 7.2.5 Versioning your modules
● 7.2.6 Eating your own dog food
● 7.3 Publishing your engines
●
● 7.3.1 Public engines vs Private engines
● 7.3.2 Public? Rubygems!
● 7.3.3 Private? Pick one
● 7.4 Build a private home for your engines
●
● 7.4.1 Setting up Geminabox
● 7.4.2 Pushing gems to your private gem server
● 7.4.3 Bundle install your gems
● 7.4.4 Pushing all our modules
● 7.5 Push your application
● 7.6 The modular workflow
● 7.7 Round Up
●
● 7.7.1 What did we learn?
● 7.7.2 Main points to remember
● 7.7.3 Next Step
● Chapter 8 The End