Class: ContentfulMiddleman::ImportTask

Inherits:
Object
  • Object
show all
Defined in:
lib/contentful_middleman/import_task.rb

Instance Method Summary collapse

Constructor Details

#initialize(space_name, content_type_names, content_type_mappers, contentful) ⇒ ImportTask

Returns a new instance of ImportTask.



3
4
5
6
7
8
9
10
# File 'lib/contentful_middleman/import_task.rb', line 3

def initialize(space_name, content_type_names, content_type_mappers, contentful)
  @space_name           = space_name
  @content_type_names   = content_type_names
  @content_type_mappers = content_type_mappers
  @changed_local_data   = false
  @contentful           = contentful
  @use_camel_case       = @contentful.options.client_options.fetch(:use_camel_case, false)
end

Instance Method Details

#changed_local_data?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/contentful_middleman/import_task.rb', line 22

def changed_local_data?
  @changed_local_data
end

#entriesObject



26
27
28
# File 'lib/contentful_middleman/import_task.rb', line 26

def entries
  @entries ||= @contentful.entries
end

#file_name(content_type_name, entry) ⇒ Object



30
31
32
33
# File 'lib/contentful_middleman/import_task.rb', line 30

def file_name(content_type_name, entry)
  entry_id = entry.sys.key?(:id) ? entry.sys[:id] : entry.id
  File.join(@space_name, content_type_name, entry_id.to_s)
end

#runObject



12
13
14
15
16
17
18
19
20
# File 'lib/contentful_middleman/import_task.rb', line 12

def run
  old_version_hash = ContentfulMiddleman::VersionHash.read_for_space(@space_name)

  LocalData::Store.new(local_data_files, @space_name).write

  new_version_hash = ContentfulMiddleman::VersionHash.write_for_space_with_entries(@space_name, entries, @use_camel_case)

  @changed_local_data = new_version_hash != old_version_hash
end