Module: IseqRailsTools
- Defined in:
- lib/iseq_rails_tools.rb,
lib/iseq_rails_tools.rb,
lib/iseq_rails_tools/railtie.rb,
lib/iseq_rails_tools/version.rb,
lib/iseq_rails_tools/source_file.rb,
ext/iseq_rails_tools/iseq_rails_tools.c
Defined Under Namespace
Classes: Railtie, SourceFile
Constant Summary collapse
- DIRECTORY_NAME =
'.iseq'- VERSION =
'0.0.7'
Class Attribute Summary collapse
-
.iseq_dir ⇒ Object
Returns the value of attribute iseq_dir.
Class Method Summary collapse
Class Attribute Details
.iseq_dir ⇒ Object
Returns the value of attribute iseq_dir.
16 17 18 |
# File 'lib/iseq_rails_tools.rb', line 16 def iseq_dir @iseq_dir end |
Class Method Details
.clear ⇒ Object
18 19 20 |
# File 'lib/iseq_rails_tools.rb', line 18 def clear Dir.glob(File.join(iseq_dir, '**/*.yarb')) { |path| File.delete(path) } end |
.iseq_path_for(ruby_source_path) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'ext/iseq_rails_tools/iseq_rails_tools.c', line 11
static VALUE iseq_path_for(VALUE self, VALUE ruby_source_path)
{
char *source_path = rb_string_value_cstr(&ruby_source_path);
char iseq_path[strlen(source_path) * 2 + 6];
int source_idx = 0;
int iseq_idx = 0;
while(source_path[source_idx] != '\0') {
if (whitelisted(source_path[source_idx])) {
memcpy(iseq_path + iseq_idx++, source_path + source_idx++, 1);
} else {
sprintf(iseq_path + iseq_idx, "%02x", source_path[source_idx++]);
iseq_idx += 2;
}
}
memcpy(iseq_path + iseq_idx, ".yarb", 5);
return rb_str_new(iseq_path, iseq_idx + 5);
}
|