Sha256: df73c1248b0abc89618ff02d31e94601ac03b13b2db63f1d10195998513c5152

Contents?: true

Size: 775 Bytes

Versions: 9

Compression:

Stored size: 775 Bytes

Contents

module CurationConcerns
  module Actors
    class ActorStack
      attr_reader :curation_concern, :user, :first_actor_class, :more_actors
      def initialize(curation_concern, user, more_actors)
        @curation_concern = curation_concern
        @user = user
        @more_actors = more_actors
        @first_actor_class = @more_actors.shift || RootActor
      end

      def inner_stack
        Actors::ActorStack.new(curation_concern, user, more_actors)
      end

      def actor
        first_actor_class.new(curation_concern, user, inner_stack)
      end

      def create(attributes)
        actor.create(attributes.with_indifferent_access)
      end

      def update(attributes)
        actor.update(attributes.with_indifferent_access)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
curation_concerns-1.0.0.beta10 app/actors/curation_concerns/actors/actor_stack.rb
curation_concerns-1.0.0.beta9 app/actors/curation_concerns/actors/actor_stack.rb
curation_concerns-1.0.0.beta8 app/actors/curation_concerns/actors/actor_stack.rb
curation_concerns-1.0.0.beta7 app/actors/curation_concerns/actors/actor_stack.rb
curation_concerns-1.0.0.beta6 app/actors/curation_concerns/actors/actor_stack.rb
curation_concerns-1.0.0.beta5 app/actors/curation_concerns/actors/actor_stack.rb
curation_concerns-1.0.0.beta4 app/actors/curation_concerns/actors/actor_stack.rb
curation_concerns-1.0.0.beta3 app/actors/curation_concerns/actors/actor_stack.rb
curation_concerns-1.0.0.beta2 app/actors/curation_concerns/actors/actor_stack.rb