From aed91b0fb2fe3c2cd3a74e2e5bc23c8bd95ef1db Mon Sep 17 00:00:00 2001 From: Seba Gamboa Date: Wed, 23 Sep 2015 14:24:03 -0300 Subject: Making specs works --- lib/yard/handlers.rb | 2 ++ lib/yard/handlers/c.rb | 5 ++++ lib/yard/handlers/c/mruby_base.rb | 12 ++++++++ lib/yard/handlers/c/mruby_class_handler.rb | 35 ++++++++++++++++++++++ lib/yard/handlers/c/mruby_method_handler.rb | 21 +++++++++++++ lib/yard/handlers/c/mruby_module_handler.rb | 34 +++++++++++++++++++++ lib/yard/handlers/header.rb | 1 + lib/yard/handlers/header/base.rb | 11 +++++++ lib/yard/handlers/header/define_handler.rb | 0 lib/yard/handlers/header/function_handler.rb | 0 lib/yard/handlers/header/header_handler.rb | 0 lib/yard/mruby.rb | 2 +- lib/yard/mruby/handlers.rb | 2 -- lib/yard/mruby/handlers/header.rb | 1 - lib/yard/mruby/handlers/header/base.rb | 11 ------- lib/yard/mruby/handlers/header/define_handler.rb | 0 lib/yard/mruby/handlers/header/function_handler.rb | 0 lib/yard/mruby/handlers/header/header_handler.rb | 0 lib/yard/mruby/handlers/source.rb | 5 ---- lib/yard/mruby/handlers/source/base.rb | 18 ----------- lib/yard/mruby/handlers/source/class_handler.rb | 35 ---------------------- lib/yard/mruby/handlers/source/method_handler.rb | 22 -------------- lib/yard/mruby/handlers/source/module_handler.rb | 34 --------------------- 23 files changed, 122 insertions(+), 129 deletions(-) create mode 100644 lib/yard/handlers.rb create mode 100644 lib/yard/handlers/c.rb create mode 100644 lib/yard/handlers/c/mruby_base.rb create mode 100644 lib/yard/handlers/c/mruby_class_handler.rb create mode 100644 lib/yard/handlers/c/mruby_method_handler.rb create mode 100644 lib/yard/handlers/c/mruby_module_handler.rb create mode 100644 lib/yard/handlers/header.rb create mode 100644 lib/yard/handlers/header/base.rb create mode 100644 lib/yard/handlers/header/define_handler.rb create mode 100644 lib/yard/handlers/header/function_handler.rb create mode 100644 lib/yard/handlers/header/header_handler.rb delete mode 100644 lib/yard/mruby/handlers.rb delete mode 100644 lib/yard/mruby/handlers/header.rb delete mode 100644 lib/yard/mruby/handlers/header/base.rb delete mode 100644 lib/yard/mruby/handlers/header/define_handler.rb delete mode 100644 lib/yard/mruby/handlers/header/function_handler.rb delete mode 100644 lib/yard/mruby/handlers/header/header_handler.rb delete mode 100644 lib/yard/mruby/handlers/source.rb delete mode 100644 lib/yard/mruby/handlers/source/base.rb delete mode 100644 lib/yard/mruby/handlers/source/class_handler.rb delete mode 100644 lib/yard/mruby/handlers/source/method_handler.rb delete mode 100644 lib/yard/mruby/handlers/source/module_handler.rb (limited to 'lib') diff --git a/lib/yard/handlers.rb b/lib/yard/handlers.rb new file mode 100644 index 0000000..41a1f73 --- /dev/null +++ b/lib/yard/handlers.rb @@ -0,0 +1,2 @@ +require_relative 'handlers/c' +#require_relative 'handlers/header' diff --git a/lib/yard/handlers/c.rb b/lib/yard/handlers/c.rb new file mode 100644 index 0000000..61c4943 --- /dev/null +++ b/lib/yard/handlers/c.rb @@ -0,0 +1,5 @@ +require_relative 'c/mruby_base' +require_relative 'c/mruby_class_handler' +# require_relative 'c/mruby_module_handler' +require_relative 'c/mruby_method_handler' + diff --git a/lib/yard/handlers/c/mruby_base.rb b/lib/yard/handlers/c/mruby_base.rb new file mode 100644 index 0000000..83c237a --- /dev/null +++ b/lib/yard/handlers/c/mruby_base.rb @@ -0,0 +1,12 @@ +module YARD::Handlers::C + class MRubyBase < Base + DEFAULT_NAMESPACES = { + 'mrb->object_class' => 'Object' + } + + def namespace_for_variable(var) + return DEFAULT_NAMESPACES[var] if DEFAULT_NAMESPACES[var] + super + end + end +end diff --git a/lib/yard/handlers/c/mruby_class_handler.rb b/lib/yard/handlers/c/mruby_class_handler.rb new file mode 100644 index 0000000..9e3d1f5 --- /dev/null +++ b/lib/yard/handlers/c/mruby_class_handler.rb @@ -0,0 +1,35 @@ +module YARD::Handlers::C + class MRubyClassHandler < MRubyBase + + TOP_LEVEL_CLASS = /([\w]+)\s*=\s*mrb_define_class\s* + \( + \s*\w+\s*, + \s*"(\w+)"\s*, + \s*([\w\->]+)\s* + \) + /mx + + NAMESPACED_CLASS = /([\w]+)\s*=\s*mrb_define_class_under\s* + \( + \s*\w+\s*, + \s*(\w+)\s*, + \s*"(\w+)"\s*, + \s*([\w\->]+)\s* + \) + /mx + + handles TOP_LEVEL_CLASS + handles NAMESPACED_CLASS + + statement_class BodyStatement + + process do + statement.source.scan(TOP_LEVEL_CLASS) do |var_name, class_name, parent| + handle_class(var_name, class_name, parent) + end + statement.source.scan(NAMESPACED_CLASS) do |var_name, in_module, class_name, parent| + handle_class(var_name, class_name, parent, in_module) + end + end + end +end diff --git a/lib/yard/handlers/c/mruby_method_handler.rb b/lib/yard/handlers/c/mruby_method_handler.rb new file mode 100644 index 0000000..01fb345 --- /dev/null +++ b/lib/yard/handlers/c/mruby_method_handler.rb @@ -0,0 +1,21 @@ +module YARD::Handlers::C + class MRubyMethodHandler < MRubyBase + MATCH1 = /mrb_define_method\s* + \( + \s*\w+\s*, + \s*(\w+)\s*, + \s*"(\w+)"\s*, + \s*(\w+)\s*, + /mx + + handles MATCH1 + statement_class BodyStatement + + process do + statement.source.scan(MATCH1) do |var_name, name, func_name| + handle_method(nil, var_name, name, func_name) + end + end + + end +end diff --git a/lib/yard/handlers/c/mruby_module_handler.rb b/lib/yard/handlers/c/mruby_module_handler.rb new file mode 100644 index 0000000..c9243ac --- /dev/null +++ b/lib/yard/handlers/c/mruby_module_handler.rb @@ -0,0 +1,34 @@ +module YARD::MRuby::Handlers::Source + class ModuleHandler < Base + + TOP_LEVEL_MODULE = /\*([\w]+)\s*=\s*mrb_define_module\s* + \( + \s*\w+\s*, + \s*"(\w+)"\s* + \) + /mx + + NAMESPACED_MODULE = /\*([\w]+)\s*=\s*mrb_define_module_under\s* + \( + \s*\w+\s*, + \s*(\w+)\s*, + \s*"(\w+)"\s* + \) + /mx + + handles TOP_LEVEL_MODULE + handles NAMESPACED_MODULE + + statement_class BodyStatement + + process do + statement.source.scan(TOP_LEVEL_MODULE) do |var_name, module_name| + handle_module(var_name, module_name) + end + statement.source.scan(NAMESPACED_MODULE) do |var_name, in_module, module_name| + handle_module(var_name, module_name, in_module) + end + end + end +end + diff --git a/lib/yard/handlers/header.rb b/lib/yard/handlers/header.rb new file mode 100644 index 0000000..bb39563 --- /dev/null +++ b/lib/yard/handlers/header.rb @@ -0,0 +1 @@ + require_relative 'header/base' diff --git a/lib/yard/handlers/header/base.rb b/lib/yard/handlers/header/base.rb new file mode 100644 index 0000000..35859f7 --- /dev/null +++ b/lib/yard/handlers/header/base.rb @@ -0,0 +1,11 @@ +module YARD + module MRuby + module Handlers + module Header + class Base < YARD::Handlers::Base + include YARD::Parser::C + end + end + end + end +end diff --git a/lib/yard/handlers/header/define_handler.rb b/lib/yard/handlers/header/define_handler.rb new file mode 100644 index 0000000..e69de29 diff --git a/lib/yard/handlers/header/function_handler.rb b/lib/yard/handlers/header/function_handler.rb new file mode 100644 index 0000000..e69de29 diff --git a/lib/yard/handlers/header/header_handler.rb b/lib/yard/handlers/header/header_handler.rb new file mode 100644 index 0000000..e69de29 diff --git a/lib/yard/mruby.rb b/lib/yard/mruby.rb index d94cd78..683d3c5 100644 --- a/lib/yard/mruby.rb +++ b/lib/yard/mruby.rb @@ -1,3 +1,3 @@ require_relative "mruby/version" require_relative "mruby/code_objects" -require_relative "mruby/handlers" +require_relative "handlers" diff --git a/lib/yard/mruby/handlers.rb b/lib/yard/mruby/handlers.rb deleted file mode 100644 index cb0c898..0000000 --- a/lib/yard/mruby/handlers.rb +++ /dev/null @@ -1,2 +0,0 @@ -require_relative 'handlers/source' -require_relative 'handlers/header' diff --git a/lib/yard/mruby/handlers/header.rb b/lib/yard/mruby/handlers/header.rb deleted file mode 100644 index bb39563..0000000 --- a/lib/yard/mruby/handlers/header.rb +++ /dev/null @@ -1 +0,0 @@ - require_relative 'header/base' diff --git a/lib/yard/mruby/handlers/header/base.rb b/lib/yard/mruby/handlers/header/base.rb deleted file mode 100644 index 35859f7..0000000 --- a/lib/yard/mruby/handlers/header/base.rb +++ /dev/null @@ -1,11 +0,0 @@ -module YARD - module MRuby - module Handlers - module Header - class Base < YARD::Handlers::Base - include YARD::Parser::C - end - end - end - end -end diff --git a/lib/yard/mruby/handlers/header/define_handler.rb b/lib/yard/mruby/handlers/header/define_handler.rb deleted file mode 100644 index e69de29..0000000 diff --git a/lib/yard/mruby/handlers/header/function_handler.rb b/lib/yard/mruby/handlers/header/function_handler.rb deleted file mode 100644 index e69de29..0000000 diff --git a/lib/yard/mruby/handlers/header/header_handler.rb b/lib/yard/mruby/handlers/header/header_handler.rb deleted file mode 100644 index e69de29..0000000 diff --git a/lib/yard/mruby/handlers/source.rb b/lib/yard/mruby/handlers/source.rb deleted file mode 100644 index af8b0db..0000000 --- a/lib/yard/mruby/handlers/source.rb +++ /dev/null @@ -1,5 +0,0 @@ - require_relative 'source/base' - require_relative 'source/class_handler' - require_relative 'source/module_handler' - require_relative 'source/method_handler' - diff --git a/lib/yard/mruby/handlers/source/base.rb b/lib/yard/mruby/handlers/source/base.rb deleted file mode 100644 index 4578079..0000000 --- a/lib/yard/mruby/handlers/source/base.rb +++ /dev/null @@ -1,18 +0,0 @@ -module YARD - module MRuby - module Handlers - module Source - class Base < YARD::Handlers::C::Base - DEFAULT_NAMESPACES = { - 'mrb->object_class' => 'Object' - } - - def namespace_for_variable(var) - return DEFAULT_NAMESPACES[var] if DEFAULT_NAMESPACES[var] - super - end - end - end - end - end -end diff --git a/lib/yard/mruby/handlers/source/class_handler.rb b/lib/yard/mruby/handlers/source/class_handler.rb deleted file mode 100644 index 185aaa6..0000000 --- a/lib/yard/mruby/handlers/source/class_handler.rb +++ /dev/null @@ -1,35 +0,0 @@ -module YARD::MRuby::Handlers::Source - class ClassHandler < Base - - TOP_LEVEL_CLASS = /\*([\w]+)\s*=\s*mrb_define_class\s* - \( - \s*\w+\s*, - \s*"(\w+)"\s*, - \s*([\w\->]+)\s* - \) - /mx - - NAMESPACED_CLASS = /\*([\w]+)\s*=\s*mrb_define_class_under\s* - \( - \s*\w+\s*, - \s*(\w+)\s*, - \s*"(\w+)"\s*, - \s*([\w\->]+)\s* - \) - /mx - - handles TOP_LEVEL_CLASS - handles NAMESPACED_CLASS - - statement_class BodyStatement - - process do - statement.source.scan(TOP_LEVEL_CLASS) do |var_name, class_name, parent| - handle_class(var_name, class_name, parent) - end - statement.source.scan(NAMESPACED_CLASS) do |var_name, in_module, class_name, parent| - handle_class(var_name, class_name, parent, in_module) - end - end - end -end diff --git a/lib/yard/mruby/handlers/source/method_handler.rb b/lib/yard/mruby/handlers/source/method_handler.rb deleted file mode 100644 index f3eab8c..0000000 --- a/lib/yard/mruby/handlers/source/method_handler.rb +++ /dev/null @@ -1,22 +0,0 @@ -module YARD::MRuby::Handlers::Source - class MethodHandler < Base - MATCH1 = /mrb_define_method\s* - \( - \s*\w+\s*, - \s*(\w+)\s*, - \s*"(\w+)"\s*, - \s*(\w+)\s*, - /mx - - handles MATCH1 - statement_class BodyStatement - - process do - puts statement.inspect - statement.source.scan(MATCH1) do |var_name, name, func_name| - handle_method(nil, var_name, name, func_name) - end - end - - end -end diff --git a/lib/yard/mruby/handlers/source/module_handler.rb b/lib/yard/mruby/handlers/source/module_handler.rb deleted file mode 100644 index c9243ac..0000000 --- a/lib/yard/mruby/handlers/source/module_handler.rb +++ /dev/null @@ -1,34 +0,0 @@ -module YARD::MRuby::Handlers::Source - class ModuleHandler < Base - - TOP_LEVEL_MODULE = /\*([\w]+)\s*=\s*mrb_define_module\s* - \( - \s*\w+\s*, - \s*"(\w+)"\s* - \) - /mx - - NAMESPACED_MODULE = /\*([\w]+)\s*=\s*mrb_define_module_under\s* - \( - \s*\w+\s*, - \s*(\w+)\s*, - \s*"(\w+)"\s* - \) - /mx - - handles TOP_LEVEL_MODULE - handles NAMESPACED_MODULE - - statement_class BodyStatement - - process do - statement.source.scan(TOP_LEVEL_MODULE) do |var_name, module_name| - handle_module(var_name, module_name) - end - statement.source.scan(NAMESPACED_MODULE) do |var_name, in_module, module_name| - handle_module(var_name, module_name, in_module) - end - end - end -end - -- cgit v1.2.3