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
- #action(tag, user_context = nil) ⇒ Object
- #action_list(user_context) ⇒ Object
- #action_triples ⇒ Object
- #actions(user_context = nil) ⇒ Object
- #collection_actions ⇒ Object
- #favorite_actions ⇒ Object
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_triples ⇒ Object
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_actions ⇒ Object
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_actions ⇒ Object
31 32 33 |
# File 'lib/linked_rails/model/actionable.rb', line 31 def favorite_actions actions.filter(&:favorite) end |