Sha256: 385044026b4d25529d1363f20bc3352628282077045036d51339ec5c150a4f8e

Contents?: true

Size: 432 Bytes

Versions: 4

Compression:

Stored size: 432 Bytes

Contents

module Dao
  class Interface
    Attrs = %w( api path route block doc )
    Attrs.each{|attr| attr_accessor(attr)}

    def initialize(options = {})
      update(options)
    end

    def update(options = {})
      options.each do |key, val|
        send("#{ key }=", val)
      end
    end

    def arity
      block.arity
    end

    def call(*args)
      block.call(*args)
    end

    def to_proc
      block
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dao-3.3.0 lib/dao/interface.rb
dao-3.2.0 lib/dao/interface.rb
dao-3.1.2 lib/dao/interface.rb
dao-3.1.1 lib/dao/interface.rb