Module: RubyCms::EngineContentBlocksTasks

Included in:
Engine
Defined in:
lib/ruby_cms/engine/content_blocks_tasks.rb

Instance Method Summary collapse

Instance Method Details

#display_export_results(export_data) ⇒ Object



49
50
51
52
53
54
55
# File 'lib/ruby_cms/engine/content_blocks_tasks.rb', line 49

def display_export_results(export_data)
  $stdout.puts "Sync complete!"
  $stdout.puts "\nExport summary:"
  export_data.each do |locale, count|
    $stdout.puts "  #{locale}: #{count} block(s) updated"
  end
end

#display_export_summary(summary) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ruby_cms/engine/content_blocks_tasks.rb', line 19

def display_export_summary(summary)
  if summary.empty?
    puts "No content blocks found to export." # rubocop:disable Rails/Output
  else
    puts "Exported content blocks to locale files:" # rubocop:disable Rails/Output
    summary.each do |locale, count|
      # rubocop:disable Rails/Output
      puts "  #{locale}: #{count} block(s) updated " \
           "in config/locales/#{locale}.yml"
      # rubocop:enable Rails/Output
    end
  end
end

#display_import_results(import_data, import_after) ⇒ Object



57
58
59
60
61
62
63
64
# File 'lib/ruby_cms/engine/content_blocks_tasks.rb', line 57

def display_import_results(import_data, import_after)
  return unless import_after && import_data.any?

  $stdout.puts "\nImport summary:"
  $stdout.puts "  Created: #{import_data[:created]}"
  $stdout.puts "  Updated: #{import_data[:updated]}"
  $stdout.puts "  Skipped: #{import_data[:skipped]}"
end

#display_import_summary(summary) ⇒ Object



33
34
35
36
37
38
39
40
41
42
# File 'lib/ruby_cms/engine/content_blocks_tasks.rb', line 33

def display_import_summary(summary)
  $stdout.puts "Import summary:"
  $stdout.puts "  Created: #{summary[:created]}"
  $stdout.puts "  Updated: #{summary[:updated]}"
  $stdout.puts "  Skipped: #{summary[:skipped]}"
  return unless summary[:errors].any?

  $stdout.puts "  Errors:"
  summary[:errors].each {|e| $stdout.puts "    - #{e}" }
end

#display_sync_summary(result, import_after) ⇒ Object



44
45
46
47
# File 'lib/ruby_cms/engine/content_blocks_tasks.rb', line 44

def display_sync_summary(result, import_after)
  display_export_results(result[:export])
  display_import_results(result[:import], import_after) if import_after
end

#parse_import_optionsObject



11
12
13
14
15
16
17
# File 'lib/ruby_cms/engine/content_blocks_tasks.rb', line 11

def parse_import_options
  {
    create_missing: ENV["create_missing"] != "false",
    update_existing: ENV["update_existing"] != "false",
    published: ENV["published"] == "true"
  }
end

#parse_locales_dir(locales_dir_arg) ⇒ Object



5
6
7
8
9
# File 'lib/ruby_cms/engine/content_blocks_tasks.rb', line 5

def parse_locales_dir(locales_dir_arg)
  return nil unless locales_dir_arg.presence

  Pathname.new(locales_dir_arg)
end