module Librarian::Source::BasicApi

Public Class Methods

included(base) click to toggle source
# File lib/librarian/source/basic_api.rb, line 5
def self.included(base)
  base.extend ClassMethods
  class << base
    def lock_name(name)
      def_sclass_prop(:lock_name, name)
    end

    def spec_options(keys)
      def_sclass_prop(:spec_options, keys)
    end

  private

    def def_sclass_prop(name, arg)
      sclass = class << self ; self ; end
      sclass.module_exec do
        remove_method(name)
        define_method(name) { arg }
      end
    end
  end
end