This software is simple Sencha Ext JS component generator. It Follows Sencha Ext JS MVC pattern. It was built for my own purposes.
SYNOPSIS
extgen <Command> <Template> <Definition> <Options>
- generate or gen to generate file
- remove or rm to remove file
- -o output generated code
- -fn=<Number> number of fields generated for grid (coming soon)
- -s create and bind Store to grid
- -m create and bind Model to store
- -c generate constrcutor code
Create grid with store, model and 3 fields
extgen grid Grid.definition.GoesHere -s -m -fn-3
- -s create and bind Store to grid
- -m create and bind Model to store
- -c generate constrcutor code
Create Combobox with store and model
extgen generate combo Combo.definiton.GoesHere -s -m
- -m create and bind Model to store
- -paj add paramsAsJson to store.proxy
- -url=<String> sets proxy.url
Create Store with model
extgen generate store Store.definition.GoesHere -m
Currently has no options
Create Model
extgen generate model Model.definition.GoesHere
- -layout=<String> set layout type
- -c generate constrcutor code
Create Panel
extgen generate panel Panel.definition.GoesHere -layout=hbox
Currently has no options
Create Controller
extgen generate controller Controller.definition.GoesHere
Move to extgen directory and type
echo alias extgen=\"ruby $(pwd)/main.rb\" >> ~/.bashrc
- Put config (extgen_config.yml) file to your project root.
- Set project_name in config file your project name.
- Set path_to_ext_app in config to your Ext JS app directory.
This software uses ERB Templates.
- <Template> - capitalized template path without .erb
- <Type> - model, view, controller or something else
- Add template ERB file to templates directory
- Add <Template>: <Type> to templates/tpl_types.yml
In template option? <String> checks if <String> is present. @eq_options[:option] returns value from command line argument -option=<Value>.
Script class contains methods that should be called from template. Call Script class with Generator instance. Example:
Script.new(self).some_method()
Please see the file called LICENSE.
Report Bugs to repository Issues