Class: Dato::Dump::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/dato/dump/runner.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_path, client, destination_path = Dir.pwd) ⇒ Runner

Returns a new instance of Runner.



12
13
14
15
16
# File 'lib/dato/dump/runner.rb', line 12

def initialize(config_path, client, destination_path = Dir.pwd)
  @config_path = config_path
  @client = client
  @destination_path = destination_path
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



10
11
12
# File 'lib/dato/dump/runner.rb', line 10

def client
  @client
end

#config_pathObject (readonly)

Returns the value of attribute config_path.



10
11
12
# File 'lib/dato/dump/runner.rb', line 10

def config_path
  @config_path
end

#destination_pathObject (readonly)

Returns the value of attribute destination_path.



10
11
12
# File 'lib/dato/dump/runner.rb', line 10

def destination_path
  @destination_path
end

Instance Method Details

#loaderObject



41
42
43
# File 'lib/dato/dump/runner.rb', line 41

def loader
  @loader ||= Dato::Local::Loader.new(client)
end

#operationObject



37
38
39
# File 'lib/dato/dump/runner.rb', line 37

def operation
  @operation ||= Operation::Root.new(destination_path)
end

#runObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/dato/dump/runner.rb', line 18

def run
  print 'Fetching content from DatoCMS... '

  loader.load

  I18n.available_locales = loader.items_repo.available_locales
  I18n.locale = I18n.available_locales.first

  Dsl::Root.new(
    File.read(config_path),
    loader.items_repo,
    operation
  )

  operation.perform

  puts "\e[32m✓\e[0m Done!"
end