Class: EasyAdmin::Generators::CardGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/easy_admin/card/card_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_card_componentObject



11
12
13
14
# File 'lib/generators/easy_admin/card/card_generator.rb', line 11

def create_card_component
  template 'card_component.rb.erb', 
           "app/components/#{application_name.underscore}/dashboards/cards/#{file_name}_card_component.rb"
end

#create_spec_fileObject



16
17
18
19
20
21
# File 'lib/generators/easy_admin/card/card_generator.rb', line 16

def create_spec_file
  return unless defined?(RSpec)
  
  template 'card_component_spec.rb.erb',
           "spec/components/#{application_name.underscore}/dashboards/cards/#{file_name}_card_component_spec.rb"
end

#register_card_componentObject



23
24
25
26
27
28
29
30
31
# File 'lib/generators/easy_admin/card/card_generator.rb', line 23

def register_card_component
  initializer_path = "config/initializers/easy_admin_card_factory.rb"
  
  if File.exist?(initializer_path)
    append_to_file initializer_path, registration_code
  else
    create_file initializer_path, initial_configuration + registration_code
  end
end

#show_usage_exampleObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/generators/easy_admin/card/card_generator.rb', line 33

def show_usage_example
  say "\nCard component created successfully!"
  say "Usage example in your dashboard:"
  say ""
  say "  #{class_name.underscore}_card :#{file_name}, title: \"#{human_name}\""
  say ""
  say "Or as a custom card:"
  say ""
  say "  card :#{file_name},"
  say "       type: :#{options[:type]},"
  say "       title: \"#{human_name}\","
  say "       component_class: \"#{component_class_name}\""
  say ""
end