Class: DevSystem::NotFoundGenerator

Inherits:
SimpleGenerator show all
Defined in:
lib/dev_system/subsystems/generator/generators/not_found_generator.rb

Instance Attribute Summary

Attributes inherited from BaseGenerator

#menv

Attributes inherited from Liza::Controller

#menv

Instance Method Summary collapse

Methods inherited from SimpleGenerator

#add_unit, #add_view, #app_shell, #arg_views, #arg_views_adjacent?, #arg_views_eof?, #arg_views_nested?, #arg_views_none?, before_instance_call, before_instance_calls, #before_instance_calls, #copy_examples, #copy_file, #copy_files, #create_file, #create_file_contents, #delete_file, #generate, #inform, #mapper, #pick_many_units, #puts_line, #read_file, #remove_units, #save, #set_default_views, set_default_views, #update_file, #valid_views

Methods inherited from BaseGenerator

#action_name, #after, #args, #before_default, #before_input, #call, call, #command, #default_args, default_args, #default_booleans, default_booleans, default_strings, #default_strings, get_generator_signatures, #inform, #input_args, input_args, #input_booleans, input_booleans, input_strings, #input_strings, #save, #set_default_arg, set_default_arg, #set_default_boolean, set_default_boolean, #set_default_string, set_default_string, set_input_arg, #set_input_arg, set_input_boolean, #set_input_boolean, set_input_string, #set_input_string

Methods inherited from Generator

get_generator_signatures

Methods inherited from Liza::Controller

#`, `, attr_accessor, attr_reader, attr_writer, #attrs, box, #box, call, color, division, division!, division?, inherited, menv_accessor, menv_reader, menv_writer, on_connected, panel, #panel, plural, require, requirements, sh, #sh, singular, subsystem, subsystem!, subsystem?, subsystem_token, token

Methods inherited from Liza::Unit

_erbs_for, #add, add, cl, #cl, class_methods_defined, const_added, const_missing, constants_defined, define_error, descendants_select, division, erbs_available, erbs_defined, erbs_for, errors, #fetch, fetch, get, #get, instance_methods_defined, log, #log, log?, #log?, #log_array, log_array, log_hash, #log_hash, #log_level, log_level, #log_level?, log_level?, log_levels, #log_levels, #log_render_convert, #log_render_format, #log_render_in, #log_render_out, method_added, methods_defined, namespace, part, raise_error, #raise_error, reload!, #reload!, #render, #render!, #render_stack, renderable_formats_for, renderable_names, section, sections, #set, set, #settings, settings, singleton_method_added, sleep, #sleep, stick, #stick, sticks, #sticks, subclasses_select, subunits, system, #system, system?, test_class, time_diff, #time_diff

Instance Method Details

#beforeObject



4
5
6
7
# File 'lib/dev_system/subsystems/generator/generators/not_found_generator.rb', line 4

def before
  super
  env[:generator_action] = "default"
end

#call_defaultObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/dev_system/subsystems/generator/generators/not_found_generator.rb', line 9

def call_default
  is_global = App.global?
  self.log_level 1 if is_global

  app_shell = AppShell.new
  app_shell.filter_by_unit Generator

  if is_global
    app_shell.filter_in_units NewGenerator, NotFoundGenerator
  else
    app_shell.filter_out_units BaseGenerator, SimpleGenerator, NewGenerator
    failed_name = menv[:generator_name_original]
    app_shell.filter_by_name_including failed_name if failed_name
  end

  outputs(app_shell, failed_name)
end

#outputs(app_shell, failed_name) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/dev_system/subsystems/generator/generators/not_found_generator.rb', line 29

def outputs(app_shell, failed_name)
  domains = app_shell.get_domains.reject(&:empty?)
  log "domains: #{domains.count}"
  puts

  if domains.empty?
    log stick :black, :green, "No results found for '#{failed_name}'"
    app_shell.undo_filter!
    domains = app_shell.get_domains
    log "domains: #{domains.count}"
  end

  domains.each do |domain|
    next if domain.empty?

    if log? :normal
      puts typo.h1 domain.name.snakecase.upcase, domain.color
    end

    puts
    domain.layers.each do |layer|
      next if layer.objects.empty?

      if log? :normal
        m = "h#{layer.level}"
        name = layer.level==1 ? domain.name.snakecase.upcase : layer.name.to_s
        puts typo.send m, name, layer.color unless layer.level==3

        puts stick layer.color, layer.path
        puts
      end

      layer.objects.each { print_class _1 }
      puts
    end
  end
end


67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/dev_system/subsystems/generator/generators/not_found_generator.rb', line 67

def print_class klass, description: nil
  return if [NotFoundCommand].include? klass

  sidebar_length = Log.panel.sidebar_size
  klass.get_generator_signatures.each do |signature|
    signature[:name] =
      signature[:name].empty? \
        ? klass.token.to_s
        : "#{klass.token}:#{signature[:name]}"
    #
  end.sort_by { _1[:name] }.map do |signature|
    puts [
      "liza generate #{signature[:name]}".ljust(sidebar_length),
      (description or signature[:description])
    ].join ""
  end
end

#typoObject



85
# File 'lib/dev_system/subsystems/generator/generators/not_found_generator.rb', line 85

def typo () = TypographyShell