Class: Cms::Connector
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Cms::Connector
show all
- Extended by:
- DefaultAccessible
- Defined in:
- app/models/cms/connector.rb
Class Method Summary
collapse
Instance Method Summary
collapse
non_permitted_params, permitted_params
Class Method Details
.at_position(position) ⇒ Object
31
32
33
|
# File 'app/models/cms/connector.rb', line 31
def at_position(position)
where(:position => position)
end
|
.for_connectable(c) ⇒ Object
23
24
25
|
# File 'app/models/cms/connector.rb', line 23
def for_connectable(c)
where(:connectable_id => c.id, :connectable_type => c.class.base_class.name)
end
|
.for_connectable_version(cv) ⇒ Object
19
20
21
|
# File 'app/models/cms/connector.rb', line 19
def for_connectable_version(cv)
where(:connectable_version => cv)
end
|
.for_page_version(pv) ⇒ Object
15
16
17
|
# File 'app/models/cms/connector.rb', line 15
def for_page_version(pv)
where(:page_version => pv)
end
|
.in_container(container) ⇒ Object
27
28
29
|
# File 'app/models/cms/connector.rb', line 27
def in_container(container)
where(:container => container)
end
|
.like(connector) ⇒ Object
35
36
37
38
39
40
41
|
# File 'app/models/cms/connector.rb', line 35
def like(connector)
where(:connectable_id => connector.connectable_id,
:connectable_type => connector.connectable_type,
:connectable_version => connector.connectable_version,
:container => connector.container,
:position => connector.position)
end
|
Instance Method Details
#connectable_with_deleted ⇒ Object
54
55
56
57
58
59
60
61
|
# File 'app/models/cms/connector.rb', line 54
def connectable_with_deleted
c = if connectable_type.constantize.respond_to?(:find_with_deleted)
connectable_type.constantize.find_with_deleted(id: connectable_id)
else
connectable_type.constantize.find(connectable_id)
end
(c && c.class.versioned?) ? c.as_of_version(connectable_version) : c
end
|
#current_connectable ⇒ Object
46
47
48
49
50
51
52
|
# File 'app/models/cms/connector.rb', line 46
def current_connectable
if versioned?
connectable.as_of_version(connectable_version) if connectable
else
get_connectable
end
end
|
#live? ⇒ Boolean
71
72
73
74
75
76
77
|
# File 'app/models/cms/connector.rb', line 71
def live?
if publishable?
connectable.live?
else
true
end
end
|
#publishable? ⇒ Boolean
79
80
81
|
# File 'app/models/cms/connector.rb', line 79
def publishable?
connectable_type.constantize.publishable?
end
|
#should_be_copied? ⇒ Boolean
Determines if a connector should be copied when a page is updated/versioned, etc.
90
91
92
93
94
95
96
97
|
# File 'app/models/cms/connector.rb', line 90
def should_be_copied?
if connectable && (!connectable.respond_to?(:draft) || !connectable.draft.deleted?)
return true
end
false
end
|
#status ⇒ Object
63
64
65
|
# File 'app/models/cms/connector.rb', line 63
def status
live? ? 'published' : 'draft'
end
|
#status_name ⇒ Object
67
68
69
|
# File 'app/models/cms/connector.rb', line 67
def status_name
status.to_s.titleize
end
|
#versioned? ⇒ Boolean
83
84
85
|
# File 'app/models/cms/connector.rb', line 83
def versioned?
connectable_type.constantize.versioned?
end
|