Class: Mortar::Command::Generate
- Defined in:
- lib/mortar/command/generate.rb
Overview
generate mortar code (project, pigscript, python_udf, macro)
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#_project ⇒ Object
generate:project PROJECTNAME.
-
#controlscript ⇒ Object
generate:controlscript SCRIPTNAME.
-
#macro ⇒ Object
generate:macro MACRONAME.
-
#pigscript ⇒ Object
generate:pigscript SCRIPTNAME.
-
#python_udf ⇒ Object
generate:python_udf UDFNAME.
Methods inherited from Base
#api, #ask_public, #config_parameters, #get_error_message_context, #git, #initialize, #initialize_embedded_project, namespace, #pig_parameters, #project, #register_api_call, #register_do, #register_project, #validate_project_name, #validate_project_structure
Methods included from Helpers
#action, #ask, #confirm, #copy_if_not_present_at_dest, #default_host, #deprecate, #display, #display_header, #display_object, #display_row, #display_table, #display_with_indent, #download_to_file, #ensure_dir_exists, #error, error_with_failure, error_with_failure=, extended, extended_into, #format_bytes, #format_date, #format_with_bang, #get_terminal_environment, #home_directory, #host, #hprint, #hputs, included, included_into, #installed_with_omnibus?, #json_decode, #json_encode, #line_formatter, #longest, #output_with_bang, #quantify, #redisplay, #retry_on_exception, #running_on_a_mac?, #running_on_windows?, #set_buffer, #shell, #spinner, #status, #string_distance, #styled_array, #styled_error, #styled_hash, #styled_header, #suggestion, #test_name, #ticking, #time_ago, #truncate, #warning, #with_tty, #write_to_file
Constructor Details
This class inherits a constructor from Mortar::Command::Base
Instance Method Details
#_project ⇒ Object
generate:project PROJECTNAME
Generate the files and directory structure necessary for a Mortar project.
32 33 34 35 36 37 38 39 40 |
# File 'lib/mortar/command/generate.rb', line 32 def _project project_name = shift_argument unless project_name error("Usage: mortar generate:project PROJECTNAME\nMust specify PROJECTNAME.") end pigscript_name = project_name app_generator = Mortar::Generators::ProjectGenerator.new app_generator.generate_project(project_name, ) end |
#controlscript ⇒ Object
generate:controlscript SCRIPTNAME
Generate new control script.
60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/mortar/command/generate.rb', line 60 def controlscript script_name = shift_argument unless script_name error("Usage: mortar generate:controlscript SCRIPTNAME\nMust specify SCRIPTNAME.") end # Validates the we're in a mortar project project script_generator = Mortar::Generators::ControlscriptGenerator.new script_generator.generate_controlscript(script_name, ) end |
#macro ⇒ Object
generate:macro MACRONAME
Generate a new pig macro.
94 95 96 97 98 99 100 101 102 |
# File 'lib/mortar/command/generate.rb', line 94 def macro macro_name = shift_argument unless macro_name error("Usage: mortar generate:macro MACRONAME\nMust specify MACRONAME.") end macro_generator = Mortar::Generators::MacroGenerator.new macro_generator.generate_macro(macro_name, project, ) end |
#pigscript ⇒ Object
generate:pigscript SCRIPTNAME
Generate new pig script.
–skip-udf # Create the pig script without a partnered python udf
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/mortar/command/generate.rb', line 79 def pigscript script_name = shift_argument unless script_name error("Usage: mortar generate:pigscript SCRIPTNAME\nMust specify SCRIPTNAME.") end [:skip_udf] ||= false script_generator = Mortar::Generators::PigscriptGenerator.new script_generator.generate_pigscript(script_name, project, ) end |
#python_udf ⇒ Object
generate:python_udf UDFNAME
Generate a new python user defined function
47 48 49 50 51 52 53 54 |
# File 'lib/mortar/command/generate.rb', line 47 def python_udf udf_name = shift_argument unless udf_name error("Usage: mortar generate:python_udf UDFNAME\nMust specify UDFNAME.") end udf_generator = Mortar::Generators::UDFGenerator.new udf_generator.generate_python_udf(udf_name, project, ) end |