spec/spec_helper.rb in method_log-0.0.5 vs spec/spec_helper.rb in method_log-0.0.6

- old
+ new

@@ -1,25 +1,50 @@ $LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__)) + +module MethodLog + module SourceHelper + def source(options = {}) + options[:source] = options[:source] ? unindent(options[:source]) : options[:source] + SourceFile.new(options) + end + + def unindent(code) + lines = code.split($/) + indent = lines.reject { |l| l.strip.length == 0 }.map { |l| l[/^\s*/].length }.min + fixed_lines = lines.map { |l| l.sub(Regexp.new(' ' * indent), '') } + fixed_lines.drop_while { |l| l.strip.length == 0 }.take_while { |l| l.strip.length > 0 }.join($/) + end + + def indent(code, spaces = 2) + lines = code.split($/) + lines.map { |l| "#{' ' * spaces}#{l}"}.join($/) + end + end +end + +RSpec.configure do |config| + config.include MethodLog::SourceHelper +end