zendesk_apps_support 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 05ad3567f597664ad8ce94c872134e67f2e9bda7
4
- data.tar.gz: 2a3f1251f376c3e59f81ec773586aafa559c50f9
3
+ metadata.gz: 3c3fca724e7f35785484603ca55af83855f552b4
4
+ data.tar.gz: 0d43d9895907802f2b78e2254b51fd9071cfd81b
5
5
  SHA512:
6
- metadata.gz: b56372c5c05c92f5e17b213a53fcfabdbdf4533691ad0cab5738eb0c28aa31719ae22f6ba7488432565f537ca39605bec0abd611ce8586588d47b1f1ce62a8e1
7
- data.tar.gz: a5661aba54f00f86803467580fc11eb04ccda18d7ef808e72275548e8c55267675d9475b50a9fe68e5b89696e842783be12e75a8cfa8eee52774df9984d9b9c6
6
+ metadata.gz: ab5d576101b539d7ae1f03a2e8ee3d19dba79ae06ac63c99e81aed69f82892b6223214ca1fe604c19c2b6f6b247616e6969ae0b4954604184412d450356ae69d
7
+ data.tar.gz: f0055a8a80058d9dc1418c01ead238e9baa10f2ead12599cbaf2e0f1b69b3fe198cc43ee5d1e4814207de159f6434bb1300e21b4f82395618ddf5109587883fb
@@ -1,5 +1,4 @@
1
1
  module ZendeskAppsSupport
2
- require 'zendesk_apps_support/sass_functions'
3
2
  require 'zendesk_apps_support/engine'
4
3
 
5
4
  autoload :AppFile, 'zendesk_apps_support/app_file'
@@ -1,5 +1,3 @@
1
- require 'json'
2
-
3
1
  module ZendeskAppsSupport
4
2
  # At any point in time, we support up to three versions:
5
3
  # * deprecated -- we will still serve apps targeting the deprecated version,
@@ -1,6 +1,4 @@
1
1
  # frozen_string_literal: true
2
- require 'json'
3
-
4
2
  module ZendeskAppsSupport
5
3
  class Manifest
6
4
  class OverrideError < StandardError
@@ -155,7 +155,7 @@ module ZendeskAppsSupport
155
155
 
156
156
  def requirements_json
157
157
  return nil unless has_requirements?
158
- @requirements ||= read_json('requirements.json')
158
+ @requirements ||= read_json('requirements.json', object_class: Manifest::NoOverrideHash)
159
159
  end
160
160
 
161
161
  def is_no_template
@@ -1,4 +1,5 @@
1
1
  require 'sass'
2
+ require 'zendesk_apps_support/sass_functions'
2
3
 
3
4
  module ZendeskAppsSupport
4
5
  class StylesheetCompiler
@@ -1,4 +1,3 @@
1
- require 'json'
2
1
  require 'uri'
3
2
 
4
3
  module ZendeskAppsSupport
@@ -1,6 +1,3 @@
1
- require 'json'
2
- require 'json/stream'
3
-
4
1
  module ZendeskAppsSupport
5
2
  module Validations
6
3
  module Requirements
@@ -8,17 +5,14 @@ module ZendeskAppsSupport
8
5
 
9
6
  class <<self
10
7
  def call(package)
11
- requirements_file = package.files.find { |f| f.relative_path == 'requirements.json' }
12
-
13
- return [ValidationError.new(:missing_requirements)] unless requirements_file
8
+ return [ValidationError.new(:missing_requirements)] unless package.has_file? 'requirements.json'
14
9
 
15
- requirements_stream = requirements_file.read
16
- duplicates = non_unique_type_keys(requirements_stream)
17
- unless duplicates.empty?
18
- return [ValidationError.new(:duplicate_requirements, duplicate_keys: duplicates.join(', '), count: duplicates.length)]
10
+ begin
11
+ requirements = package.requirements_json
12
+ rescue ZendeskAppsSupport::Manifest::OverrideError => e
13
+ return [ValidationError.new(:duplicate_requirements, duplicate_keys: e.key, count: 1)]
19
14
  end
20
15
 
21
- requirements = JSON.load(requirements_stream)
22
16
  [].tap do |errors|
23
17
  errors << invalid_requirements_types(requirements)
24
18
  errors << excessive_requirements(requirements)
@@ -86,19 +80,6 @@ module ZendeskAppsSupport
86
80
  ValidationError.new(:invalid_requirements_types, invalid_types: invalid_types.join(', '), count: invalid_types.length)
87
81
  end
88
82
  end
89
-
90
- def non_unique_type_keys(requirements)
91
- keys = []
92
- duplicates = []
93
- parser = JSON::Stream::Parser.new do
94
- start_object { keys.push({}) }
95
- end_object { keys.pop }
96
- key { |k| duplicates.push(k) if keys.last.include? k; keys.last[k] = nil }
97
- end
98
- parser << requirements
99
-
100
- duplicates
101
- end
102
83
  end
103
84
  end
104
85
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_apps_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James A. Rosen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-08-26 00:00:00.000000000 Z
14
+ date: 2016-09-02 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: i18n
@@ -55,20 +55,6 @@ dependencies:
55
55
  - - ">="
56
56
  - !ruby/object:Gem::Version
57
57
  version: '0'
58
- - !ruby/object:Gem::Dependency
59
- name: json-stream
60
- requirement: !ruby/object:Gem::Requirement
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: '0'
65
- type: :runtime
66
- prerelease: false
67
- version_requirements: !ruby/object:Gem::Requirement
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- version: '0'
72
58
  - !ruby/object:Gem::Dependency
73
59
  name: image_size
74
60
  requirement: !ruby/object:Gem::Requirement