Class: Valise::Set::Definer

Inherits:
Object
  • Object
show all
Includes:
Unpath
Defined in:
lib/valise/set/definer.rb

Instance Method Summary collapse

Methods included from Unpath

#repath, #unpath

Constructor Details

#initialize(set) ⇒ Definer

Returns a new instance of Definer.



27
28
29
# File 'lib/valise/set/definer.rb', line 27

def initialize(set)
  @target = set
end

Instance Method Details

#defaults(name = nil, &block) ⇒ Object



58
59
60
61
# File 'lib/valise/set/definer.rb', line 58

def defaults(name=nil, &block)
  loc = DefinedDefaults.define(&block)
  @target.add_search_root(loc)
end

#from_here(rel_path) ⇒ Object



45
46
47
48
49
50
# File 'lib/valise/set/definer.rb', line 45

def from_here(rel_path)
  m = /(.*):\d+/.match(caller[0])
  dir = ::File::dirname(::File::expand_path(m[1]))

  unpath(dir) + unpath(rel_path)
end

#handle(path, serialization, merge_diff = nil) ⇒ Object



52
53
54
55
56
# File 'lib/valise/set/definer.rb', line 52

def handle(path, serialization, merge_diff = nil)
  @target.add_handler(unpath(path),
                      Valise::Serialization[serialization],
                      Valise::MergeDiff[merge_diff])
end

#ro(name, path = nil) ⇒ Object



35
36
37
# File 'lib/valise/set/definer.rb', line 35

def ro(name, path = nil)
  @target.add_search_root(ReadOnlySearchRoot.new(name))
end

#rw(name, path = nil) ⇒ Object



31
32
33
# File 'lib/valise/set/definer.rb', line 31

def rw(name, path = nil)
  @target.add_search_root(SearchRoot.new(name))
end

#stemmed(path, &block) ⇒ Object



39
40
41
42
43
# File 'lib/valise/set/definer.rb', line 39

def stemmed(path, &block)
  definer = StemmedDefiner.new(path, @target)
  definer.instance_eval(&block) unless block.nil?
  return definer
end