Module: Lexically

Defined in:
lib/lexically.rb,
lib/lexically/version.rb

Overview

Provides ‘lexically` method by including this module. Methods defined inside of `lexically`-block have similar visibility to private method, But it’s not called fron derived classes.

Examples:

Basic usage

class C
  include Lexically
  using lexically {
    def lexical_method
      :foo
    end
  }
  def public_api
    lexical_method
  end
end

class D < C
  def derived
    lexical_method
  end
end

C.new.public_api     #=> :foo
C.new.lexical_method #=> raises NameError
D.new.lexical_method #=> raises NameError because the D is derived class

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
"0.1.4"

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



31
32
33
# File 'lib/lexically.rb', line 31

def self.included(base)
  base.extend(ClassMethods)
end