Module: Lafcadio

Included in:
LafcadioTestCase
Defined in:
lib/lafcadio.rb,
lib/lafcadio/util.rb,
lib/lafcadio/query.rb,
lib/lafcadio/domain.rb,
lib/lafcadio/query/In.rb,
lib/lafcadio/query/Max.rb,
lib/lafcadio/query/Not.rb,
lib/lafcadio/query/Like.rb,
lib/lafcadio/query/Link.rb,
lib/lafcadio/objectField.rb,
lib/lafcadio/objectStore.rb,
lib/lafcadio/query/Query.rb,
lib/lafcadio/query/Equals.rb,
lib/lafcadio/util/Context.rb,
lib/lafcadio/util/English.rb,
lib/lafcadio/query/Compare.rb,
lib/lafcadio/util/UsStates.rb,
lib/lafcadio/dateTime/Month.rb,
lib/lafcadio/util/QueueHash.rb,
lib/lafcadio/query/Condition.rb,
lib/lafcadio/domain/MapObject.rb,
lib/lafcadio/domain/ObjectType.rb,
lib/lafcadio/mock/MockDbBridge.rb,
lib/lafcadio/objectStore/Cache.rb,
lib/lafcadio/util/HashOfArrays.rb,
lib/lafcadio/domain/DomainObject.rb,
lib/lafcadio/util/LafcadioConfig.rb,
lib/lafcadio/mock/MockObjectStore.rb,
lib/lafcadio/objectStore/DbBridge.rb,
lib/lafcadio/objectField/DateField.rb,
lib/lafcadio/objectField/EnumField.rb,
lib/lafcadio/objectField/LinkField.rb,
lib/lafcadio/objectField/TextField.rb,
lib/lafcadio/objectStore/Committer.rb,
lib/lafcadio/objectField/EmailField.rb,
lib/lafcadio/objectField/MoneyField.rb,
lib/lafcadio/objectField/MonthField.rb,
lib/lafcadio/objectField/StateField.rb,
lib/lafcadio/util/ContextualService.rb,
lib/lafcadio/objectField/ObjectField.rb,
lib/lafcadio/objectStore/ObjectStore.rb,
lib/lafcadio/query/CompoundCondition.rb,
lib/lafcadio/objectField/BooleanField.rb,
lib/lafcadio/objectField/DecimalField.rb,
lib/lafcadio/objectField/IntegerField.rb,
lib/lafcadio/objectField/DateTimeField.rb,
lib/lafcadio/objectField/PasswordField.rb,
lib/lafcadio/objectField/TextListField.rb,
lib/lafcadio/objectField/TimeStampField.rb,
lib/lafcadio/objectField/FieldValueError.rb,
lib/lafcadio/objectField/SubsetLinkField.rb,
lib/lafcadio/schema/CreateTableStatement.rb,
lib/lafcadio/objectStore/DomainComparable.rb,
lib/lafcadio/objectStore/DomainObjectProxy.rb,
lib/lafcadio/objectStore/SqlValueConverter.rb,
lib/lafcadio/objectField/AutoIncrementField.rb,
lib/lafcadio/objectStore/DomainObjectSqlMaker.rb,
lib/lafcadio/objectStore/DomainObjectInitError.rb,
lib/lafcadio/objectStore/DomainObjectNotFoundError.rb,
lib/lafcadio/objectStore/CouldntMatchObjectTypeError.rb

Overview

Lafcadio is an object-relational mapping library for Ruby and MySQL. Its design has a few aspects in mind:

  • The importance of unit-testing. Lafcadio includes a MockObjectStore which can take the place of the ObjectStore for unit tests, so you can test complex database-driven logic. Committing domain objects, running queries, and even triggers can all be written in the Lafcadio level, meaning that they can all be tested without hitting a live database.

  • Dealing with databases in the wild. Lafcadio excels at grappling with pre-existing database schemas and all the odd ways the people use databases in the wild. It requires very little from your schema, except for the fact that each table needs a single numeric primary key. It makes many assumptions about your naming conventions, but these assumptions can all be overridden.

First-time users are recommended to read the tutorial at rubyforge.lafcadio.org/tutorial.html.

Defined Under Namespace

Modules: DomainComparable Classes: AutoIncrementField, BlobField, BooleanField, ClassDefinitionXmlParser, Committer, Context, ContextualService, CouldntMatchObjectTypeError, CreateTableStatement, DateField, DateTimeField, DbBridge, DecimalField, DomainObject, DomainObjectInitError, DomainObjectNotFoundError, DomainObjectProxy, DomainObjectSqlMaker, EmailField, English, EnumField, FieldMatchError, FieldValueError, HashOfArrays, IntegerField, LafcadioConfig, LinkField, MapObject, MissingError, MockDbBridge, MockObjectStore, MoneyField, Month, MonthField, ObjectField, ObjectStore, ObjectType, PasswordField, Query, QueueHash, SqlValueConverter, StateField, SubsetLinkField, TextField, TextListField, TimeStampField, UsStates

Constant Summary collapse

Version =
"0.4.3"