Class: Tiler::Generators::WidgetGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/tiler/widget/widget_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_partialObject



17
18
19
# File 'lib/generators/tiler/widget/widget_generator.rb', line 17

def create_partial
  template "widget.html.erb.tt", File.join("app/views/tiler/widgets", "_#{file_name}.html.erb")
end

#create_widget_classObject



13
14
15
# File 'lib/generators/tiler/widget/widget_generator.rb', line 13

def create_widget_class
  template "widget.rb.tt", File.join("app/widgets/tiler", "#{file_name}_widget.rb")
end

#show_next_stepsObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/generators/tiler/widget/widget_generator.rb', line 21

def show_next_steps
  say "\nWidget scaffolded.", :green
  say <<~MSG, :cyan
    Files:
      app/widgets/tiler/#{file_name}_widget.rb
      app/views/tiler/widgets/_#{file_name}.html.erb

    The widget self-registers on boot — no initializer edit needed.
    Tiler eager-loads everything under app/widgets/** at startup and
    re-loads on dev change.

    Try it: bin/rails server, then Add Panel -> "#{class_name.titleize}".

    Distributing as a gem? See WIDGETS.md "Packaging widgets as gems".
  MSG
end