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
- #select_classes(cs) ⇒ Object
- #special_variable? ⇒ Boolean
Constructor Details
#initialize(c = nil, t = nil, m = nil, lib = nil) ⇒ MethodNamePattern
Returns a new instance of MethodNamePattern.
150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/bitclust/methodid.rb', line 150 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.
165 166 167 |
# File 'lib/bitclust/methodid.rb', line 165 def klass @klass end |
#library ⇒ Object (readonly)
Returns the value of attribute library.
168 169 170 |
# File 'lib/bitclust/methodid.rb', line 168 def library @library end |
#method ⇒ Object (readonly)
Returns the value of attribute method.
167 168 169 |
# File 'lib/bitclust/methodid.rb', line 167 def method @method end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
166 167 168 |
# File 'lib/bitclust/methodid.rb', line 166 def type @type end |
Instance Method Details
#class? ⇒ Boolean
200 201 202 |
# File 'lib/bitclust/methodid.rb', line 200 def class? @klass and (not @type and not @method) end |
#empty? ⇒ Boolean
196 197 198 |
# File 'lib/bitclust/methodid.rb', line 196 def empty? not @klass and not @type and not @method end |
#inspect ⇒ Object
170 171 172 |
# File 'lib/bitclust/methodid.rb', line 170 def inspect "#<pattern #{esc(@library)}.#{esc(@klass)}#{tesc(@type)}#{esc(@method)}>" end |
#match?(m) ⇒ Boolean
184 185 186 187 188 189 |
# File 'lib/bitclust/methodid.rb', line 184 def match?(m) (not @library or m.library.name?(@library)) and (not @klass or m.klass.name?(@klass)) and (not @type or m.typemark == @type) and (not @method or m.name?(@method)) end |
#method? ⇒ Boolean
204 205 206 |
# File 'lib/bitclust/methodid.rb', line 204 def method? @method or (@type and @type != '$') end |
#select_classes(cs) ⇒ Object
191 192 193 194 |
# File 'lib/bitclust/methodid.rb', line 191 def select_classes(cs) return cs unless @klass (cs, @klass, @crecache) end |
#special_variable? ⇒ Boolean
208 209 210 |
# File 'lib/bitclust/methodid.rb', line 208 def special_variable? @type == '$' end |