Class: Exercism::Rb::Resolver

Inherits:
Object
  • Object
show all
Defined in:
lib/exercism/rb/resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(state:, track: Config.track, root: Config.root(track)) ⇒ Resolver

Returns a new instance of Resolver.



6
7
8
9
10
# File 'lib/exercism/rb/resolver.rb', line 6

def initialize(state:, track: Config.track, root: Config.root(track))
  @state = state
  @track = track
  @root = File.expand_path(root)
end

Instance Method Details

#resolve(slug = nil, require_existing: true) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/exercism/rb/resolver.rb', line 12

def resolve(slug = nil, require_existing: true)
  exercise = if present?(slug)
               Exercise.new(slug: slug, track: @track, root: @root)
             else
               from_current_directory || from_state
             end

  exercise.ensure_exists! if require_existing
  exercise
end