Skip to content

Commit 149c4e5

Browse files
committed
Updated read for release
1 parent 38e0cb4 commit 149c4e5

File tree

3 files changed

+48
-21
lines changed

3 files changed

+48
-21
lines changed

README.md

Lines changed: 48 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,70 @@
1+
![Logo](https://raw.githubusercontent.com/insanoid/SwiftyJSONAccelerator/master/SwiftyJSONAccelerator/Assets.xcassets/AppIcon.appiconset/Icon_32x32%402x.png)
2+
13
# SwiftyJSONAccelerator
2-
[![Build Status](https://travis-ci.org/insanoid/SwiftyJSONAccelerator.svg?branch=issues%2F28-fix-code-base)](https://travis-ci.org/insanoid/SwiftyJSONAccelerator) [![codecov](https://codecov.io/gh/insanoid/SwiftyJSONAccelerator/branch/master/graph/badge.svg)](https://codecov.io/gh/insanoid/SwiftyJSONAccelerator)
34

4-
**(Alpha v0.0.6)**
5+
[![Build
6+
Status](https://travis-ci.org/insanoid/SwiftyJSONAccelerator.svg?branch=master)](https://travis-ci.org/insanoid/SwiftyJSONAccelerator) [![codecov](https://codecov.io/gh/insanoid/SwiftyJSONAccelerator/branch/master/graph/badge.svg)](https://codecov.io/gh/insanoid/SwiftyJSONAccelerator)
57

6-
[Download the .app (v0.0.6)](https://github.com/insanoid/SwiftyJSONAccelerator/releases/download/v0.0.6/SwiftyJSONAccelerator.zip)
8+
** Version v1.0.0 Released! **
79

8-
![Logo](https://raw.githubusercontent.com/insanoid/SwiftyJSONAccelerator/master/SwiftyJSONAccelerator/Assets.xcassets/AppIcon.appiconset/Icon_32x32%402x.png)
10+
- Now generates **Swift 3** and the software itself is upgraded to Swift 3.
11+
- Unit tests and complete code coverage for file generation module.
12+
- Modular code to make adding support for other JSON mapping libraries simple.
13+
- Project upgraded with SwiftLint, Travis, CocoaPods etc.
14+
15+
[Download the .app (v1.0.0)](https://github.com/insanoid/SwiftyJSONAccelerator/releases/download/v1.0.0/SwiftyJSONAccelerator.zip)
916

1017
A swift model generator like the Objective-C [JSONAccelerator](http://nerdery.com/json-accelerator). Formats and generates models for the given JSON and also breaks them into files making it easy to manage and share between several models.
1118

1219
The models that are generated depend on JSON object mapping libraries, currently the model can be generated to depend on any of the below mentioned mapping libraries:
1320

1421
- [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON)
15-
- [Hearst-DD/ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) (Contributed by: [brendan09](https://github.com/brendan09))
22+
- [Hearst-DD/ObjectMapper](https://github.com/Hearst-DD/ObjectMapper)
1623

1724
Currently, the pattern is very similar to its Objective-C counterpart. It generates classes with following properties.
1825

19-
- Initalize with `JSON` (SwiftyJSON or ObjectMapper)
20-
- Initalize with `AnyObject`
26+
- Initalize with `JSON` (SwiftyJSON or ObjectMapper) or Initalize with `Any`
2127
- Optional `NSCoding` compliance.
22-
- Convert object to `NSDictionary`
28+
- Convert object to `Dictionary` for description printing.
29+
30+
![Preview](preview.png)
31+
32+
- Simple configurable interface for generation of file.
33+
- Each class in the JSON is generated as a file._
34+
35+
## Adding New Libraries
36+
37+
--------------------------------------------------------------------------------
38+
39+
- Add a new type in `JSONMappingLibrary` in [Constants.swift](SwiftyJSONAccelerator/Constants.swift).
40+
- Follow the examples in [Library-Extensions](SwiftyJSONAccelerator/Library-Extensions) and create a struct implementing`ModelFile`. Follow the other extensions for SwiftyJSON and ObjectMapper, they tell you what all you can replace based on your libraries specification.
41+
- Do the necessary UI changes for the dropdown.
42+
- Add tests for your library.
43+
44+
## Swift 2?
45+
46+
--------------------------------------------------------------------------------
47+
48+
[Download (v0.0.6)](https://github.com/insanoid/SwiftyJSONAccelerator/releases/download/v0.0.6/SwiftyJSONAccelerator.zip), the older version of the project, please keep in mind it is **no longer supported**.
49+
50+
## Todo
51+
52+
--------------------------------------------------------------------------------
2353

24-
![Preview](https://raw.githubusercontent.com/insanoid/SwiftyJSONAccelerator/master/preview.png)
54+
There is a lot more to do, follow the [issues section](https://github.com/insanoid/SwiftyJSONAccelerator/issues), I usually try to follow up or keep the list updated with any new ideas which I plan to implement.
2555

26-
*Simple configurable interface for generation of file*
56+
- Build a CLI, useful in integrated with mocks and API documentations.
57+
- Creating a better UI for the application.
58+
- Adding support for better libraries mentioned [here](https://github.com/bwhiteley/JSONShootout).
2759

60+
## Contributions and Requests
2861

29-
![Preview](https://raw.githubusercontent.com/insanoid/SwiftyJSONAccelerator/master/preview_ii.png)
62+
--------------------------------------------------------------------------------
3063

31-
*Each class in the JSON is generated as a file.*
64+
Any suggestions regarding code quality of the app, generated code's quality, Swift related improvements and pull requests are all very welcome. Please make sure you submit the pull request to the next release branch and not the master branch.
3265

33-
## TODO
66+
## License
3467

35-
- Handle blank array a bit better.
36-
- Better User Interface and icon.
37-
- Generate both `struct` and `class`.
38-
- Support for further JSON object modelling libraries.
39-
- Add tests and integrate with Travis CI.
40-
- Create a Xcode plugin and a command line executor.
68+
--------------------------------------------------------------------------------
4169

42-
---
43-
Any suggestions regarding code quality of the app, generated code's quaility, Swift related improvements and pull requests are all very welcome.
70+
[MIT License](LICENSE) / [Karthikeya Udupa](https://karthikeya.co.uk)

preview.png

-176 KB
Loading

preview_ii.png

-22.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)