Skip to content
shared.rb provides a super easy way to share code between classes or modules in a simple way.
Ruby
Find file
Latest commit bf587a6 Feb 22, 2014 @ahoward version
Failed to load latest commit information.
lib version Feb 22, 2014
pkg version Feb 22, 2014
README first commit Jul 28, 2009
Rakefile version Feb 22, 2014
readme.erb first commit Jul 28, 2009
shared.gemspec version Feb 22, 2014

README

NAME
  shared.rb

DESCRIPTION
  shared.rb provides a super easy way to share code between classes or modules
  in a simple way.  shared code can be at the class and/or instance level and
  users deferred evaluation so this is more powerful that the normal ruby
  module inclusion facilities on which it is based.

SYNOPSIS
  require 'shared'

  Shared 'methods' do
    class << self
      attr :classname
    end

    @classname = name.downcase

    def objectname
      self.class.classname + "(#{ object_id })"
    end
  end    

  class C
    include Shared('methods')
  end

  class B
    include Shared('methods')
  end

  p C.classname      #=> 'c'
  p C.new.objectname #=> 'c(1234)'

  p B.classname      #=> 'b'
  p B.new.objectname #=> 'b(4567)'
Something went wrong with that request. Please try again.