class DryRequireSpecHelper::Core
Public Class Methods
new(target_path)
click to toggle source
# File lib/dry_require_spec_helper/core.rb, line 5 def initialize(target_path) @target = Pathname(target_path) end
Public Instance Methods
append_require_options()
click to toggle source
# File lib/dry_require_spec_helper/core.rb, line 9 def append_require_options helper_name = used_rails_helper? ? 'rails_helper' : 'spec_helper' if File.exist?(@target.join('.rspec')) lines = File.read(@target.join('.rspec')) return if lines.split("\n").detect {|line| /--require +#{helper_name}/ === line } end File.open(@target.join('.rspec'), 'a') {|file| file.write("--require #{helper_name}\n") } end
remove_require_spec_helper()
click to toggle source
# File lib/dry_require_spec_helper/core.rb, line 21 def remove_require_spec_helper Dir[@target.join('spec/**/*_spec.rb')].each do |path| source = File.read(path) next unless /require +('(spec|rails)_helper(\.rb)?'|"(spec|rails)_helper(\.rb)?")\n*/ === source source.gsub!($&, '') File.open(path, 'w+') {|f| f.write(source) } end end
Private Instance Methods
used_rails_helper?()
click to toggle source
# File lib/dry_require_spec_helper/core.rb, line 35 def used_rails_helper? File.exists?(@target.join('spec/rails_helper.rb')) && File.exist?(@target.join('Gemfile.lock')) && File.read(@target.join('Gemfile.lock')).split("\n").detect {|gem| /rspec-rails \((\d)\.(\d)\.(\d)([0-9A-Za-z-]*)\)\z/ === gem } && $1.to_i >= 3 end