Module: ActsAsResource::Base

Defined in:
lib/acts_as_resource/base.rb

Instance Method Summary collapse

Instance Method Details

#acts_as_accessable(options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/acts_as_resource/base.rb', line 7

def acts_as_accessable(options = {})
  return if Resourceship.accessable_classes.include?(self)

  include ActsAsResource::Accessable

  return unless options[:resources]

  options[:resources].each do |resource|
    has_many resource,
             through: :resourceships,
             source: :resourceable,
             source_type: resource.to_s.singularize.classify
  end
end

#acts_as_resource(options = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/acts_as_resource/base.rb', line 22

def acts_as_resource(options = {})
  return if Resourceship.resourceable_classes.include?(self)

  include ActsAsResource::Resourceable

  return unless options[:accessors]

  options[:accessors].each do |accessor|
    has_many accessor,
             through: :resourceships,
             source: :accessable,
             source_type: accessor.to_s.singularize.classify
  end
end