Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
451985d4
Commit
451985d4
authored
Jul 13, 2014
by
take_cheeze
Committed by
Yukihiro "Matz" Matsumoto
Nov 13, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement Module#name.
Solves #2132.
parent
88604e39
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
0 deletions
+41
-0
mrbgems/default.gembox
mrbgems/default.gembox
+3
-0
mrbgems/mruby-module-ext/mrbgem.rake
mrbgems/mruby-module-ext/mrbgem.rake
+5
-0
mrbgems/mruby-module-ext/src/module.c
mrbgems/mruby-module-ext/src/module.c
+23
-0
mrbgems/mruby-module-ext/test/module.rb
mrbgems/mruby-module-ext/test/module.rb
+10
-0
No files found.
mrbgems/default.gembox
View file @
451985d4
...
...
@@ -71,6 +71,9 @@ MRuby::GemBox.new do |conf|
# Use Kernel module extension
conf.gem :core => "mruby-kernel-ext"
# Use extensional Module class
conf.gem :core => "mruby-module-ext"
# Use mruby-compiler to build other mrbgems
conf.gem :core => "mruby-compiler"
end
mrbgems/mruby-module-ext/mrbgem.rake
0 → 100644
View file @
451985d4
MRuby
::
Gem
::
Specification
.
new
(
'mruby-module-ext'
)
do
|
spec
|
spec
.
license
=
'MIT'
spec
.
author
=
'mruby developers'
spec
.
summary
=
'extensional Module class'
end
mrbgems/mruby-module-ext/src/module.c
0 → 100644
View file @
451985d4
#include "mruby.h"
#include "mruby/class.h"
#include "mruby/string.h"
static
mrb_value
mrb_mod_name
(
mrb_state
*
mrb
,
mrb_value
self
)
{
mrb_value
name
=
mrb_class_path
(
mrb
,
mrb_class_ptr
(
self
));
return
mrb_nil_p
(
name
)
?
name
:
mrb_str_dup
(
mrb
,
name
);
}
void
mrb_mruby_module_ext_gem_init
(
mrb_state
*
mrb
)
{
struct
RClass
*
mod
=
mrb
->
module_class
;
mrb_define_method
(
mrb
,
mod
,
"name"
,
mrb_mod_name
,
MRB_ARGS_NONE
());
}
void
mrb_mruby_module_ext_gem_final
(
mrb_state
*
mrb
)
{
}
mrbgems/mruby-module-ext/test/module.rb
0 → 100644
View file @
451985d4
assert
'Module#name'
do
module
A
class
B
end
end
assert_nil
A
::
B
.
singleton_class
.
name
assert_equal
'Fixnum'
,
Fixnum
.
name
assert_equal
'A::B'
,
A
::
B
.
name
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment