Class: YamlRefResolver::Ref

Inherits:
Object
  • Object
show all
Defined in:
lib/yaml_ref_resolver/ref.rb

Instance Method Summary collapse

Constructor Details

#initialize(target, base_path) ⇒ Ref

Returns a new instance of Ref.



2
3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/yaml_ref_resolver/ref.rb', line 2

def initialize(target, base_path)
  @base_dir = File.dirname(base_path)

  if target.start_with?("#")
    @target_file = base_path
    @target_level = target.sub("#", "")
  elsif !target.include?("#")
    @target_file = target
    @target_level = "/"
  else
    @target_file, @target_level = target.split("#")
  end
end

Instance Method Details

#abs_pathObject



16
17
18
# File 'lib/yaml_ref_resolver/ref.rb', line 16

def abs_path
  File.expand_path(@target_file, @base_dir)
end

#target_keysObject



20
21
22
# File 'lib/yaml_ref_resolver/ref.rb', line 20

def target_keys
  @target_level.split("/").reject {|s| s == "" }
end