Sha256: 2cc5152236d87aed8f4faeaaf174ae9ad325f58f9bcd1ff8e350dd7566779e93

Contents?: true

Size: 661 Bytes

Versions: 20

Compression:

Stored size: 661 Bytes

Contents

class Class
  # Allows the definition of methods on a class that will be available via
  # super.
  # 
  # ==== Examples
  #     class Foo
  #       chainable do
  #         def hello
  #           "hello"
  #         end
  #       end
  #     end
  #
  #     class Foo
  #       def hello
  #         super + " Merb!"
  #       end
  #     end
  #
  # Foo.new.hello #=> "hello Merb!"
  # 
  # ==== Parameters
  # &blk:: 
  #   a block containing method definitions that should be
  #   marked as chainable
  #
  # ==== Returns
  # Module:: The anonymous module that was created
  def chainable(&blk)
    mod = Module.new(&blk)
    include mod
    mod
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
merb-core-1.1.3 lib/merb-core/core_ext/class.rb
merb-core-1.1.2 lib/merb-core/core_ext/class.rb
merb-core-1.1.1 lib/merb-core/core_ext/class.rb
merb-core-1.1.0 lib/merb-core/core_ext/class.rb
merb-core-1.1.0.rc1 lib/merb-core/core_ext/class.rb
merb-core-1.1.0.pre lib/merb-core/core_ext/class.rb
merb-core-1.0.15 lib/merb-core/core_ext/class.rb
merb-core-1.0.14 lib/merb-core/core_ext/class.rb
merb-core-1.0.13 lib/merb-core/core_ext/class.rb
merb-core-1.0.12 lib/merb-core/core_ext/class.rb
merb-core-1.0.11 lib/merb-core/core_ext/class.rb
merb-core-1.0.10 lib/merb-core/core_ext/class.rb
merb-core-1.0.6.1 lib/merb-core/core_ext/class.rb
merb-core-1.0.5 lib/merb-core/core_ext/class.rb
merb-core-1.0.6 lib/merb-core/core_ext/class.rb
merb-core-1.0.8.1 lib/merb-core/core_ext/class.rb
merb-core-1.0.7.1 lib/merb-core/core_ext/class.rb
merb-core-1.0.7 lib/merb-core/core_ext/class.rb
merb-core-1.0.8 lib/merb-core/core_ext/class.rb
merb-core-1.0.9 lib/merb-core/core_ext/class.rb