class EcoRake module Sample module Concern # It adds the configurable option person schema module PersonSchema include EcoRake::Sample::Concern::Base class << self def included(base) super(base) base.option '-c', '--schema NAME', default_lookup: :default_person_schema, desc: "Target person schema." end end module ClassMethods def default_person_schema raise "Missing const 'DEFAULT_PERSON_SCHEMA'" unless defined?(self::DEFAULT_PERSON_SCHEMA) self::DEFAULT_PERSON_SCHEMA end end end end end end