class Docks::Descriptor

Constants

INSTANCE_MEMBER
LOCAL_MEMBER
MEMBERS
PATTERN
STATIC_MEMBER

Attributes

pattern[R]
symbol[R]

Public Class Methods

new(descriptor_string, options = {}) click to toggle source
Calls superclass method
# File lib/docks/descriptor.rb, line 12
def self.new(descriptor_string, options = {})
  descriptor_string.kind_of?(self) ? descriptor_string : super
end
new(descriptor_string, options) click to toggle source
# File lib/docks/descriptor.rb, line 16
def initialize(descriptor_string, options)
  parse(descriptor_string, options)
end

Public Instance Methods

member() click to toggle source
# File lib/docks/descriptor.rb, line 24
def member
  MEMBERS.each do |member_type|
    member = self.send(member_type)
    return member unless member.nil?
  end

  nil
end
member?() click to toggle source
# File lib/docks/descriptor.rb, line 20
def member?
  MEMBERS.any? { |member_type| !self.send(member_type).nil? }
end

Private Instance Methods

parse(string, options) click to toggle source
# File lib/docks/descriptor.rb, line 35
def parse(string, options)
  string = string.sub(PATTERN) do
    @pattern = Docks.pattern_id($1)
    ""
  end

  string = string.sub(INSTANCE_MEMBER) do
    @instance_member = $1
    ""
  end

  string = string.sub(STATIC_MEMBER) do
    @static_member = $1
    ""
  end

  string = string.sub(LOCAL_MEMBER) do
    @local_member = $1
    ""
  end

  @symbol = string
  @pattern, @symbol = @symbol, nil if options[:assume] == :pattern && @pattern.nil?
end