Class: DirectoryDiff::Transformer::InMemory

Inherits:
Object
  • Object
show all
Defined in:
lib/directory_diff/transformer/in_memory.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(current_directory) ⇒ InMemory

Returns a new instance of InMemory.



10
11
12
13
14
# File 'lib/directory_diff/transformer/in_memory.rb', line 10

def initialize(current_directory)
  @current_directory = current_directory
  @transforms = []
  @transforms_index = {}
end

Instance Attribute Details

#current_directoryObject (readonly)

Returns the value of attribute current_directory.



6
7
8
# File 'lib/directory_diff/transformer/in_memory.rb', line 6

def current_directory
  @current_directory
end

#new_directoryObject (readonly)

Returns the value of attribute new_directory.



6
7
8
# File 'lib/directory_diff/transformer/in_memory.rb', line 6

def new_directory
  @new_directory
end

#optionsObject (readonly)

Returns the value of attribute options.



8
9
10
# File 'lib/directory_diff/transformer/in_memory.rb', line 8

def options
  @options
end

#transformsObject (readonly)

Returns the value of attribute transforms.



7
8
9
# File 'lib/directory_diff/transformer/in_memory.rb', line 7

def transforms
  @transforms
end

#transforms_indexObject (readonly)

Returns the value of attribute transforms_index.



7
8
9
# File 'lib/directory_diff/transformer/in_memory.rb', line 7

def transforms_index
  @transforms_index
end

Instance Method Details

#into(new_directory, options = {}) ⇒ Object

Raises:

  • (ArgumentError)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/directory_diff/transformer/in_memory.rb', line 16

def into(new_directory, options={})
  raise ArgumentError unless new_directory.respond_to?(:each)
  @new_directory = new_directory
  @options = options || {}

  new_employees.each do |email, employee|
    process_employee(email, employee)
  end

  unseen_employees.each do |email, employee|
    process_employee(email, employee)
  end

  transforms
end