CSC/ECE 517 Fall 2009/wiki1b 13 Resources For Rails

From Expertiza_Wiki
Revision as of 22:05, 20 September 2009 by Objectoriented (talk | contribs)
Jump to navigation Jump to search

Introduction

This page is a resource for more information regarding the Rails platform. Consider it an index page for Rails resouces that also has helpful definitions and examples of the content a user will find when they investigate the resource. Our target audience are Rails users that have experience with the Ruby language. We do not cover information regarding IDE's for Rails. We determined the following topics are relevant to a new user:

  1. Tutorials
  2. Testing
  3. Debugging
  4. Platform Issues

An introduction for each of the topics convey the coverage provided by the resource. Definitions of terms that are provided give the users some background before they start with a resource. Content examples are provided to give users information about what they might expect in the resource before they start.

This page is not meant to be a source of completely new information regarding the Rails platform. Rather, it is meant to be used as a starting point for someone interested in more resources for Rails. We hope you find the information helpful!

For feedback please contact handles: objectoriented or cybo on the NCSU Expertiza system.

Resources for Rails

Tutorials

Testing

Introduction

This section provides links to pages which describe resources that can be used by Ruby on Rails to conduct testing. Some of them are tutorials and some are just information that you need to know. This page also provides some definitions used by the links. In most cases the text in those links is intuitive however if you don’t understand something you can refer to the definition section. This page was written and the links were provided under the assumption that the reader has intermediate knowledge of Ruby (after all rails is a framework for Ruby not the actual language).

Definitions

XP – extreme programming. Here is the Wikipedia definition. Basically it means that at least one pair of eyes should look at your code, say a fellow developer. (S)he might be able to find errors that you are not able to. Say you wrote a method and it doesn’t the way you wanted it to. Let you programmer friend take a look at it. Frequent testing is also a part of this methodology.

BDD – behavior driven development. Here is the Wikipedia definition. But in plain English it means that when you work on a project you define its behavior, not the technical details of its implementation. Say you work with a customer on a webcatalog. You shouldn’t bore him/her with the technical detail of how you are going to do it. Just say that catalog will probably have administrators who can edit it, users who can view it, a shopping cart so that the product could be checked out, login and logout pages etc. That will define what this webcatalog can do (its behavior).

TDD – test driven development. Here is the Wikipedia definition. In other words you write a test before you write your code. Say you know that you have to write a method named do_something. Before writing it you will write a test for it, test_do_something and only then do_something. This methodology helps you to 1) define what your method should do exactly, since before you wrote it you already have a test for it so in some sense you already know what you expect your method to do 2)verify if you defined your method the way you wanted, because if you didn’t then your test will most likely fail

ZenTest – a set of tools that are used for testing in Ruby on Rails. Also it is a name of the tools in the ZenTest tool package. It should be installed separately. To install use: gem install ZenTest (Windows) or sudo gem install ZenTest (Linux)

RoR – abbreviation for Ruby on Rails

rake – ruby make utility

Resources

http://www.scribd.com/doc/3499573/TestFirst-Programming-With-Ruby I think this a good tutorial on how to do testing. It uses Test::Unit, how to set it up a test, and run it. It also introduces you to ZenTest. I’d say you should go through this tutorial first.

http://guides.rubyonrails.org/testing.html This is a decent guide/tutorial on testing. It provides you with introduction on testing in RoR, how to test your models, function tests of the controllers, how to use rake for testing etc. It also contains links to other guides on other testing approaches.

http://ph7spot.com/articles/getting_started_with_autotest This is a sort of a tutorial on how to use autotest utility from the ZenTest gem. I say sort of since you should use this tutorial on a already written code.

http://zentest.rubyforge.org/ZenTest This page contains documentation on ZenTest package. There are no examples of any kind just very dry documentation. You should use this as a reference when you become experienced with testing.

Debuging

Outline:

Coverage: Describe the scope of this page.

For each section:

Intro - what this set of resources is for.

Definition - look through resources and create a list of definitions for each.

Examples - describe an example similar to what is in the resource.

Links - organize by subtopic and crossrefereance with definitions and examples.

Resources

General

http://rubyonrails.org/

http://en.wikipedia.org/wiki/Ruby_on_Rails

http://rubyonrails.org/documentation

http://arstechnica.com/security/news/2009/09/ruby-on-rails-vulnerability-affects-twitter-ie8-immune.ars

http://www.planetrubyonrails.org/

http://weblog.rubyonrails.org/2009/9/4/xss-vulnerability-in-ruby-on-rails

http://www.techcrunch.com/2008/05/01/twitter-said-to-be-abandoning-ruby-on-rails/

http://rails100.pbworks.com/

Tutorials

http://oreilly.com/ruby/archive/rails.html

http://oreilly.com/ruby/archive/rails2.html

http://rails.homelinux.org/

http://www.slash7.com/articles/2005/01/24/really-getting-started-in-rails

http://www.ibm.com/developerworks/linux/library/l-rubyrails/

http://onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html

http://jrhicks.net/Projects/rails/has_many_and_belongs_to_many.pdf

http://www.erikveen.dds.nl/distributingrubyapplications/rails.html

http://digitalmediaminute.com/howto/fc4rails/

Testing

http://guides.rubyonrails.org/testing.html

http://weblogs.java.net/blog/bleonard/archive/2008/01/testing_rails_a.html

http://www.oreillynet.com/pub/a/ruby/2007/06/07/rails-testing-not-just-for-the-paranoid.html

Debugging

http://guides.rails.info/debugging_rails_applications.html

http://www.sitepoint.com/print/debug-rails-app-ruby-debug/