Closed aniketpant closed 11 years ago
Hey @aniketpant,
I use a code generator called gn and a template I made. You can try it like this:
$ gem install gn
$ gn -i https://github.com/soveran/app
$ gn app
Then you'll have to follow the online instructions.
You can check how gn works, it's very simple and generic. I use it for other types of projects too, like new directed graphs, etc.
Given the nature of Cuba, I would advise against such a feature.
This is a classic example of the difference between a fully-featured framework and a micro-framework. Rails is built with all sorts of assumptions as to how your program is going to look. Rails wants to make it really easy for you to follow the Golden Path towards building an MVC-style application; and if you're using Rails, chances are that's what you want.
A micro-framework such as Cuba or Sinatra, is designed to make as few assumptions as possible about how you want to build your app, and this is where my hesitation towards adding generators to Cuba comes in--you and I would very likely have different needs and a generic template may not serve those needs.
If you find yourself starting a lot of Cuba apps I suggest you use a project generator like https://github.com/ruby-ore/ore and build a template that serves your needs--or use @soveran's template ;)
@soveran gn
looks like a great tool and I think that it will be a great addition to my app. I was about to ask you about integrating gn
with Cuba but then I feel that @totallymike has given a very valid point over here.
It's a micro-framework afterall and it should be free from all the assumptions a big framework comes with. I have had my tough time with following conventions with RoR and I think that it's good when you need agile development. In other cases, Cuba/Sinatra are better choices.
I think this issue is ready for closing.
Rails has a great CLI interface for starting off new applications and it also has support for generating controllers, models, views and schemas.
Is something like this already in plan for Cuba? I understand that it is planned for a micro-framework and it does a good job with that but something like a
cuba new my-new-app
would be a great addition.List of new commands -
cuba new path/to/my-new-app
This will generate a new application skeleton for a cuba based application. Features for customizing it can be provided.cuba init
This is something on the lines of how compass works. If there is a json file with the config information, a cuba app will be initialized in that folder.cuba generate my-controller
This will create a new controller and create a new test file based on the config. No views and models will be generated.If a feature of this sort is welcome, I would love to work on it.