Class: BitClust::MethodNamePattern
Overview
A MethodNamePattern has #klass, #type, #method and #library. All attributes are string. All attributes are optional.
Instance Attribute Summary collapse
-
#klass ⇒ Object
readonly
Returns the value of attribute klass.
-
#library ⇒ Object
readonly
Returns the value of attribute library.
-
#method ⇒ Object
readonly
Returns the value of attribute method.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
- #class? ⇒ Boolean
- #empty? ⇒ Boolean
-
#initialize(c = nil, t = nil, m = nil, lib = nil) ⇒ MethodNamePattern
constructor
A new instance of MethodNamePattern.
- #inspect ⇒ Object
- #match?(m) ⇒ Boolean
- #method? ⇒ Boolean
- #special_variable? ⇒ Boolean
Constructor Details
#initialize(c = nil, t = nil, m = nil, lib = nil) ⇒ MethodNamePattern
Returns a new instance of MethodNamePattern.
156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/bitclust/methodid.rb', line 156 def initialize(c = nil, t = nil, m = nil, lib = nil) @klass = c if c and c.empty? @klass = nil end @type = t @method = m if m and m.empty? @method = nil end @library = library @crecache = [] @mrecache = [] end |
Instance Attribute Details
#klass ⇒ Object (readonly)
Returns the value of attribute klass.
171 172 173 |
# File 'lib/bitclust/methodid.rb', line 171 def klass @klass end |
#library ⇒ Object (readonly)
Returns the value of attribute library.
174 175 176 |
# File 'lib/bitclust/methodid.rb', line 174 def library @library end |
#method ⇒ Object (readonly)
Returns the value of attribute method.
173 174 175 |
# File 'lib/bitclust/methodid.rb', line 173 def method @method end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
172 173 174 |
# File 'lib/bitclust/methodid.rb', line 172 def type @type end |
Instance Method Details
#class? ⇒ Boolean
201 202 203 |
# File 'lib/bitclust/methodid.rb', line 201 def class? @klass and (not @type and not @method) end |
#empty? ⇒ Boolean
197 198 199 |
# File 'lib/bitclust/methodid.rb', line 197 def empty? not @klass and not @type and not @method end |
#inspect ⇒ Object
176 177 178 |
# File 'lib/bitclust/methodid.rb', line 176 def inspect "#<pattern #{esc(@library)}.#{esc(@klass)}#{tesc(@type)}#{esc(@method)}>" end |
#match?(m) ⇒ Boolean
190 191 192 193 194 195 |
# File 'lib/bitclust/methodid.rb', line 190 def match?(m) (not @library or m.library.name?(@library || raise)) and (not @klass or m.klass.name?(@klass || raise)) and (not @type or m.typemark == @type) and (not @method or m.name?(@method || raise)) end |
#method? ⇒ Boolean
205 206 207 |
# File 'lib/bitclust/methodid.rb', line 205 def method? @method or (@type and @type != '$') end |
#special_variable? ⇒ Boolean
209 210 211 |
# File 'lib/bitclust/methodid.rb', line 209 def special_variable? @type == '$' end |