Class: Sowing::Runner

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_directory: nil) ⇒ Runner

Returns a new instance of Runner.



4
5
6
# File 'lib/sowing/runner.rb', line 4

def initialize(data_directory: nil)
  @data_directory = Pathname(data_directory || Sowing::Configuration.config.default_data_directory)
end

Instance Attribute Details

#data_directoryObject (readonly)

Returns the value of attribute data_directory.



2
3
4
# File 'lib/sowing/runner.rb', line 2

def data_directory
  @data_directory
end

Instance Method Details

#create(klass, filename: nil) ⇒ Object



8
9
10
11
12
# File 'lib/sowing/runner.rb', line 8

def create(klass, filename: nil)
  find_file(klass, filename: filename) do |file, strategy|
    strategy.create(klass, file)
  end
end

#create_or_do_nothing(klass, finding_key, filename: nil) ⇒ Object



14
15
16
17
18
# File 'lib/sowing/runner.rb', line 14

def create_or_do_nothing(klass, finding_key, filename: nil)
  find_file(klass, filename: filename) do |file, strategy|
    strategy.create_or_do_nothing(klass, file, finding_key)
  end
end

#create_or_update(klass, finding_key, filename: nil) ⇒ Object



20
21
22
23
24
# File 'lib/sowing/runner.rb', line 20

def create_or_update(klass, finding_key, filename: nil)
  find_file(klass, filename: filename) do |file, strategy|
    strategy.create_or_update(klass, file, finding_key)
  end
end