Skip to main content

Generate Mantle models using JSON files

Project description

JSON2Mantle
========================

Generate [Mantle](https://github.com/Mantle/Mantle) models using JSON files.

##Quick start

### Install

```
$ sudo pip install JSON2Mantle
```

### Usage

```
$ json2mantle [-h] [--prefix PREFIX] [--author AUTHOR]
json_file output_dir
```

### Example

```
$ json2mantle api_model.json class --prefix XYZ --author "John Smith"
```

will generate Mantle models according to your `api_model.json` structure. The output files will be created under `output_dir` directory, the author name will be `John Smith`, and the Objective-C classes have the prefix `XYZ`.

## Features

* Supports nested JSON data, which means JSON2Mantle can generate the correct number of classes that the JSON file contains.
* Convert field name like `var_name` to `varName` automatically.
* Author name is grabbed from Address Book by default (Python 2 on OS X only).
* Python 2/3 compatible.
* Generated Objective-C files are documented.

## Note

* When reserved words in Objective-C appear, it will replace the original name with a prefix `model`. For instance, if you have a field with the name `id`, the generated one would be `modelId`.
* Only supports generating Objective-C files.
* If the input JSON file is an array, it will ask you to give a name for the array items.

## TODO
- [ ] reserved words
- [ ] URL type
- [ ] Unit test

## License
The MIT License (MIT)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

JSON2Mantle-0.0.7.tar.gz (7.6 kB view details)

Uploaded Source

File details

Details for the file JSON2Mantle-0.0.7.tar.gz.

File metadata

  • Download URL: JSON2Mantle-0.0.7.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for JSON2Mantle-0.0.7.tar.gz
Algorithm Hash digest
SHA256 901b99365351d305555b118b1f0c1a131c992894958d163b0cc0b8b3061a35bf
MD5 8e3fd771f2dda5ae217bee06acdd4974
BLAKE2b-256 0cf249820571a8569b5e9e1fed431c1fa029b41d636e981190dba06003ed51c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page