Class: LcpRuby::Generators::ExportGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
FormatSupport
Defined in:
lib/generators/lcp_ruby/export_generator.rb

Constant Summary

Constants included from FormatSupport

FormatSupport::VALID_FORMATS

Instance Method Summary collapse

Methods included from FormatSupport

included, #validate_format

Instance Method Details

#copy_export_log_modelObject



20
21
22
23
24
# File 'lib/generators/lcp_ruby/export_generator.rb', line 20

def copy_export_log_model
  copy_dsl_or_yaml "export_log_model.rb",
    dsl_target: "config/lcp_ruby/models/export_log.rb",
    yaml_target: "config/lcp_ruby/models/export_log.yml"
end

#copy_export_log_permissionsObject



42
43
44
# File 'lib/generators/lcp_ruby/export_generator.rb', line 42

def copy_export_log_permissions
  template "export_log_permissions.yml", "config/lcp_ruby/permissions/export_log.yml"
end

#copy_export_logs_presenterObject



32
33
34
35
36
# File 'lib/generators/lcp_ruby/export_generator.rb', line 32

def copy_export_logs_presenter
  copy_dsl_or_yaml "export_logs_presenter.rb",
    dsl_target: "config/lcp_ruby/presenters/export_logs.rb",
    yaml_target: "config/lcp_ruby/presenters/export_logs.yml"
end

#copy_export_profile_modelObject



14
15
16
17
18
# File 'lib/generators/lcp_ruby/export_generator.rb', line 14

def copy_export_profile_model
  copy_dsl_or_yaml "export_profile_model.rb",
    dsl_target: "config/lcp_ruby/models/export_profile.rb",
    yaml_target: "config/lcp_ruby/models/export_profile.yml"
end

#copy_export_profile_permissionsObject



38
39
40
# File 'lib/generators/lcp_ruby/export_generator.rb', line 38

def copy_export_profile_permissions
  template "export_profile_permissions.yml", "config/lcp_ruby/permissions/export_profile.yml"
end

#copy_export_profiles_presenterObject



26
27
28
29
30
# File 'lib/generators/lcp_ruby/export_generator.rb', line 26

def copy_export_profiles_presenter
  copy_dsl_or_yaml "export_profiles_presenter.rb",
    dsl_target: "config/lcp_ruby/presenters/export_profiles.rb",
    yaml_target: "config/lcp_ruby/presenters/export_profiles.yml"
end

#show_post_install_messageObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/generators/lcp_ruby/export_generator.rb', line 46

def show_post_install_message
  say ""
  say "LCP Ruby export feature installed!", :green
  say ""
  say "Next steps:"
  say "  1. Add export config to your presenter YAML:"
  say "     export:"
  say "       formats: [csv, xlsx]"
  say "       max_records: 10000"
  say "       save_history: true"
  say ""
  say "  2. Add export action to your presenter actions:"
  say "     actions:"
  say "       collection:"
  say "         - { name: export, type: built_in, icon: download }"
  say "       batch:"
  say "         - { name: export, type: built_in, icon: download }"
  say ""
  say "  3. For XLSX support, add to Gemfile: gem 'caxlsx'"
  say ""
  say "  4. Start server: rails s"
  say ""
end