{"id":94645,"library":"abstract-class","title":"Abstract Class","description":"An implementation of the 'abstract class' design pattern in Ruby.","status":"active","version":"1.0.1","language":"ruby","source_language":null,"source_url":"https://github.com/shuber/abstract_class","tags":["abstract","oop","pattern","utility"],"install":[{"cmd":"gem install abstract_class","lang":"bash","label":"gem install"},{"cmd":"# Gemfile\ngem 'abstract_class', '~> 1.0.1'","lang":"ruby","label":"Gemfile"}],"dependencies":[],"imports":[{"symbol":"AbstractClass","correct":"require 'abstract_class'"}],"quickstart":{"code":"require 'abstract_class'\nclass Animal\n  abstract_class\n  def speak\n    raise NotImplementedError\n  end\nend\nclass Dog < Animal\n  def speak; 'woof'; end\nend\nDog.new.speak # => 'woof'","lang":"ruby","description":"Define an abstract class that cannot be instantiated directly"},"warnings":[],"env_vars":null,"search_vec":"'abstract':1,7,13 'class':2,8 'design':9 'implement':4 'oop':14 'pattern':10,15 'rubi':12 'util':16","created_at":"2026-06-19T10:09:55.484468+00:00","updated_at":"2026-06-19T10:09:55.484468+00:00","problems":[],"ecosystem":"rubygems","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/shuber/abstract_class","github":"https://github.com/shuber/abstract_class","docs":"http://www.rubydoc.info/gems/abstract_class/","changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["utility"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-19","next_check":"2026-12-16","install_tag":null}}