Sha256: d737f2f7f4b368008e048f30de405b9297a1dbe304fc67dd85c6e20ebd677ee5

Contents?: true

Size: 504 Bytes

Versions: 17

Compression:

Stored size: 504 Bytes

Contents

# frozen_string_literal: true

module Heya
  module Campaigns
    module Actions
      class Block < Action
        class Execution
          def initialize(user:, step:, &block)
            @user, @step, @block = user, step, block
          end

          def deliver
            instance_exec(@user, @step, &@block)
          end
        end

        def build
          block = step.params.fetch("block")
          Execution.new(user: user, step: step, &block)
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
heya-0.12.0 lib/heya/campaigns/actions/block.rb
heya-0.11.0 lib/heya/campaigns/actions/block.rb
heya-0.10.0 lib/heya/campaigns/actions/block.rb
heya-0.9.0 lib/heya/campaigns/actions/block.rb
heya-0.8.0 lib/heya/campaigns/actions/block.rb
heya-0.7.0 lib/heya/campaigns/actions/block.rb
heya-0.6.1 lib/heya/campaigns/actions/block.rb
heya-0.6.0 lib/heya/campaigns/actions/block.rb
heya-0.5.3 lib/heya/campaigns/actions/block.rb
heya-0.5.2 lib/heya/campaigns/actions/block.rb
heya-0.5.1 lib/heya/campaigns/actions/block.rb
heya-0.5.0 lib/heya/campaigns/actions/block.rb
heya-0.4.0 lib/heya/campaigns/actions/block.rb
heya-0.3.0 lib/heya/campaigns/actions/block.rb
heya-0.2.1 lib/heya/campaigns/actions/block.rb
heya-0.2.0 lib/heya/campaigns/actions/block.rb
heya-0.1.0 lib/heya/campaigns/actions/block.rb