Sha256: 95ff42843633e0e5eb50b29c2b62ec3d6d84fdaf3cb60c517296ef799bd593ed

Contents?: true

Size: 1.11 KB

Versions: 20

Compression:

Stored size: 1.11 KB

Contents

Polymorphism Framework
======================
 
This framework adds subtype polymorphism support to SC.Record relationships and
SC.Store\#find.


## Using the Framework

In order to use the polymorphism for your record type, you need to set
the `isPolymorphic` property:

    MyApp.SomeRecord = SC.Record.extend({
      // your code here
    });
    MyApp.SomeRecord.isPolymorphic = YES;


## Example

    YourApp.Person = SC.Record.extend();
    YourApp.Person.isPolymorphic = YES;

    YourApp.Male = YourApp.Person.extend({
      isMale: YES
    });

    YourApp.Female = YourApp.Person.extend({
      isFemale: YES
    });
    
    YourApp.store.createRecord(YourApp.Male, {
      guid: '1'
    });
    
    YourApp.store.createRecord(YourApp.Female, {
      guid: '2'
    });
    
    // SC.Store#find now returns records of the expected type
    SC.Logger.log(SC.kindOf(YourApp.store.find(YourApp.Person, '1'), YourApp.Male)); // true
    SC.Logger.log(SC.kindOf(YourApp.store.find(YourApp.Person, '2'), YourApp.Female)); // true

## Contributors

- Colin Campbell (<colin@sproutcore.com>)
- Tyler Keating (<tyler@sproutcore.com>)

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
sproutcore-1.10.3.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.10.2 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.10.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.10.0 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.10.0.rc.3 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.10.0.rc.2 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.10.0.rc.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.9.2 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.9.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.9.0 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.8.2.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.8.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.8.0 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.7.1.beta-java lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.7.1.beta lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.6.0.1-java lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.6.0.1 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.6.0.1-x86-mingw32 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.6.0 lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md
sproutcore-1.6.0-java lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md