Sha256: 7f96ada94f2bb76f50f52672465e195056f0186a5c3df11e33c9e15fb61a70db

Contents?: true

Size: 608 Bytes

Versions: 4

Compression:

Stored size: 608 Bytes

Contents

require 'multi_json'

module ZendeskAppsSupport
  module Validations
    module Requirements

      class <<self
        def call(package)
          requirements = package.files.find { |f| f.relative_path == 'requirements.json' }

          errors = []

          if requirements && !valid_json?(requirements)
            errors << ValidationError.new(:requirements_not_json)
          end

          errors
        end

        private

        def valid_json? json
          MultiJson.load(json)
          true
        rescue MultiJson::DecodeError
          false
        end

      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
zendesk_apps_support-1.13.2 lib/zendesk_apps_support/validations/requirements.rb
zendesk_apps_support-1.13.1 lib/zendesk_apps_support/validations/requirements.rb
zendesk_apps_support-1.13.0 lib/zendesk_apps_support/validations/requirements.rb
zendesk_apps_support-1.12.0 lib/zendesk_apps_support/validations/requirements.rb