module RegApi2::Builder

Internal DSL Builder. Provides metamethods.

Public Class Methods

category(category) click to toggle source

@!method Sets method category @param category [String or NilClass] Category of methods @see define

# File lib/reg_api2/builder.rb, line 13
def category category
  @cat = category
end
define(name, defopts = {}) click to toggle source

@!method Defines API method. @param name Name of specified method.

# File lib/reg_api2/builder.rb, line 19
def define name, defopts = {} 
  define_method name do |opts = {}|
    RegApi2.make_action(@cat, name, defopts, opts)
  end
end
included(mod) click to toggle source

Extends module by metamethods ‘category` and `define`.

# File lib/reg_api2/builder.rb, line 6
def self.included(mod)
  mod.module_eval do

    class << self
      # @!method Sets method category
      # @param category [String or NilClass] Category of methods
      # @see define
      def category category
        @cat = category
      end

      # @!method Defines API method.
      # @param name Name of specified method.
      def define name, defopts = {} 
        define_method name do |opts = {}|
          RegApi2.make_action(@cat, name, defopts, opts)
        end
      end
    end
  end
end