spree_api_v2 0.2.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 (138) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +2 -0
  4. data/CHANGELOG.md +38 -0
  5. data/Gemfile +13 -0
  6. data/LICENSE +26 -0
  7. data/README.md +98 -0
  8. data/Rakefile +37 -0
  9. data/app/controllers/concerns/spree/api/v2/renderable.rb +51 -0
  10. data/app/controllers/spree/api/v2/base_controller.rb +31 -0
  11. data/app/controllers/spree/api/v2/children_controller.rb +29 -0
  12. data/app/controllers/spree/api/v2/countries_controller.rb +21 -0
  13. data/app/controllers/spree/api/v2/images_controller.rb +29 -0
  14. data/app/controllers/spree/api/v2/line_items_controller.rb +36 -0
  15. data/app/controllers/spree/api/v2/option_types_controller.rb +31 -0
  16. data/app/controllers/spree/api/v2/option_values_controller.rb +29 -0
  17. data/app/controllers/spree/api/v2/orders_controller.rb +11 -0
  18. data/app/controllers/spree/api/v2/prices_controller.rb +27 -0
  19. data/app/controllers/spree/api/v2/products_controller.rb +37 -0
  20. data/app/controllers/spree/api/v2/states_controller.rb +29 -0
  21. data/app/controllers/spree/api/v2/taxonomies_controller.rb +21 -0
  22. data/app/controllers/spree/api/v2/taxons_controller.rb +40 -0
  23. data/app/controllers/spree/api/v2/variants_controller.rb +35 -0
  24. data/app/models/spree/base_decorator.rb +5 -0
  25. data/app/models/spree/image_decorator.rb +3 -0
  26. data/app/models/spree/price_decorator.rb +3 -0
  27. data/app/models/spree/state_decorator.rb +3 -0
  28. data/app/serializers/spree/address_serializer.rb +9 -0
  29. data/app/serializers/spree/base_serializer.rb +13 -0
  30. data/app/serializers/spree/country_serializer.rb +7 -0
  31. data/app/serializers/spree/error_serializer.rb +52 -0
  32. data/app/serializers/spree/image_serializer.rb +13 -0
  33. data/app/serializers/spree/line_item_serializer.rb +13 -0
  34. data/app/serializers/spree/option_type_serializer.rb +8 -0
  35. data/app/serializers/spree/option_value_serializer.rb +8 -0
  36. data/app/serializers/spree/order_serializer.rb +21 -0
  37. data/app/serializers/spree/price_serializer.rb +7 -0
  38. data/app/serializers/spree/product_serializer.rb +12 -0
  39. data/app/serializers/spree/role_serializer.rb +5 -0
  40. data/app/serializers/spree/state_serializer.rb +7 -0
  41. data/app/serializers/spree/store_serializer.rb +6 -0
  42. data/app/serializers/spree/taxon_serializer.rb +16 -0
  43. data/app/serializers/spree/taxonomy_serializer.rb +7 -0
  44. data/app/serializers/spree/user_serializer.rb +5 -0
  45. data/app/serializers/spree/variant_serializer.rb +12 -0
  46. data/bin/rails +7 -0
  47. data/circle.yml +13 -0
  48. data/config/locales/en.yml +25 -0
  49. data/config/routes.rb +53 -0
  50. data/docs/.nojekyll +0 -0
  51. data/docs/Dockerfile +12 -0
  52. data/docs/Gemfile +13 -0
  53. data/docs/README.md +12 -0
  54. data/docs/Rakefile +9 -0
  55. data/docs/config.rb +39 -0
  56. data/docs/font-selection.json +148 -0
  57. data/docs/source/fonts/slate.eot +0 -0
  58. data/docs/source/fonts/slate.svg +14 -0
  59. data/docs/source/fonts/slate.ttf +0 -0
  60. data/docs/source/fonts/slate.woff +0 -0
  61. data/docs/source/fonts/slate.woff2 +0 -0
  62. data/docs/source/images/logo.png +0 -0
  63. data/docs/source/images/navbar.png +0 -0
  64. data/docs/source/includes/_authentication.md +61 -0
  65. data/docs/source/includes/_countries.md +133 -0
  66. data/docs/source/includes/_errors.md +17 -0
  67. data/docs/source/includes/_filtering.md +11 -0
  68. data/docs/source/includes/_images.md +201 -0
  69. data/docs/source/includes/_line_items.md +137 -0
  70. data/docs/source/includes/_option_types.md +267 -0
  71. data/docs/source/includes/_option_values.md +227 -0
  72. data/docs/source/includes/_orders.md +75 -0
  73. data/docs/source/includes/_pagination.md +10 -0
  74. data/docs/source/includes/_prices.md +188 -0
  75. data/docs/source/includes/_products.md +403 -0
  76. data/docs/source/includes/_states.md +96 -0
  77. data/docs/source/includes/_taxonomies.md +325 -0
  78. data/docs/source/includes/_taxons.md +414 -0
  79. data/docs/source/includes/_variants.md +430 -0
  80. data/docs/source/index.md +53 -0
  81. data/docs/source/javascripts/all.js +4 -0
  82. data/docs/source/javascripts/all_nosearch.js +3 -0
  83. data/docs/source/javascripts/app/_lang.js +162 -0
  84. data/docs/source/javascripts/app/_search.js +74 -0
  85. data/docs/source/javascripts/app/_toc.js +55 -0
  86. data/docs/source/javascripts/lib/_energize.js +169 -0
  87. data/docs/source/javascripts/lib/_imagesloaded.min.js +7 -0
  88. data/docs/source/javascripts/lib/_jquery.highlight.js +108 -0
  89. data/docs/source/javascripts/lib/_jquery.tocify.js +1042 -0
  90. data/docs/source/javascripts/lib/_jquery_ui.js +566 -0
  91. data/docs/source/javascripts/lib/_lunr.js +1910 -0
  92. data/docs/source/layouts/layout.erb +102 -0
  93. data/docs/source/stylesheets/_icon-font.scss +38 -0
  94. data/docs/source/stylesheets/_normalize.css +427 -0
  95. data/docs/source/stylesheets/_syntax.scss.erb +27 -0
  96. data/docs/source/stylesheets/_variables.scss +109 -0
  97. data/docs/source/stylesheets/print.css.scss +142 -0
  98. data/docs/source/stylesheets/screen.css.scss +622 -0
  99. data/lib/solidus_api_v2.rb +5 -0
  100. data/lib/spree_api_v2.rb +4 -0
  101. data/lib/spree_api_v2/engine.rb +21 -0
  102. data/solidus_api_v2.gemspec +36 -0
  103. data/spec/controllers/spree/api/v2/children_controller_spec.rb +28 -0
  104. data/spec/controllers/spree/api/v2/countries_controller_spec.rb +25 -0
  105. data/spec/controllers/spree/api/v2/images_controller_spec.rb +93 -0
  106. data/spec/controllers/spree/api/v2/line_items_controller_spec.rb +86 -0
  107. data/spec/controllers/spree/api/v2/option_types_controller_spec.rb +73 -0
  108. data/spec/controllers/spree/api/v2/option_values_controller_spec.rb +88 -0
  109. data/spec/controllers/spree/api/v2/orders_controller_spec.rb +15 -0
  110. data/spec/controllers/spree/api/v2/prices_controller_spec.rb +55 -0
  111. data/spec/controllers/spree/api/v2/products_controller_spec.rb +95 -0
  112. data/spec/controllers/spree/api/v2/states_controller_spec.rb +42 -0
  113. data/spec/controllers/spree/api/v2/taxonomies_controller_spec.rb +31 -0
  114. data/spec/controllers/spree/api/v2/taxons_controller_spec.rb +54 -0
  115. data/spec/controllers/spree/api/v2/variants_controller_spec.rb +108 -0
  116. data/spec/models/spree/base_decorator_spec.rb +9 -0
  117. data/spec/models/spree/price_decorator_spec.rb +3 -0
  118. data/spec/serializers/spree/address_serializer_spec.rb +35 -0
  119. data/spec/serializers/spree/country_serializer_spec.rb +27 -0
  120. data/spec/serializers/spree/error_serializer_spec.rb +116 -0
  121. data/spec/serializers/spree/image_serializer_spec.rb +30 -0
  122. data/spec/serializers/spree/line_item_serializer_spec.rb +40 -0
  123. data/spec/serializers/spree/option_type_serializer_spec.rb +27 -0
  124. data/spec/serializers/spree/option_value_serializer_spec.rb +29 -0
  125. data/spec/serializers/spree/order_serializer_spec.rb +69 -0
  126. data/spec/serializers/spree/price_serializer_spec.rb +28 -0
  127. data/spec/serializers/spree/product_serializer_spec.rb +47 -0
  128. data/spec/serializers/spree/role_serializer_spec.rb +17 -0
  129. data/spec/serializers/spree/state_serializer_spec.rb +25 -0
  130. data/spec/serializers/spree/store_serializer_spec.rb +25 -0
  131. data/spec/serializers/spree/taxon_serializer_spec.rb +44 -0
  132. data/spec/serializers/spree/taxonomy_serializer_spec.rb +27 -0
  133. data/spec/serializers/spree/user_serializer_spec.rb +17 -0
  134. data/spec/serializers/spree/variant_serializer_spec.rb +55 -0
  135. data/spec/spec_helper.rb +51 -0
  136. data/spec/support/shoulda_matchers.rb +6 -0
  137. data/spree_api_v2.gemspec +36 -0
  138. metadata +437 -0
@@ -0,0 +1,7 @@
1
+ module Spree
2
+ class PriceSerializer < Spree::BaseSerializer
3
+ attributes :amount, :price, :display_amount, :display_price, :currency
4
+
5
+ belongs_to :variant
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ module Spree
2
+ class ProductSerializer < Spree::BaseSerializer
3
+ attributes :name, :description, :slug, :meta_description, :meta_keywords
4
+
5
+ has_one :master
6
+
7
+ has_many :variants
8
+ has_many :taxons
9
+ has_many :option_types
10
+ has_many :images
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ module Spree
2
+ class RoleSerializer < Spree::BaseSerializer
3
+ attributes :name
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ module Spree
2
+ class StateSerializer < Spree::BaseSerializer
3
+ attributes :name, :abbr
4
+
5
+ belongs_to :country
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ module Spree
2
+ class StoreSerializer < Spree::BaseSerializer
3
+ attributes :name, :url, :meta_description, :meta_keywords, :seo_title,
4
+ :mail_from_address, :default_currency, :code, :default
5
+ end
6
+ end
@@ -0,0 +1,16 @@
1
+ module Spree
2
+ class TaxonSerializer < Spree::BaseSerializer
3
+ attributes :name, :permalink, :position, :description, :meta_title, :links,
4
+ :meta_description, :meta_keywords, :depth
5
+
6
+ belongs_to :taxonomy
7
+ belongs_to :parent, serializer: TaxonSerializer
8
+ has_many :children, serializer: TaxonSerializer
9
+
10
+ private
11
+
12
+ def links
13
+ image_links object.icon
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,7 @@
1
+ module Spree
2
+ class TaxonomySerializer < Spree::BaseSerializer
3
+ attributes :name, :position
4
+
5
+ has_many :taxons
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module Spree
2
+ class UserSerializer < ActiveModel::Serializer
3
+ attributes :id, :email
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ module Spree
2
+ class VariantSerializer < Spree::BaseSerializer
3
+ attributes :sku, :weight, :height, :width, :depth, :is_master, :position,
4
+ :name, :price, :display_price
5
+
6
+ has_many :prices
7
+ has_many :option_values
8
+ has_many :images
9
+
10
+ belongs_to :product
11
+ end
12
+ end
data/bin/rails ADDED
@@ -0,0 +1,7 @@
1
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
2
+
3
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
4
+ ENGINE_PATH = File.expand_path('../../lib/spree_api_v2/engine', __FILE__)
5
+
6
+ require 'rails/all'
7
+ require 'rails/engine/commands'
data/circle.yml ADDED
@@ -0,0 +1,13 @@
1
+ ---
2
+ machine:
3
+ environment:
4
+ DB: postgres
5
+ services:
6
+ - postgresql
7
+ ruby:
8
+ version: 2.2.3
9
+
10
+ test:
11
+ override:
12
+ - bundle exec rake GEMNAME=spree_api_v2
13
+ - bundle exec rake GEMNAME=solidus_api_v2
@@ -0,0 +1,25 @@
1
+ en:
2
+ spree:
3
+ api:
4
+ errors:
5
+ invalid_token:
6
+ detail: 'Your token is invalid, please use a different one.'
7
+ title: Invalid Token
8
+ order_complete:
9
+ detail: This order has been completed.
10
+ title: Order Complete
11
+ product_out_of_stock:
12
+ title: Product is out of Stock
13
+ detail: >
14
+ This product is out of stock for the selected quantity.
15
+ record_not_found:
16
+ title: Record Not Found
17
+ detail: >
18
+ One of the records that you were looking for could not be found.
19
+ Please check to see if the record exists or if you're permitted to
20
+ read it.
21
+ quantity_too_high:
22
+ title: Quantity is too High
23
+ detail: >
24
+ The quantity that you have submitted is astronomically high, please
25
+ tone it down a bit.
data/config/routes.rb ADDED
@@ -0,0 +1,53 @@
1
+ Spree::Core::Engine.routes.draw do
2
+ namespace :api, defaults: { format: :json } do
3
+ namespace :v2 do
4
+ resources :countries, only: [:index, :show] do
5
+ resources :states, only: [:index, :show]
6
+ end
7
+
8
+ resources :images, only: [:index, :show] do
9
+ resource :product, :variant, only: :show
10
+ end
11
+
12
+ resources :line_items, only: :create
13
+
14
+ resources :option_types, only: [:index, :show] do
15
+ resources :option_values, :products, only: [:index, :show]
16
+ end
17
+
18
+ resources :option_values, only: [:index, :show] do
19
+ resource :option_type, only: :show
20
+ resources :variants, only: [:index, :show]
21
+ end
22
+
23
+ resources :orders, only: :show
24
+
25
+ resources :prices, only: [:index, :show] do
26
+ resource :variant, :product, only: :show
27
+ end
28
+
29
+ resources :products, only: [:index, :show] do
30
+ resources :option_types, :variants, :images, only: [:index, :show]
31
+ end
32
+
33
+ resources :states, only: [:index, :show] do
34
+ resource :country, only: :show
35
+ end
36
+
37
+ resources :taxonomies, only: [:index, :show] do
38
+ resources :taxons, only: [:index, :show]
39
+ end
40
+
41
+ resources :taxons, only: [:index, :show] do
42
+ resources :children, :products, only: [:index, :show]
43
+ resource :parent, only: :show, controller: 'taxons'
44
+ resource :taxonomy, only: :show
45
+ end
46
+
47
+ resources :variants, only: [:index, :show] do
48
+ resources :prices, :option_values, :images, only: [:index, :show]
49
+ resource :product, only: :show
50
+ end
51
+ end
52
+ end
53
+ end
data/docs/.nojekyll ADDED
File without changes
data/docs/Dockerfile ADDED
@@ -0,0 +1,12 @@
1
+ FROM ubuntu:trusty
2
+
3
+ RUN apt-get update
4
+ RUN apt-get install -yq ruby ruby-dev build-essential git
5
+ RUN gem install --no-ri --no-rdoc bundler
6
+ ADD Gemfile /app/Gemfile
7
+ ADD Gemfile.lock /app/Gemfile.lock
8
+ RUN cd /app; bundle install
9
+ ADD . /app
10
+ EXPOSE 4567
11
+ WORKDIR /app
12
+ CMD ["bundle", "exec", "middleman", "server"]
data/docs/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ source 'https://rubygems.org'
2
+ ruby '2.2.3'
3
+
4
+ # Middleman
5
+ gem 'middleman', '~>3.3.10'
6
+ gem 'middleman-gh-pages', '~> 0.0.3'
7
+ gem 'middleman-syntax', '~> 2.0.0'
8
+ gem 'middleman-autoprefixer', '~> 2.4.4'
9
+ gem 'rouge', '~> 1.9.0'
10
+ gem 'redcarpet', '~> 3.3.2'
11
+
12
+ gem 'rake', '~> 10.4.2'
13
+ gem 'therubyracer', '~> 0.12.2', platforms: :ruby
data/docs/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # Documentation for the Spree API V2
2
+
3
+ The documentation is hand written and forked from [Slate](https://github.com/tripit/slate).
4
+ Please update these docs when you make a contribution.
5
+
6
+ ## Setup
7
+
8
+ ```shell
9
+ cd docs
10
+ bundle
11
+ middleman server
12
+ ```
data/docs/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ ENV['MM_ROOT'] = File.expand_path '.'
2
+ ENV['BUNDLE_GEMFILE'] = File.expand_path './Gemfile'
3
+
4
+ require 'middleman-gh-pages'
5
+ require 'rake/clean'
6
+
7
+ CLOBBER.include('build')
8
+
9
+ task default: [:build]
data/docs/config.rb ADDED
@@ -0,0 +1,39 @@
1
+ PROJECT_ROOT = File.expand_path '.'
2
+ BUILD_DIR = File.expand_path './../build'
3
+
4
+ # Markdown
5
+ set :markdown_engine, :redcarpet
6
+ set :markdown,
7
+ fenced_code_blocks: true,
8
+ smartypants: true,
9
+ disable_indented_code_blocks: true,
10
+ prettify: true,
11
+ tables: true,
12
+ with_toc_data: true,
13
+ no_intra_emphasis: true
14
+
15
+ # Assets
16
+ set :css_dir, 'stylesheets'
17
+ set :js_dir, 'javascripts'
18
+ set :images_dir, 'images'
19
+ set :fonts_dir, 'fonts'
20
+
21
+ # Activate the syntax highlighter
22
+ activate :syntax
23
+
24
+ activate :autoprefixer do |config|
25
+ config.browsers = ['last 2 version', 'Firefox ESR']
26
+ config.cascade = false
27
+ config.inline = true
28
+ end
29
+
30
+ # Github pages require relative links
31
+ activate :relative_assets
32
+ set :relative_links, true
33
+
34
+ # Build Configuration
35
+ set :build_dir, BUILD_DIR
36
+ configure :build do
37
+ activate :minify_css
38
+ activate :minify_javascript
39
+ end
@@ -0,0 +1,148 @@
1
+ {
2
+ "IcoMoonType": "selection",
3
+ "icons": [
4
+ {
5
+ "icon": {
6
+ "paths": [
7
+ "M438.857 73.143q119.429 0 220.286 58.857t159.714 159.714 58.857 220.286-58.857 220.286-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857zM512 785.714v-108.571q0-8-5.143-13.429t-12.571-5.429h-109.714q-7.429 0-13.143 5.714t-5.714 13.143v108.571q0 7.429 5.714 13.143t13.143 5.714h109.714q7.429 0 12.571-5.429t5.143-13.429zM510.857 589.143l10.286-354.857q0-6.857-5.714-10.286-5.714-4.571-13.714-4.571h-125.714q-8 0-13.714 4.571-5.714 3.429-5.714 10.286l9.714 354.857q0 5.714 5.714 10t13.714 4.286h105.714q8 0 13.429-4.286t6-10z"
8
+ ],
9
+ "attrs": [],
10
+ "isMulticolor": false,
11
+ "tags": [
12
+ "exclamation-circle"
13
+ ],
14
+ "defaultCode": 61546,
15
+ "grid": 14
16
+ },
17
+ "attrs": [],
18
+ "properties": {
19
+ "id": 100,
20
+ "order": 4,
21
+ "prevSize": 28,
22
+ "code": 58880,
23
+ "name": "exclamation-sign",
24
+ "ligatures": ""
25
+ },
26
+ "setIdx": 0,
27
+ "iconIdx": 0
28
+ },
29
+ {
30
+ "icon": {
31
+ "paths": [
32
+ "M585.143 786.286v-91.429q0-8-5.143-13.143t-13.143-5.143h-54.857v-292.571q0-8-5.143-13.143t-13.143-5.143h-182.857q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h54.857v182.857h-54.857q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h256q8 0 13.143-5.143t5.143-13.143zM512 274.286v-91.429q0-8-5.143-13.143t-13.143-5.143h-109.714q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h109.714q8 0 13.143-5.143t5.143-13.143zM877.714 512q0 119.429-58.857 220.286t-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857 220.286 58.857 159.714 159.714 58.857 220.286z"
33
+ ],
34
+ "attrs": [],
35
+ "isMulticolor": false,
36
+ "tags": [
37
+ "info-circle"
38
+ ],
39
+ "defaultCode": 61530,
40
+ "grid": 14
41
+ },
42
+ "attrs": [],
43
+ "properties": {
44
+ "id": 85,
45
+ "order": 3,
46
+ "name": "info-sign",
47
+ "prevSize": 28,
48
+ "code": 58882
49
+ },
50
+ "setIdx": 0,
51
+ "iconIdx": 2
52
+ },
53
+ {
54
+ "icon": {
55
+ "paths": [
56
+ "M733.714 419.429q0-16-10.286-26.286l-52-51.429q-10.857-10.857-25.714-10.857t-25.714 10.857l-233.143 232.571-129.143-129.143q-10.857-10.857-25.714-10.857t-25.714 10.857l-52 51.429q-10.286 10.286-10.286 26.286 0 15.429 10.286 25.714l206.857 206.857q10.857 10.857 25.714 10.857 15.429 0 26.286-10.857l310.286-310.286q10.286-10.286 10.286-25.714zM877.714 512q0 119.429-58.857 220.286t-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857 220.286 58.857 159.714 159.714 58.857 220.286z"
57
+ ],
58
+ "attrs": [],
59
+ "isMulticolor": false,
60
+ "tags": [
61
+ "check-circle"
62
+ ],
63
+ "defaultCode": 61528,
64
+ "grid": 14
65
+ },
66
+ "attrs": [],
67
+ "properties": {
68
+ "id": 83,
69
+ "order": 9,
70
+ "prevSize": 28,
71
+ "code": 58886,
72
+ "name": "ok-sign"
73
+ },
74
+ "setIdx": 0,
75
+ "iconIdx": 6
76
+ },
77
+ {
78
+ "icon": {
79
+ "paths": [
80
+ "M658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 29.714-21.714 51.429t-51.429 21.714q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z"
81
+ ],
82
+ "width": 951,
83
+ "attrs": [],
84
+ "isMulticolor": false,
85
+ "tags": [
86
+ "search"
87
+ ],
88
+ "defaultCode": 61442,
89
+ "grid": 14
90
+ },
91
+ "attrs": [],
92
+ "properties": {
93
+ "id": 2,
94
+ "order": 1,
95
+ "prevSize": 28,
96
+ "code": 58887,
97
+ "name": "icon-search"
98
+ },
99
+ "setIdx": 0,
100
+ "iconIdx": 7
101
+ }
102
+ ],
103
+ "height": 1024,
104
+ "metadata": {
105
+ "name": "slate",
106
+ "license": "SIL OFL 1.1"
107
+ },
108
+ "preferences": {
109
+ "showGlyphs": true,
110
+ "showQuickUse": true,
111
+ "showQuickUse2": true,
112
+ "showSVGs": true,
113
+ "fontPref": {
114
+ "prefix": "icon-",
115
+ "metadata": {
116
+ "fontFamily": "slate",
117
+ "majorVersion": 1,
118
+ "minorVersion": 0,
119
+ "description": "Based on FontAwesome",
120
+ "license": "SIL OFL 1.1"
121
+ },
122
+ "metrics": {
123
+ "emSize": 1024,
124
+ "baseline": 6.25,
125
+ "whitespace": 50
126
+ },
127
+ "resetPoint": 58880,
128
+ "showSelector": false,
129
+ "selector": "class",
130
+ "classSelector": ".icon",
131
+ "showMetrics": false,
132
+ "showMetadata": true,
133
+ "showVersion": true,
134
+ "ie7": false
135
+ },
136
+ "imagePref": {
137
+ "prefix": "icon-",
138
+ "png": true,
139
+ "useClassSelector": true,
140
+ "color": 4473924,
141
+ "bgColor": 16777215
142
+ },
143
+ "historySize": 100,
144
+ "showCodes": true,
145
+ "gridSize": 16,
146
+ "showLiga": false
147
+ }
148
+ }