Class: Skyline::ObjectRef

Inherits:
RefObject
  • Object
show all
Defined in:
app/models/skyline/object_ref.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *a) ⇒ Object



13
14
15
16
17
18
19
# File 'app/models/skyline/object_ref.rb', line 13

def method_missing(m,*a)
	if self.referable && self.referable.respond_to?(m)
		self.referable.send(m,*a)
	else
		super
	end
end

Instance Method Details

#blank?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'app/models/skyline/object_ref.rb', line 21

def blank?
 self.referable.blank?
end

#cloneObject



37
38
39
40
41
# File 'app/models/skyline/object_ref.rb', line 37

def clone
  returning super do |clone|
    clone.referable = self.referable.clone if self.referable.kind_of?(Skyline::ReferableUri)
  end
end

#external?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'app/models/skyline/object_ref.rb', line 29

def external?
  self.referable.andand.respond_to?(:external?) ? self.referable.external? : false
end

#file?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/models/skyline/object_ref.rb', line 33

def file?
  self.referable_type == "Skyline::MediaFile"
end

#present?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'app/models/skyline/object_ref.rb', line 25

def present?
 self.referable.present?
end

#respond_to?(m) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
8
9
10
11
# File 'app/models/skyline/object_ref.rb', line 4

def respond_to?(m)
	return true if super
	if self.referable
		self.referable.respond_to?(m)
	else
		super
	end
end