Class: Object

Inherits:
BasicObject
Defined in:
lib/everyday-cli-utils/override.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.class_overrides(s) ⇒ Object



102
103
104
# File 'lib/everyday-cli-utils/override.rb', line 102

def class_overrides(s)
  @overrides && @overrides.get(s)
end

.has_override?(method_name) ⇒ Boolean

Returns:

  • (Boolean)


118
119
120
# File 'lib/everyday-cli-utils/override.rb', line 118

def has_override?(method_name)
  !self.true_overrides.empty?(method_name)
end

.override(method_name, &block) ⇒ Object



114
115
116
# File 'lib/everyday-cli-utils/override.rb', line 114

def override(method_name, &block)
  MethodOverrides.register_override(self, self, method_name, &block)
end

.true_overridesObject



106
107
108
# File 'lib/everyday-cli-utils/override.rb', line 106

def true_overrides
  @overrides
end

.true_overrides=(overrides) ⇒ Object



110
111
112
# File 'lib/everyday-cli-utils/override.rb', line 110

def true_overrides=(overrides)
  @overrides = overrides
end

Instance Method Details

#create_method(name, &block) ⇒ Object



74
75
76
# File 'lib/everyday-cli-utils/override.rb', line 74

def create_method(name, &block)
  self.send(:define_method, name, &block)
end

#has_override?(method_name) ⇒ Boolean

Returns:

  • (Boolean)


97
98
99
# File 'lib/everyday-cli-utils/override.rb', line 97

def has_override?(method_name)
  !self.true_overrides.empty?(method_name)
end

#override(method_name, &block) ⇒ Object



90
91
92
93
94
95
# File 'lib/everyday-cli-utils/override.rb', line 90

def override(method_name, &block)
  s = class << self
    self
  end
  MethodOverrides.register_override(s, self, method_name, &block)
end

#overridesObject



78
79
80
# File 'lib/everyday-cli-utils/override.rb', line 78

def overrides
  (@overrides && @overrides.get(self)) || self.class.class_overrides(self)
end

#true_overridesObject



82
83
84
# File 'lib/everyday-cli-utils/override.rb', line 82

def true_overrides
  @overrides
end

#true_overrides=(overrides) ⇒ Object



86
87
88
# File 'lib/everyday-cli-utils/override.rb', line 86

def true_overrides=(overrides)
  @overrides = overrides
end