module LinkedRails::Enhancements::Actionable::Model
Public Instance Methods
action(tag, user_context = nil)
click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 13 def action(tag, user_context = nil) actions(user_context).find { |a| a.tag == tag } end
action_list(user_context)
click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 17 def action_list(user_context) @action_list ||= {} @action_list[user_context] ||= self.class.action_list.new(resource: self, user_context: user_context) end
action_triples()
click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 22 def action_triples @action_triples ||= triples_for_actions(actions) + triples_for_actions(collection_actions) end
actions(user_context = nil)
click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 9 def actions(user_context = nil) action_list(user_context).actions end
collection_actions()
click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 26 def collection_actions (try(:collections) || []).map do |opts| collection_for(opts[:name]).actions end.flatten end
Private Instance Methods
triples_for_actions(actions)
click to toggle source
# File lib/linked_rails/enhancements/actionable/model.rb, line 34 def triples_for_actions(actions) actions.flat_map do |action| triples = [ [iri, action.predicate, action.iri], [iri, Vocab.schema.potentialAction, action.iri] ] triples << [iri, LinkedRails::Vocab.ontola[:favoriteAction], action.iri] if action.favorite triples end end