class Object

Public Instance Methods

add_original(scope,data=self.data) click to toggle source
# File lib/alki/assembly/types/assembly.rb, line 86
def add_original(scope,data=self.data)
  scope[:original] = data[:prefix] + [:original]
end
add_parent_path(scope,data=self.data) click to toggle source
# File lib/alki/assembly/types/assembly.rb, line 81
def add_parent_path(scope,data=self.data)
  parent_path = data[:scope][:assembly]||nil
  scope[:parent] = parent_path if parent_path
end
deep_copy(val) click to toggle source
# File lib/alki/assembly/types/assembly.rb, line 49
def deep_copy(val)
  if val.is_a?(Hash)
    val.inject({}) do |h,(k,v)|
      h[k] = deep_copy v
      h
    end
  elsif val.is_a?(Array)
    val.inject([]) do |a,v|
      a.push deep_copy v
    end
  else
    val
  end
end
override() click to toggle source
# File lib/alki/assembly/types/assembly.rb, line 90
def override
  Alki::Assembly::Types::Override.new root, overrides
end
update_main(data) click to toggle source
# File lib/alki/assembly/types/assembly.rb, line 64
def update_main(data)
  data[:scope] = {assembly: data[:scope][:assembly], root: []}
  update_scope data
  data[:scope][:assembly] = data[:prefix].dup
end
update_override(data) click to toggle source
# File lib/alki/assembly/types/assembly.rb, line 70
def update_override(data)
  data[:scope][:root] ||= []
  add_original data[:scope], data
end
update_scope(data,scope=data[:scope]) click to toggle source
# File lib/alki/assembly/types/assembly.rb, line 75
def update_scope(data,scope=data[:scope])
  scope[:root] = []
  add_parent_path scope, data
  add_original scope, data
end