Class: Jazzy::SourceDeclaration::AccessControlLevel

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/jazzy/source_declaration/access_control_level.rb

Constant Summary collapse

LEVELS =
{
  private: 0,
  internal: 1,
  public: 2,
}.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(declaration_string) ⇒ AccessControlLevel

Returns a new instance of AccessControlLevel.



8
9
10
11
12
13
14
15
16
# File 'lib/jazzy/source_declaration/access_control_level.rb', line 8

def initialize(declaration_string)
  if declaration_string =~ /private\ /
    @level = :private
  elsif declaration_string =~ /public\ /
    @level = :public
  else
    @level = :internal
  end
end

Instance Attribute Details

#levelObject (readonly)

Returns the value of attribute level.



6
7
8
# File 'lib/jazzy/source_declaration/access_control_level.rb', line 6

def level
  @level
end

Class Method Details

.internalObject



22
23
24
# File 'lib/jazzy/source_declaration/access_control_level.rb', line 22

def self.internal
  AccessControlLevel.new('internal ')
end

.privateObject



18
19
20
# File 'lib/jazzy/source_declaration/access_control_level.rb', line 18

def self.private
  AccessControlLevel.new('private ')
end

.publicObject



26
27
28
# File 'lib/jazzy/source_declaration/access_control_level.rb', line 26

def self.public
  AccessControlLevel.new('public ')
end

Instance Method Details

#<=>(other) ⇒ Object



36
37
38
# File 'lib/jazzy/source_declaration/access_control_level.rb', line 36

def <=>(other)
  LEVELS[level] <=> LEVELS[other.level]
end