Skip to content

Commit 4493b32

Browse files
committed
Raise NoMethodError for methods designed to be overriden
1 parent 89d0a0d commit 4493b32

File tree

3 files changed

+32
-6
lines changed

3 files changed

+32
-6
lines changed

lib/rex/proto/kerberos/credential_cache/element.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ module Proto
55
module Kerberos
66
module CredentialCache
77
class Element
8+
89
def self.attr_accessor(*vars)
910
@attributes ||= []
1011
@attributes.concat vars
@@ -34,11 +35,12 @@ def attributes
3435
self.class.attributes
3536
end
3637

37-
# Encodes the Rex::Proto::Kerberos::CredentialCache::Element into an String
38+
# Encodes the Rex::Proto::Kerberos::CredentialCache::Element into an String. This
39+
# method has been designed to be overridden by subclasses.
3840
#
39-
# @return [String]
41+
# @raise [NoMethodError]
4042
def encode
41-
''
43+
raise ::NoMethodError, 'Method designed to be overridden'
4244
end
4345
end
4446
end

lib/rex/proto/kerberos/model/element.rb

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ def self.attr_accessor(*vars)
1717
super(*vars)
1818
end
1919

20+
# Retrieves the element class fields
21+
#
22+
# @return [Array]
2023
def self.attributes
2124
@attributes
2225
end
@@ -35,16 +38,27 @@ def initialize(options = {})
3538
end
3639
end
3740

41+
# Retrieves the element instance fields
42+
#
43+
# @return [Array]
3844
def attributes
3945
self.class.attributes
4046
end
4147

48+
# Decodes the Rex::Proto::Kerberos::Model::Element from the input. This
49+
# method has been designed to be overridden by subclasses.
50+
#
51+
# @raise [NoMethodError]
4252
def decode(input)
43-
self
53+
raise ::NoMethodError, 'Method designed to be overridden'
4454
end
4555

56+
# Encodes the Rex::Proto::Kerberos::Model::Element into an ASN.1 String. This
57+
# method has been designed to be overridden by subclasses.
58+
#
59+
# @raise [NoMethodError]
4660
def encode
47-
''
61+
raise ::NoMethodError, 'Method designed to be overridden'
4862
end
4963
end
5064
end

lib/rex/proto/kerberos/pac/element.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ def self.attr_accessor(*vars)
1515
super(*vars)
1616
end
1717

18+
# Retrieves the element class fields
19+
#
20+
# @return [Array]
1821
def self.attributes
1922
@attributes
2023
end
@@ -28,12 +31,19 @@ def initialize(options = {})
2831
end
2932
end
3033

34+
# Retrieves the element instance fields
35+
#
36+
# @return [Array]
3137
def attributes
3238
self.class.attributes
3339
end
3440

41+
# Encodes the Rex::Proto::Kerberos::Pac::Element into an String. This
42+
# method has been designed to be overridden by subclasses.
43+
#
44+
# @raise [NoMethodError]
3545
def encode
36-
''
46+
raise ::NoMethodError, 'Method designed to be overridden'
3747
end
3848
end
3949
end

0 commit comments

Comments
 (0)