Class: Vedeu::CLI::View

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/vedeu/cli/view.rb

Overview

Generates a view for the client application.

:nocov:

Examples:

```bash
vedeu view main_screen
```

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#app_bin_path, #app_borders_path, #app_config_path, #app_controllers_path, #app_geometries_path, #app_helpers_path, #app_keymaps_path, #app_models_path, #app_name, #app_views_path, #copy_file, #log_processed_file, #log_skipped_file, #make_directory, #make_file, #name, #name_as_class, #output, #parse, #source, #touch_file

Constructor Details

#initialize(name) ⇒ Vedeu::CLI::View

Returns a new instance of Vedeu::CLI::View.



28
29
30
# File 'lib/vedeu/cli/view.rb', line 28

def initialize(name)
  @name = name
end

Class Method Details

.generate(name) ⇒ Object

See Also:



20
21
22
# File 'lib/vedeu/cli/view.rb', line 20

def self.generate(name)
  new(name).generate
end

Instance Method Details

#generatevoid



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/vedeu/cli/view.rb', line 33

def generate
  make_controller_file
  make_helper_file
  make_keymap_file
  make_border_file
  make_geometry_file
  make_interface_file
  make_template_file
  make_view_class_file

  output("Please update the 'root' setting in " \
         "'config/configuration.rb' to start Vedeu using this " \
         "controller and action: (args are optional)\n\n" \
         "Vedeu.configure do\n" \
         "  root :some_controller, :show, *args\n" \
         "end\n\n")
end

#make_border_filevoid (private)



72
73
74
75
# File 'lib/vedeu/cli/view.rb', line 72

def make_border_file
  make_file(source + '/app/views/interfaces/borders/name.erb',
            "./app/views/interfaces/borders/#{name}.rb")
end

#make_controller_filevoid (private)



54
55
56
57
# File 'lib/vedeu/cli/view.rb', line 54

def make_controller_file
  make_file(source + '/app/controllers/name.erb',
            "./app/controllers/#{name}_controller.rb")
end

#make_geometry_filevoid (private)



78
79
80
81
# File 'lib/vedeu/cli/view.rb', line 78

def make_geometry_file
  make_file(source + '/app/views/interfaces/geometries/name.erb',
            "./app/views/interfaces/geometries/#{name}.rb")
end

#make_helper_filevoid (private)



60
61
62
63
# File 'lib/vedeu/cli/view.rb', line 60

def make_helper_file
  make_file(source + '/app/helpers/name.erb',
            "./app/helpers/#{name}_helper.rb")
end

#make_interface_filevoid (private)



84
85
86
87
# File 'lib/vedeu/cli/view.rb', line 84

def make_interface_file
  make_file(source + '/app/views/interfaces/name.erb',
            "./app/views/interfaces/#{name}.rb")
end

#make_keymap_filevoid (private)



66
67
68
69
# File 'lib/vedeu/cli/view.rb', line 66

def make_keymap_file
  make_file(source + '/app/models/keymaps/name.erb',
            "./app/models/keymaps/#{name}.rb")
end

#make_template_filevoid (private)



90
91
92
# File 'lib/vedeu/cli/view.rb', line 90

def make_template_file
  touch_file("./app/views/templates/#{name}.erb")
end

#make_view_class_filevoid (private)



95
96
97
98
# File 'lib/vedeu/cli/view.rb', line 95

def make_view_class_file
  make_file(source + '/app/views/name.erb',
            "./app/views/#{name}.rb")
end