Class: Connector

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/connector.rb

Instance Method Summary collapse

Instance Method Details

#connectable_with_deletedObject



36
37
38
39
40
41
42
43
# File 'app/models/connector.rb', line 36

def connectable_with_deleted
  c = if connectable_type.constantize.respond_to?(:find_with_deleted)
    connectable_type.constantize.find_with_deleted(connectable_id)
  else
    connectable_type.constantize.find(connectable_id)
  end
  (c && c.class.versioned?) ? c.as_of_version(connectable_version) : c
end

#current_connectableObject



28
29
30
31
32
33
34
# File 'app/models/connector.rb', line 28

def current_connectable
  if versioned?
    connectable.as_of_version(connectable_version) if connectable
  else
    get_connectable
  end
end

#live?Boolean

Returns:

  • (Boolean)


53
54
55
56
57
58
59
# File 'app/models/connector.rb', line 53

def live?
  if publishable?
    connectable.live?
  else
    true
  end
end

#publishable?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'app/models/connector.rb', line 61

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.

Returns:

  • (Boolean)


72
73
74
75
76
77
78
79
# File 'app/models/connector.rb', line 72

def should_be_copied?
  if connectable && (!connectable.respond_to?(:draft) || !connectable.draft.deleted?)
    return true
  end


  false
end

#statusObject



45
46
47
# File 'app/models/connector.rb', line 45

def status
  live? ? 'published' : 'draft'
end

#status_nameObject



49
50
51
# File 'app/models/connector.rb', line 49

def status_name
  status.to_s.titleize
end

#versioned?Boolean

Returns:

  • (Boolean)


65
66
67
# File 'app/models/connector.rb', line 65

def versioned?
  connectable_type.constantize.versioned?
end