Skip to content

Commit

Permalink
Added readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Tolstoy Egor committed Nov 1, 2015
1 parent ef05d92 commit 5d86e2c
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
### Overview

**Generamba** - это генератор кода, заточенный под работу с Xcode. В первую очередь предназначен для генерации модулей VIPER - но достаточно легко настраивается и для генерации любых других классов.

### Основные особенности

- Из коробки поддерживает работу с *.xcodeproj* файлами - все сгенерированные классы автоматически распределяются как по файловой структуре, так и по группам в проекте.
- Умеет генерировать как непосредственно код, так и тесты, автоматически распределяя их по правильным таргетам.
- Основан на работе с [liquid-шаблонами](https://github.com/Shopify/liquid) - синтаксис простой и понятный, особенно в сравнении с шаблонами для Xcode.
- Создать новый модуль очень просто: `generamba gen MyModule`. Не требуется каждый раз вводить кучу данных - каждому проекту соответствует один конфигурационный файл, содержащий в себе стандартные пути в файловой системе и Xcode-проекте, названия таргетов, информацию об авторе.


### Установка
Проект пока что находится в стадии beta-версии, поэтому не добавлен в общий каталог ruby-gem'ов. Локальная установка осуществляется следующим образом:

1. Склонируйте репозиторий себе на компьютер
2. В консоли перейдите в директорию проекта
3. Вызовите команду `gem install generamba`

### Использование
В настоящий момент Generamba поддерживает две команды:

1. `generamba setup` - вызывается в корневой директории проекта. Помогает автоматически создать и настроить *Rambafile*, описывающий всю конфигурацию, необходимую для генерации кода. В дальнейшем этот файл может быть модифицирован вручную.
2. `generamba gen MODULE_NAME` - генерирует модуль с указанным названием. В качестве стандартного используется шаблон *viper_module*. Команда поддерживает несколбко дополнительных опций - узнать о них больше поможет команда `generamba help gen`.

В текущей версии нет возможности создавать локальные шаблоны и использовать их для генерации. Пока что используем следующий workaround:

1. `open ~/.rvm/gems/ruby-2.1.6/gems`
2. Находим директорию *Generamba-x.x.x*
3. Переходим в *lib/generamba/default_templates/*
4. Создаем папку с названием нового модуля. В остальном модуль создается по образцу стандартного.

Оптимизация добавления шаблонов является главным приоритетом на данный момент.

### Авторы

- Егор Толстой
- Андрей Зарембо-Годзяцкий

### Лицензия

MIT

### TODO

- Дать возможность использовать локальный шаблон, указав полный путь до него
- В Rambafile держать информацию обо всех используемых в проекте шаблонах
- Вынести из Rambafile информацию, специфичную для текущего автора (имя)
- Добавить для каждого шаблона возможность модифицировать Podfile проекта
- Добавить GUI
- Добавить возможность генерирования тестов по указанным интерфейсным файлам

0 comments on commit 5d86e2c

Please sign in to comment.