<commit_before>(function (enyo, scope) {
	
	var kind = enyo.kind;
		
	var Model = enyo.Model,
		Collection = enyo.Collection;
		
	/**
		Private class for a collection that defaults its model kind to enyo.RelationalModel
		as oppossed to enyo.Model.
		
		@private
		@class RelationalCollection
		@extends enyo.Collection
	*/
	var RelationalCollection = kind(
		/** @lends Collection.prototype */ {
			
		/**
			@private
		*/
		kind: Collection,
		
		/**
			@private
		*/
		model: 'enyo.RelationalModel'
	});

	/**
		@todo No idea how to document these as default options
	*/
	var relationDefaults = {
		/**
		*/
		type: 'toOne',
		
		/**
		*/
		key: null,
		
		/**
		*/
		create: true,
		
		/**
		*/
		parse: false,
		
		/**
		*/
		model: 'enyo.RelationalModel',
		
		/**
		*/
		fetch: false,
		
		/**
		*/
		inverseKey: null,
		
		/**
		*/
		inverseType: null,
		
		/**
		*/
		isOwner: true,
		
		/**
		*/
		includeInJSON: true
	};

	/**
		@protected
		@abstract Relation
	*/
	var Relation = kind(
		/** @lends Relation.prototype */ {
			
		/**
			@private
		*/
		kind: null,
		
		/**
			@private
		*/
		options: {},
		
		/**
			@private
		*/
		constructor: function (instance, props) {
			
			// apply any of the properties to ourself for reference
			enyo.mixin(this, [relationDefaults, this.options, props]);
			
			// store a reference to the model we're relating
			this.instance = instance;
			
			// ensure we have a constructor for our related model kind
			this.model = enyo.constructorForKind(this.model);
			
            this.includeInJSON = !props.includeInJSON && !this.isOwner
				? (this.model.prototype.primaryKey || 'id')
				: this.includeInJSON;
			
			// let the subkinds do their thing
			this.init();<commit_msg>fix to appreciate the developer's intended value when set<commit_after>(function (enyo, scope) {
	
	var kind = enyo.kind;
		
	var Model = enyo.Model,
		Collection = enyo.Collection;
		
	/**
		Private class for a collection that defaults its model kind to enyo.RelationalModel
		as oppossed to enyo.Model.
		
		@private
		@class RelationalCollection
		@extends enyo.Collection
	*/
	var RelationalCollection = kind(
		/** @lends Collection.prototype */ {
			
		/**
			@private
		*/
		kind: Collection,
		
		/**
			@private
		*/
		model: 'enyo.RelationalModel'
	});

	/**
		@todo No idea how to document these as default options
	*/
	var relationDefaults = {
		/**
		*/
		type: 'toOne',
		
		/**
		*/
		key: null,
		
		/**
		*/
		create: true,
		
		/**
		*/
		parse: false,
		
		/**
		*/
		model: 'enyo.RelationalModel',
		
		/**
		*/
		fetch: false,
		
		/**
		*/
		inverseKey: null,
		
		/**
		*/
		inverseType: null,
		
		/**
		*/
		isOwner: true,
		
		/**
		*/
		includeInJSON: true
	};

	/**
		@protected
		@abstract Relation
	*/
	var Relation = kind(
		/** @lends Relation.prototype */ {
			
		/**
			@private
		*/
		kind: null,
		
		/**
			@private
		*/
		options: {},
		
		/**
			@private
		*/
		constructor: function (instance, props) {
			
			// apply any of the properties to ourself for reference
			enyo.mixin(this, [relationDefaults, this.options, props]);
			
			// store a reference to the model we're relating
			this.instance = instance;
			
			// ensure we have a constructor for our related model kind
			this.model = enyo.constructorForKind(this.model);
			
            this.includeInJSON = props.includeInJSON == null && !this.isOwner
				? (this.model.prototype.primaryKey || 'id')
				: this.includeInJSON;
			
			// let the subkinds do their thing
			this.init();
{'fraction_non_alphanumeric': 0.13924410343847685, 'fraction_numerical': 0.0, 'mean_word_length': 2.2323232323232323, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3720820', 'n_tokens_mistral': 1468, 'n_tokens_neox': 1144, 'n_words': 290}