README.md in acts_as-0.0.3 vs README.md in acts_as-0.1.0
- old
+ new
@@ -1,9 +1,17 @@
# ActsAs
-ActiveRecord extension for easy belongs_to composition delegation
+ActiveRecord extension for easy belongs_to composition and delegation
+* Transparently write to multiple tables from one active record model by proxying attributes and their methods through a second model.
+* Easily extract a new table from an existing table, but keep the existing API intact without breaking any consumers.
+* When using STI to maintain easy joins, this is an easy way to proxy unique child attributes through to another table for that child
+
+This is designed for any belongs_to relationship where lifecycles are tightly coupled and proxying of attribute helpers from belongs_to -> has_one is desired.
+
+(see example below and /spec for more detail)
+
## Installation
Add this line to your application's Gemfile:
gem 'acts_as'
@@ -30,12 +38,12 @@
class User
include ActsAs
end
class Rebel < User
- acts_as :profile, class_name: 'RebelProfile', autosave: true
- acts_as :clan, prefix: %w( name ), with: %w( delegate_at_will ), autosave: true
+ acts_as :profile, class_name: 'RebelProfile'
+ acts_as :clan, prefix: %w( name ), with: %w( delegate_at_will )
end
# table :clans
# name :string
# strength :integer
@@ -76,10 +84,10 @@
# Any method you want
rebel.delegate_at_will #=> '10'
-## To be considered
+## Roadmap / Ideas
How does the active record join hash-parsing stuff work? EX-
Rebel.joins(:clan).where(clan: {cool: true)