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