Skip to content

complexityclass/Generamba

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

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

Generamba Screenshot

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

  • Из коробки поддерживает работу с .xcodeproj файлами - все сгенерированные классы автоматически распределяются как по файловой структуре, так и по группам в проекте.
  • Умеет генерировать как непосредственно код, так и тесты, автоматически распределяя их по правильным таргетам.
  • Основан на работе с 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. Создаем папку с названием нового модуля. В остальном модуль создается по образцу стандартного.

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

Авторы

  • Rambler.iOS team

Лицензия

MIT

About

This codegenerator is too brilliant to be real!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 92.3%
  • Ruby 5.7%
  • Shell 1.4%
  • Other 0.6%