Module: LinkedRails::Model::Actionable

Extended by:
ActiveSupport::Concern
Included in:
Collection, LinkedRails::Model
Defined in:
lib/linked_rails/model/actionable.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#action(tag, user_context = nil) ⇒ Object



12
13
14
# File 'lib/linked_rails/model/actionable.rb', line 12

def action(tag, user_context = nil)
  actions(user_context).find { |a| a.tag == tag }
end

#action_list(user_context) ⇒ Object



16
17
18
19
# File 'lib/linked_rails/model/actionable.rb', line 16

def action_list(user_context)
  @action_list ||= {}
  @action_list[user_context] ||= self.class.action_list.new(resource: self, user_context: user_context)
end

#action_triplesObject



21
22
23
# File 'lib/linked_rails/model/actionable.rb', line 21

def action_triples
  @action_triples ||= triples_for_actions(actions) + triples_for_actions(collection_actions)
end

#actions(user_context = nil) ⇒ Object



8
9
10
# File 'lib/linked_rails/model/actionable.rb', line 8

def actions(user_context = nil)
  action_list(user_context).actions
end

#collection_actionsObject



25
26
27
28
29
# File 'lib/linked_rails/model/actionable.rb', line 25

def collection_actions
  (try(:collections) || []).map do |opts|
    collection_for(opts[:name]).actions
  end.flatten
end

#favorite_actionsObject



31
32
33
# File 'lib/linked_rails/model/actionable.rb', line 31

def favorite_actions
  actions.filter(&:favorite)
end