Module: Safrano::EntityClassBase::Transitions

Includes:
Transitions::GetNextTrans::BySimpleDetect
Included in:
Safrano::EntityClassBase
Defined in:
lib/odata/model_ext.rb

Overview

methods related to transitions to next state (cf. walker)

Instance Method Summary collapse

Methods included from Transitions::GetNextTrans::BySimpleDetect

#get_next_transresult

Instance Method Details

#allowed_transitionsObject



613
614
615
# File 'lib/odata/model_ext.rb', line 613

def allowed_transitions
  @allowed_transitions
end

#build_allowed_transitionsObject



623
624
625
626
627
628
# File 'lib/odata/model_ext.rb', line 623

def build_allowed_transitions
  @allowed_transitions = [Safrano::TransitionEnd,
                          Safrano::TransitionCount,
                          Safrano::Transition.new(entity_id_url_regexp,
                                                  trans: :transition_id)].freeze
end

#build_entity_allowed_transitionsObject



630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
# File 'lib/odata/model_ext.rb', line 630

def build_entity_allowed_transitions
  @entity_allowed_transitions = [
    Safrano::TransitionEnd,
    Safrano::TransitionCount,
    Safrano::TransitionLinks,
    Safrano::TransitionValue,
    Safrano::Transition.new(transition_attribute_regexp, trans: :transition_attribute)
  ]
  if (ncurgx = @nav_collection_url_regexp)
    @entity_allowed_transitions <<
      Safrano::Transition.new(%r{\A/(#{ncurgx})(.*)\z}, trans: :transition_nav_collection)
  end
  if (neurgx = @nav_entity_url_regexp)
    @entity_allowed_transitions <<
      Safrano::Transition.new(%r{\A/(#{neurgx})(.*)\z}, trans: :transition_nav_entity)
  end
  @entity_allowed_transitions << Safrano::Transition.new(%r{\A/(\w+)(.*)\z}, trans: :transition_invalid_attribute)
  @entity_allowed_transitions.freeze
  @entity_allowed_transitions
end

#entity_allowed_transitionsObject



619
620
621
# File 'lib/odata/model_ext.rb', line 619

def entity_allowed_transitions
  @entity_allowed_transitions
end