public static function initialize(Jam_Meta $meta) { $meta->table('vocabularies')->name_key('name'); $meta->behaviors(array('paranoid' => Jam::behavior('paranoid', array()))); $meta->associations(array('terms' => Jam::association('hasmany', array('inverse_of' => 'vocabulary')))); $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'is_hidden' => Jam::field('boolean', array()), 'created_at' => Jam::field('timestamp', array('auto_now_create' => TRUE, 'format' => 'Y-m-d H:i:s')), 'updated_at' => Jam::field('timestamp', array('auto_now_update' => TRUE, 'format' => 'Y-m-d H:i:s', 'label' => "Last edited")))); }
public static function initialize(Jam_Meta $meta) { $meta->table('terms')->name_key('name'); $meta->behaviors(array('nested' => Jam::behavior('Nested'), 'sluggable' => Jam::behavior('Sluggable', array('uses_primary_key' => FALSE, 'auto_save' => FALSE, 'unique' => TRUE)))); $meta->associations(array('vocabulary' => Jam::association('belongsto', array('inverse_of' => 'terms')))); $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'is_hidden' => Jam::field('boolean', array()), 'created_at' => Jam::field('timestamp', array('auto_now_create' => TRUE, 'format' => 'Y-m-d H:i:s')), 'updated_at' => Jam::field('timestamp', array('auto_now_update' => TRUE, 'format' => 'Y-m-d H:i:s')))); $meta->validator('name', array('present' => TRUE)); }
public static function initialize(Jam_Meta $meta) { // Set database to connect to $meta->db(Kohana::TESTING); $meta->behaviors(array('nested' => Jam::behavior('nested'))); $meta->associations(array('test_blog' => Jam::association('belongsto', array('inverse_of' => 'test_categories')), 'test_posts' => Jam::association('manytomany'), 'test_author' => Jam::association('belongsto'))); // Define fields $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'is_featured' => Jam::field('boolean'))); }
public static function initialize(Jam_Meta $meta) { // Set database to connect to $meta->db(Kohana::TESTING); $meta->associations(array('test_post' => Jam::association('belongsto', array('conditions' => array('where' => array('test_post._approved_by', 'IS', NULL)), 'counter_cache' => TRUE, 'touch' => 'updated')), 'test_blogs' => Jam::association('manytomany', array('join_table' => 'test_blogs_test_tags')))); $meta->behaviors(array('sluggable' => Jam::behavior('sluggable', array('uses_primary_key' => FALSE, 'unique' => TRUE, 'slug' => 'Model_Test_Tag::_slug')))); // Set fields $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'))); }
public static function initialize(Jam_Meta $meta) { // Set database to connect to $meta->db(Kohana::TESTING); $meta->name_key('file'); $meta->behaviors(array('paranoid' => Jam::behavior('paranoid', array('field' => 'deleted')), 'sortable' => Jam::behavior('sortable', array('field' => 'position', 'scope' => 'group')), 'sluggable' => Jam::behavior('sluggable', array('auto_save' => TRUE)), 'tokenable' => Jam::behavior('tokenable', array('uppercase' => TRUE)))); $meta->associations(array('test_holder' => Jam::association('belongsto', array('polymorphic' => 'test_holder_type')))); // Set fields $meta->fields(array('id' => Jam::field('primary'), 'file' => Jam::field('string'), 'group' => Jam::field('string'))); $meta->validator('file', array('length' => array('minimum' => 4))); }
/** * Tests various properties on a meta object. */ public function test_properties() { $fields = array('id' => new Jam_Field_Primary(), 'id2' => new Jam_Field_Primary(), 'name' => new Jam_Field_String()); $meta = new Jam_Meta('foo'); $meta->db('foo')->table('foo')->fields($fields)->sorting(array('foo' => 'bar'))->primary_key('id2')->name_key('name')->foreign_key('meta_fk')->behaviors(array(new Jam_Behavior_Test()))->finalize('meta'); // Ensure the simple properties are preserved $expected = array('initialized' => TRUE, 'db' => 'foo', 'table' => 'foo', 'model' => 'meta', 'primary_key' => 'id2', 'name_key' => 'name', 'foreign_key' => 'meta_fk', 'sorting' => array('foo' => 'bar')); foreach ($expected as $property => $value) { $this->assertSame($meta->{$property}(), $value); } // Ensure we can retrieve fields properly $this->assertSame($meta->field('id2')->name, 'id2'); // Ensure all fields match $this->assertSame($meta->fields(), $fields); // Ensure defaults are set properly $this->assertSame($meta->defaults(), array('id' => NULL, 'id2' => NULL, 'name' => '')); foreach ($meta->behaviors() as $behavior) { // Ensure Behaviors return actual objects $this->assertTrue($behavior instanceof Jam_Behavior); } }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('freezable' => Jam::behavior('freezable', array('associations' => 'child'))))->associations(array('child' => Jam::association('hasone'))); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('taxonomable' => Jam::behavior('taxonomable'))); // Define fields $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'))); }
/** * @codeCoverageIgnore */ public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('paranoid' => Jam::behavior('paranoid')))->associations(array('brand_refund' => Jam::association('belongsto', array('inverse_of' => 'items')), 'purchase_item' => Jam::association('belongsto', array('inverse_of' => 'refund_items'))))->fields(array('id' => Jam::field('primary'), 'amount' => Jam::field('price')))->validator('brand_refund', 'purchase_item', array('present' => TRUE)); }
/** * @codeCoverageIgnore */ public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('paranoid' => Jam::behavior('paranoid')))->associations(array('brand_purchase' => Jam::association('belongsto', array('inverse_of' => 'refunds')), 'items' => Jam::association('hasmany', array('inverse_of' => 'brand_refund', 'foreign_model' => 'brand_refund_item')), 'creator' => Jam::association('creator', array('required' => FALSE))))->fields(array('id' => Jam::field('primary'), 'amount' => Jam::field('price'), 'transaction_status' => Jam::field('string'), 'raw_response' => Jam::field('serialized', array('method' => 'json')), 'reason' => Jam::field('string'), 'created_at' => Jam::field('timestamp', array('auto_now_create' => TRUE, 'format' => 'Y-m-d H:i:s'))))->validator('brand_purchase', array('present' => TRUE)); }
/** * @codeCoverageIgnore */ public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('paranoid' => Jam::behavior('paranoid')))->associations(array('groups' => Jam::association('hasmany', array('foreign_model' => 'shipping_group', 'foreign_key' => 'shipping_id', 'inverse_of' => 'shipping', 'delete_on_remove' => Jam_Association::DELETE)), 'methods' => Jam::association('manytomany', array('foreign_model' => 'shipping_method', 'association_foreign_key' => 'method_id', 'join_table' => 'shipping_groups', 'readonly' => TRUE, 'join_table_paranoid' => TRUE)), 'locations' => Jam::association('manytomany', array('join_table' => 'shipping_groups', 'join_table_paranoid' => TRUE, 'readonly' => TRUE)), 'ships_from' => Jam::association('belongsto', array('foreign_model' => 'location')), 'brand' => Jam::association('belongsto', array('inverse_of' => 'shippings'))))->fields(array('id' => Jam::field('primary'), 'model' => Jam::field('polymorphic'), 'name' => Jam::field('string'), 'currency' => Jam::field('string')))->validator('name', 'currency', array('present' => TRUE))->validator('currency', array('currency' => TRUE)); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('freezable' => Jam::behavior('freezable', array('associations' => 'test_items', 'parent' => 'test_purchase'))))->associations(array('test_purchase' => Jam::association('belongsto', array('inverse_of' => 'test_store_purchases')), 'test_items' => Jam::association('hasmany', array('inverse_of' => 'test_store_purchase', 'foreign_model' => 'test_purchase_item'))))->fields(array('id' => Jam::field('primary')))->validator('test_purchase', array('present' => TRUE)); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('freezable' => Jam::behavior('freezable', array('fields' => 'price', 'parent' => 'test_store_purchase', 'skippable' => TRUE))))->associations(array('test_store_purchase' => Jam::association('belongsto', array('inverse_of' => 'test_items'))))->fields(array('id' => Jam::field('primary'), 'price' => Jam::field('float'))); }
/** * @codeCoverageIgnore */ public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('visitor_defaults' => Jam::behavior('visitor_defaults')))->associations(array('user' => Jam::association('belongsto', array('inverse_of' => 'visitor')), 'country' => Jam::association('belongsto', array('foreign_key' => 'country_id', 'foreign_model' => 'location'))))->fields(array('id' => Jam::field('primary'), 'ip' => Jam::field('ip'), 'token' => Jam::field('string'), 'currency' => Jam::field('string')))->validator('currency', array('choice' => array('in' => array('EUR', 'GBP')))); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('freezable' => Jam::behavior('freezable', array('parent' => 'test', 'fields' => 'value'))))->associations(array('parent' => Jam::association('belongsto')))->fields(array('value' => Jam::field('string'))); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('freezable' => Jam::behavior('freezable', array('parent' => 'test_purchase'))))->associations(array('test_purchase' => Jam::association('belongsto'))); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('paranoid' => Jam::behavior('paranoid')))->associations(array('product' => Jam::association('belongsto')))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'price' => Jam::field('price')))->validator('name', 'price', 'product', array('present' => TRUE))->validator('price', array('numeric' => TRUE)); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('location_auto' => Jam::behavior('location_auto', array('locations' => array('city' => 'city', 'country' => 'country_name')))))->associations(array('country' => Jam::association('belongsto', array('foreign_model' => 'location')), 'city' => Jam::association('belongsto', array('foreign_model' => 'location'))))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'ip' => Jam::field('ip'))); }
/** * @codeCoverageIgnore */ public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('paranoid' => Jam::behavior('paranoid')))->associations(array('shipping' => Jam::association('belongsto', array('inverse_of' => 'locations')), 'method' => Jam::association('belongsto', array('foreign_model' => 'shipping_method', 'inverse_of' => 'locations')), 'location' => Jam::association('belongsto', array('inverse_of' => 'shipping_group')), 'shipping_items' => Jam::association('hasmany', array('inverse_of' => 'shipping_group'))))->fields(array('id' => Jam::field('primary'), 'price' => Jam::field('price'), 'delivery_time' => Jam::field('range', array('format' => 'Model_Shipping::format_shipping_time')), 'additional_item_price' => Jam::field('price', array('convert_empty' => FALSE)), 'discount_threshold' => Jam::field('price')))->validator('price', 'shipping', 'location', 'method', 'delivery_time', array('present' => TRUE))->validator('additional_item_price', 'discount_threshold', 'price', array('price' => array('greater_than_or_equal_to' => 0)))->validator('delivery_time', array('range' => array('consecutive' => TRUE, 'greater_than_or_equal_to' => 0))); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('freezable' => Jam::behavior('freezable', array('fields' => 'monetary', 'associations' => array('test_store_purchases', 'test_payment')))))->associations(array('test_store_purchases' => Jam::association('hasmany', array('inverse_of' => 'test_purchase', 'foreign_model' => 'test_store_purchase')), 'test_payment' => Jam::association('hasone')))->fields(array('id' => Jam::field('primary'), 'monetary' => Jam::field('serialized'))); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('paranoid' => Jam::behavior('paranoid')))->associations(array('variations' => Jam::association('hasmany')))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'currency' => Jam::field('string'), 'price' => Jam::field('price')))->validator('name', 'price', 'currency', array('present' => TRUE))->validator('price', array('price' => TRUE)); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('materializedpath' => Jam::behavior('materializedpath')))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'))); }
/** * @codeCoverageIgnore */ public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('closuretable' => Jam::behavior('closuretable')))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'short_name' => Jam::field('string'), 'type' => Jam::field('string')))->validator('name', array('present' => TRUE)); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('shippable_brand' => Jam::behavior('shippable_brand')))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'))); }
public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('freezable' => Jam::behavior('freezable', array('skippable' => 'is_meldable', 'skippable_field_options' => array('default' => TRUE))))); }
public static function initialize(Jam_Meta $meta) { $meta->db(Kohana::TESTING); $meta->behaviors(array('closuretable' => Jam::behavior('closuretable', array('children_dependent' => Jam_Association::DELETE))))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'))); }
/** * @codeCoverageIgnore */ public static function initialize(Jam_Meta $meta) { $meta->behaviors(array('paranoid' => Jam::behavior('paranoid')))->associations(array('brand_purchases' => Jam::association('hasmany', array('inverse_of' => 'brand', 'foreign_model' => 'brand_purchase', 'delete_on_remove' => Jam_Association::DELETE)), 'purchases' => Jam::association('manytomany', array('foreign_model' => 'purchase', 'join_table' => 'brand_purchases'))))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string')))->validator('name', array('present' => TRUE)); }