Class: Eulerplate::FolderCreator

Inherits:
Object
  • Object
show all
Defined in:
lib/eulerplate/folder_creator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ FolderCreator

Returns a new instance of FolderCreator.



7
8
9
# File 'lib/eulerplate/folder_creator.rb', line 7

def initialize(opts = {})
  @dir = opts.fetch(:dir) { Dir.new(Dir.pwd) }
end

Instance Attribute Details

#dirObject (readonly)

Returns the value of attribute dir.



6
7
8
# File 'lib/eulerplate/folder_creator.rb', line 6

def dir
  @dir
end

Instance Method Details

#for_problem(number) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/eulerplate/folder_creator.rb', line 11

def for_problem(number)
  problem = Problems.new.problem(number)
  Dir.mkdir(File.join(@dir.path, problem.folder_name))
  dir = Dir.new(File.join(@dir.path, problem.folder_name))
  File.open(File.join(dir.path, problem.test_name), "w") do |file|
    file.puts problem.spec_body
  end
  File.open(File.join(dir.path, problem.ruby_file_name), "w") do |file|
    file.puts problem.ruby_body
  end
  problem
end