module Tins::Implement
Constants
- MESSAGES
Public Instance Methods
implement(method_name, msg = :default)
click to toggle source
# File lib/tins/implement.rb, line 11 def implement(method_name, msg = :default) method_name.nil? and return case msg when ::Symbol msg = MESSAGES.fetch(msg) when ::Hash return implement method_name, msg.fetch(:in) end display_method_name = method_name if m = instance_method(method_name) rescue nil m.extend Tins::MethodDescription display_method_name = m.description(style: :name) end begin msg = msg % { method_name: display_method_name, module: self } rescue KeyError end define_method(method_name) do |*| raise ::NotImplementedError, msg end end
implement_in_submodule(method_name)
click to toggle source
# File lib/tins/implement.rb, line 33 def implement_in_submodule(method_name) implement method_name, 'method %{method_name} has to be implemented in submodules of' ' %{module}' end