Sha256: c661939393ec97d56f8d30eb011209124d7a06d44f435a177892fd9d13727aae

Contents?: true

Size: 359 Bytes

Versions: 14

Compression:

Stored size: 359 Bytes

Contents

module Schemacop
  class NodeWithBlock < Node
    class_attribute :block_methods
    self.block_methods = [].freeze

    def self.block_method(name)
      self.block_methods += [name]
    end

    def exec_block(&block)
      return unless block_given?
      se = ScopedEnv.new(self, self.class.block_methods)
      se.instance_exec(&block)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
schemacop-2.4.7 lib/schemacop/node_with_block.rb
schemacop-2.4.6 lib/schemacop/node_with_block.rb
schemacop-2.4.5 lib/schemacop/node_with_block.rb
schemacop-2.4.4 lib/schemacop/node_with_block.rb
schemacop-2.4.3 lib/schemacop/node_with_block.rb
schemacop-2.4.2 lib/schemacop/node_with_block.rb
schemacop-2.4.1 lib/schemacop/node_with_block.rb
schemacop-2.4.0 lib/schemacop/node_with_block.rb
schemacop-2.3.2 lib/schemacop/node_with_block.rb
schemacop-2.3.1 lib/schemacop/node_with_block.rb
schemacop-2.3.0 lib/schemacop/node_with_block.rb
schemacop-2.2.0 lib/schemacop/node_with_block.rb
schemacop-2.1.0 lib/schemacop/node_with_block.rb
schemacop-2.0.0 lib/schemacop/node_with_block.rb