contents
foreword
preface
acknowledgments
about this book
about the cover illustration
Part 1 Getting started
- 1 Why are we here? Where are we going?
- 1.1 Overview of the features and strengths of Flex 3 and Rails 2
- 1.2 Flash 9? Are you kidding me?
- 1.3 History
- 1.4 A preview of the book
- 1.5 Summary
- 2 Hello World
- 2.1 Installing everything
- 2.2 Windows or Mac OS X + Flex Builder 3
- 2.3 Windows + Flex SDK
- 2.4 Mac OS X (or Linux) + Flex SDK
- 2.5 Summary
- 3 Getting started
- 3.1 If you’re starting here
- 3.2 Freezing the Rails version
- 3.3 Disabling browser navigation integration
- 3.4 Adding login functionality to Rails
- 3.5 Adding login functionality to Flex
- 3.6 Adding data to the test fixtures
- 3.7 Checking the tests
- 3.8 Configuring Flex Builder to run and debug pomodo
- 3.9 Summary
Part 2 Building the application
- 4 Creating the main Flex UI
- 4.1 Requirements
- 4.2 Design
- 4.3 Code
- 4.4 Summary
- 5 Expanding the Rails code, RESTfully
- 5.1 A brief note about REST
- 5.2 Calling the user by name
- 5.3 Creating the new resources (including migrations, models, and controllers)
- 5.4 Security
- 5.5 Expanding our fixtures and keeping our tests passing
- 5.6 Summary
- 6 Flex on Rails
- 6.1 Setup
- 6.2 Listing tasks in Flex
- 6.3 Creating tasks in Flex
- 6.4 Creating and listing projects and locations in Flex
- 6.5 Making the Projects and Locations ComboBoxes work in the TaskCreateBox 208
- 6.6 About that None project and location
- 6.7 Updating and deleting tasks, projects, and locations
- 6.8 Keeping our tests passing
- 6.9 Summary
- 6.10 Exercises for the reader
- 7 Validation
- 7.1 Revisiting the HTML account signup screen
- 7.2 Rails and Flex validation—should you stay DRY?
- 7.3 Understanding Rails validation, and building custom XML for errors
- 7.4 A Quick look at validation in Flex 3
- 7.5 Integrating Rails validation with Flex 3 validation
- 7.6 Flex validators revisited
- 7.7 Keeping our tests passing
- 7.8 Summary
- 7.9 Exercises for the reader
Part 3 Refactoring
- 8 Refactoring to Cairngorm
- 8.1 Background and setup
- 8.2 Cairngorm event sequence overview
- 8.3 Creating com.pomodo.model. PomodoModelLocator
- 8.4 Creating com.pomodo.control.*
- 8.5 Adding CairngormUtils and ServiceUtils to com.pomodo.util.*
- 8.6 Creating com.pomodo.command.*
- 8.7 Creating com.pomodo.business.*
- 8.8 Deleting the com.pomodo.events package
- 8.9 Modifying the com.pomodo.components.*
- 8.10 Modifying Pomodo.mxml
- 8.11 Running pomodo
- 8.12 HTTPService Gotchas
- 8.13 Summary
- 8.14 Exercise for the reader
- 9 Holding state on the client properly
- 9.1 Refactoring, samurai coder style
- 9.2 Creating the model classes
- 9.3 Modifying the PomodoModelLocator
- 9.4 Modifying ServiceUtils
- 9.5 Modifying the business delegates
- 9.6 Modifying the commands
- 9.7 Modifying the components
- 9.8 Summary
Part 4 Finishing up
- 10 Finishing the application
- 10.1 Notely
- 10.2 Better security with attr_accessible
- 10.3 GTD semantics, including the Next Action concept and :dependent
- 10.4 Filtering tasks
- 10.5 The CommandShell
- 10.6 Logging out
- 10.7 Marketing!
- 10.8 Deleting users
- 10.9 Exercises for the reader
- 11 Refactoring to RubyAMF
- 11.1 Warning: biased author
- 11.2 Hello RubyAMF
- 11.3 Refactoring to RubyAMF, fast-forwarded
- 11.4 Summary
- 12 Rails on AIR (Adobe Integrated Runtime)
- 12.1 Converting pomodo to an AIR application
- 12.2 Refactoring event triggering
- 12.3 Online/Offline support
- 12.4 Summary
- 12.5 Exercises for the reader
- 12.6 Conclusion
 
appendix A: How to use Subversion with Flex + Rails
appendix B: Handwaving at omitted topics
index