Class: Memorium::RequireAttr::Template

Inherits:
Object
  • Object
show all
Defined in:
lib/memorium/require_attr/template.rb

Instance Method Summary collapse

Instance Method Details

#require_methodObject



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/memorium/require_attr/template.rb', line 3

def require_method
  <<~RUBY
    def require_attr(attr_name, by: :not_nil?)
      attribute = send(attr_name)
      require_attribute = Memorium::RequireAttr.new(attr_name, by:, value: attribute)
      raise(Memorium::AttributeRequired, require_attribute.raise_text, caller) unless require_attribute.check_requirements
      attribute
    end
  RUBY

end