Sha256: ef03fbc505a2782f917e0ea3f295acf3d91598ad91a03bfef4b4b77ead775011

Contents?: true

Size: 703 Bytes

Versions: 14

Compression:

Stored size: 703 Bytes

Contents

module CurationConcerns
  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
      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

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
curation_concerns-1.0.0.beta1 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.14.0 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.14.0.pre4 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.14.0.pre3 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.14.0.pre2 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.14.0.pre1 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.13.1 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.13.0 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.12.0 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.12.0.pre9 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.12.0.pre8 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.12.0.pre7 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.12.0.pre6 app/actors/curation_concerns/actor_stack.rb
curation_concerns-0.12.0.pre5 app/actors/curation_concerns/actor_stack.rb