class Exercism::Assignment
Attributes
project_dir[R]
readme[R]
slug[R]
test_file[R]
tests[R]
track[R]
Public Class Methods
new(attributes)
click to toggle source
# File lib/exercism/assignment.rb, line 12 def initialize(attributes) @track = attributes['track'] @slug = attributes['slug'] @readme = attributes['readme'] @test_file = attributes['test_file'] @tests = attributes['tests'] @project_dir = attributes['project_dir'] end
save(data, path)
click to toggle source
# File lib/exercism/assignment.rb, line 4 def self.save(data, path) data['assignments'].map do |attributes| new(attributes.merge('project_dir' => path)).save end end
Public Instance Methods
assignment_dir()
click to toggle source
# File lib/exercism/assignment.rb, line 44 def assignment_dir @assignment_dir ||= File.join(project_dir, track, slug) end
exercise()
click to toggle source
# File lib/exercism/assignment.rb, line 21 def exercise File.join(track, slug) end
save()
click to toggle source
# File lib/exercism/assignment.rb, line 25 def save FileUtils.mkdir_p assignment_dir save_readme save_tests unless File.exist?(tests_path) self end
save_readme()
click to toggle source
# File lib/exercism/assignment.rb, line 32 def save_readme File.open readme_path, 'w' do |f| f.write readme end end
save_tests()
click to toggle source
# File lib/exercism/assignment.rb, line 38 def save_tests File.open tests_path, 'w' do |f| f.write tests end end
Private Instance Methods
readme_path()
click to toggle source
# File lib/exercism/assignment.rb, line 50 def readme_path File.join(assignment_dir, 'README.md') end
tests_path()
click to toggle source
# File lib/exercism/assignment.rb, line 54 def tests_path File.join(assignment_dir, test_file) end