Module: Groovestack::Base::GraphQL::Types::AASMEventAttributes

Defined in:
lib/groovestack/base/graphql/types/aasm_event_attributes.rb

Instance Method Summary collapse

Instance Method Details

#all_eventsObject



8
9
10
# File 'lib/groovestack/base/graphql/types/aasm_event_attributes.rb', line 8

def all_events
  object.class.aasm.events.map { |event| event.name.to_s }
end

#permitted_eventsObject



12
13
14
# File 'lib/groovestack/base/graphql/types/aasm_event_attributes.rb', line 12

def permitted_events
  object.aasm.events(permitted: true).map { |event| event.name.to_s }
end

#status_eventsObject



16
17
18
19
20
21
22
23
# File 'lib/groovestack/base/graphql/types/aasm_event_attributes.rb', line 16

def status_events
  all = all_events
  permitted = permitted_events

  all.map do |event|
    { name: event.titleize, key: event, enabled: permitted.include?(event) }
  end
end