Socket
Book a DemoInstallSign in
Socket

gyro

Package Overview
Dependencies
Maintainers
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gyro

1.5.0
bundlerRubygems
Version published
Maintainers
3
Created
Source

Gyro

gem version build circle ci Twitter

Gyro is a tool to generate Realm model classes, for both Android (Java & Kotlin) and iOS/macOS (Swift), from an .xcdatamodel file.

G enerate
Y our
R ealm
O bjects

Introduction

The .xcdatamodel file is usually used to represent Core Data entities in Xcode in a graphical way. It can be created or edited with a graphical user interface in Xcode.

But with Gyro, you will now be able to use an xcdatamodel to create a Realm model files as well!

This will allow you to design your model in a visual way (rather than by code), only once (rather than once for Android and once for iOS), and have the code generated for you.

Simple Entity

The .xcdatamodel file is the input of the script.

Installation

Gyro is on RubyGems, so this means you can simply install it by using this command in your terminal:

gem install gyro

Alternativly, you could also clone this repository anywhere you want on your machine, then build and install the local gem

gem build gyro.gemspec
gem install gyro-*.gem

Usage

Invoke it with the appropriate options like this:

gyro --model <model> --template <template-name> --output <output-dir> --param <key>:<value>

<model> is the path to the xcdatamodel file

<output-dir> is the path to the output directory file

<template-name> is the name of the template. Below you have the list of templates.

Templates

You can use gyro -l to list the names of all the bundled templates available.

If you want additional information about a specific template, you can use gyro -i <template_name> to print its README documentation, which is also directly accessible on GitHub via the following links:

Annotating your xcdatamodel

The .xcdatamodel Xcode editor allows you to add "user infos" to your entities, attributes or relationships. Each "user info" entry is an arbitrary key/value pair.

To define a User Info key in Xcode's xcdatamodel editor, select the entity or attribute you want to add a User Info to, then select the 3rd tab in the inspector on the right ("Data Model Inspector", or Cmd-Alt-3), and fill the information you want in the "User Info" section there.

enum_json

With the help of these "user infos", you will be able to give Gyro extra information about your model classes. For example, you can tell which attribute is the primary key, the attributes to ignore, the JSON mappings, …

📖 Documentation of User Info Keys

For more information about each "user infos" keys supported, you can see the 📖 dedicated documentation here.

License

This tool is under the Apache 2 License.

It has been initially developed by Niji and is in no way affiliated to the Realm company.

FAQs

Package last updated on 24 Jul 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.