File Coverage

blib/lib/Interchange6/Schema/Result/NavigationProduct.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1 2     2   1188 use utf8;
  2         6  
  2         14  
2              
3             package Interchange6::Schema::Result::NavigationProduct;
4              
5             =head1 NAME
6              
7             Interchange6::Schema::Result::NavigationProduct
8              
9             =cut
10              
11 2     2   143 use Interchange6::Schema::Candy;
  2         5  
  2         15  
12              
13             =head1 ACCESSORS
14              
15             =head2 sku
16              
17             Foreign constraint on L<Interchange6::Schema::Result::Product/sku>
18             via L</product> relationship.
19              
20             =cut
21              
22             column sku =>
23             { data_type => "varchar", size => 64 };
24              
25             =head2 navigation_id
26              
27             Foreign constraint on L<Interchange6::Schema::Result::Navigation/navigation_id>
28             via L</navigation> relationship.
29              
30             =cut
31              
32             column navigation_id =>
33             { data_type => "integer" };
34              
35             =head2 type
36              
37             Can be used to cache the value held in
38             L<Interchange6::Schema::Result::Navigation/type> though usually ignored.
39              
40             Column is nullable.
41              
42             =cut
43              
44             column type =>
45             { data_type => "varchar", is_nullable => 1, size => 16 };
46              
47             =head2 priority
48              
49             Priority (higher number is higher priority) is used to define which category
50             (or other L<Interchange6::Schema::Result::Navigation/type>) should be used
51             when constructing L<Interchange6::Schema::Result::Product/path>.
52              
53             Default is 0.
54              
55             =cut
56              
57             column priority => { data_type => "integer", default_value => 0 };
58              
59             =head1 PRIMARY KEY
60              
61             =over 4
62              
63             =item * L</sku>
64              
65             =item * L</navigation_id>
66              
67             =back
68              
69             =cut
70              
71             primary_key "sku", "navigation_id";
72              
73             =head1 RELATIONS
74              
75             =head2 navigation
76              
77             Type: belongs_to
78              
79             Related object: L<Interchange6::Schema::Result::Navigation>
80              
81             =cut
82              
83             belongs_to
84             navigation => "Interchange6::Schema::Result::Navigation",
85             "navigation_id",
86             { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" };
87              
88             =head2 product
89              
90             Type: belongs_to
91              
92             Related object: L<Interchange6::Schema::Result::Product>
93              
94             =cut
95              
96             belongs_to
97             product => "Interchange6::Schema::Result::Product",
98             "sku",
99             { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" };
100              
101             1;