superstudio 0.8.2102 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7ae581fdf1ed877123200ace16704fd55f4481ee
4
- data.tar.gz: b4aea9406b779c86f8ae0df027ce1e6c00aba582
3
+ metadata.gz: 928b32af89e76b871f7e48e86a12952b723ab636
4
+ data.tar.gz: 8de2eeb53e569521316dc77842161b32e1ae26e3
5
5
  SHA512:
6
- metadata.gz: 11668ae11368ea28fd9646badfcf36531b467184edb6ef3293fccaab139210db78ed1bd4aeab38a6638c9d7f82fd2a982b8806b2c028b302ea42dbd6ce634973
7
- data.tar.gz: e3a715066056e767a8fa22917293a09fb86c221e19aeb63ff2adcb0563ec747d79267338899433e524c8eb0596cca073c8907d762798cf6533f106d01150ec66
6
+ metadata.gz: 6e22dd2612758528bd90cdae11ac07ca7ca90d6d3319906b3e85af4a891667bd116e4d119a40e3f13ee489141ecd1f9d89845ef4edd4263801b4f74f60be5411
7
+ data.tar.gz: ffd7130d9e3302404903aa8f77dc0948d1ba42fbd81b3563dce2269859d5c206490372caaa5c134a92bd08edc4ea11613d4347673818592d117efbd19f90cee1
data/README.md CHANGED
@@ -1,3 +1,48 @@
1
+ # Superstudio
2
+
3
+ The Superstudio gem aims to let ruby web developers create sensible JSON in a fast, memory-efficient and developer-friendly way.
4
+
5
+ ## Quickstart
6
+ In your `Gemfile`:
7
+ ```ruby
8
+ gem 'superstudio'
9
+ ```
10
+
11
+ In your command line:
12
+ ```sh
13
+ $ bundle install
14
+ $ rails g superstudio:schema <class name>
15
+ $ rails g superstudio:schema_map <JSON schema created from last line>
16
+ ```
17
+
18
+ You should now see a `<class name>.json.schema` file (created by the `schema` generator) and a `<class name>Mapper.rb` file that contains a new class (created by the `schema_map` generator) in a new `app/json_schemas` directory.
19
+
20
+ In a controller:
21
+ ```ruby
22
+ def <method>
23
+ test_query = <ClassName>.all
24
+ test_output = <MapperClassName>.new(test_query.to_sql)
25
+ render json: test_output.json_result
26
+ end
27
+ ```
28
+
29
+ Add a route to your `routes.rb` file that points to that controller method.
30
+
31
+ When you hit that route, you should now see JSON output for everything you've stored of that object type.
32
+
33
+ ### Additional Information
34
+ - Additional information on using the Superstudio gem can be found [here](https://github.com/DaveTD/superstudio/wiki)
35
+ - Information on which parts of JSON schema are supported can be found [here](https://github.com/DaveTD/superstudio/wiki/JSON-Schema-Support).
36
+ - Information on how the `Mapper` classes work can be found [here](https://github.com/DaveTD/superstudio/wiki/Mapper-Classes).
37
+ - Other known limitations can be found [here](https://github.com/DaveTD/superstudio/wiki/Known-Limitations).
38
+
39
+
40
+ ### Why The Name/Why is "Studio" Not Capitalized?
41
+ "Superstudio" is named after the Italian architecture firm [Superstudio](https://en.wikipedia.org/wiki/Superstudio). Superstudio's geometric "anti-designs" served both as a commentary about the excesses of pop design, and as a warning about how trends in city planning and construction were lacking humanity and culture.
42
+
43
+ The Superstudio gem is an anti-design to trends in JSON generation and API design. It rejects common API design choices like cacheing and complicated DSLs. Instead, the gem focuses on creating a minimal and effective solution to the problem of JSON generation.
44
+
45
+
1
46
  ## LICENSE
2
47
 
3
48
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: superstudio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2102
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Dawson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-04 00:00:00.000000000 Z
11
+ date: 2017-09-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: ''
14
14
  email: its.dave.dawson@gmail.com