prmd 0.11.10 → 0.11.11
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.
- checksums.yaml +4 -4
- data/lib/prmd.rb +1 -0
- data/lib/prmd/cli/base.rb +4 -4
- data/lib/prmd/cli/generate.rb +6 -1
- data/lib/prmd/templates/schemata/helper.erb +2 -1
- data/lib/prmd/utils.rb +19 -0
- data/lib/prmd/version.rb +1 -1
- data/test/cli/combine_test.rb +1 -1
- data/test/cli/doc_test.rb +1 -1
- data/test/cli/generate_test.rb +1 -1
- data/test/cli/render_test.rb +1 -1
- data/test/cli/verify_test.rb +1 -1
- data/test/commands/combine_test.rb +1 -1
- data/test/commands/init_test.rb +1 -1
- data/test/commands/render_test.rb +14 -14
- data/test/commands/verify_test.rb +1 -1
- data/test/core/reference_localizer_test.rb +1 -1
- data/test/link_test.rb +3 -2
- data/test/multi_loader/common.rb +1 -1
- data/test/multi_loader/json_test.rb +1 -1
- data/test/multi_loader/toml_test.rb +1 -1
- data/test/multi_loader/yajl_test.rb +1 -1
- data/test/multi_loader/yaml_test.rb +1 -1
- data/test/rake_tasks/combine_test.rb +1 -1
- data/test/rake_tasks/doc_test.rb +1 -1
- data/test/rake_tasks/verify_test.rb +1 -1
- data/test/schema_test.rb +1 -1
- data/test/utils_test.rb +16 -0
- metadata +5 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 360cb547141b8b6cb7530276cee8937fc3d67eeb
         | 
| 4 | 
            +
              data.tar.gz: e5258d2ab83ccf065bed3c366ce915ad3b499f22
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 05fe9b1d724b0fa2290b1fbd93338eda26819e6bfe2ebaaf27fae5b49a9c8c3fb1eac37377be484280ccf713ac10db897605195337146fe7c8285a2ff066b60a
         | 
| 7 | 
            +
              data.tar.gz: 729a5aa7351f1ffd3777194370bb5a6beb59eed6407c00506baa1a0312eccdfd424d679552a91f555935080faf564a754c8305449c1bc1d3c4c42914d2c69dc9
         | 
    
        data/lib/prmd.rb
    CHANGED
    
    | @@ -3,6 +3,7 @@ require_relative 'prmd/load_schema_file' | |
| 3 3 | 
             
            require_relative 'prmd/commands'
         | 
| 4 4 | 
             
            require_relative 'prmd/schema'
         | 
| 5 5 | 
             
            require_relative 'prmd/link'
         | 
| 6 | 
            +
            require_relative 'prmd/utils'
         | 
| 6 7 | 
             
            require_relative 'prmd/template'
         | 
| 7 8 | 
             
            require_relative 'prmd/url_generator'
         | 
| 8 9 | 
             
            require_relative 'prmd/hash_helpers'
         | 
    
        data/lib/prmd/cli/base.rb
    CHANGED
    
    | @@ -33,8 +33,8 @@ module Prmd | |
| 33 33 | 
             
                  # @param [Array<String>] argv
         | 
| 34 34 | 
             
                  # @return [Array<String>] remaining arguments
         | 
| 35 35 | 
             
                  # @private
         | 
| 36 | 
            -
                  def execute_parser( | 
| 37 | 
            -
                    parser.parse(argv)
         | 
| 36 | 
            +
                  def execute_parser(argv)
         | 
| 37 | 
            +
                    @parser.parse(argv)
         | 
| 38 38 | 
             
                  end
         | 
| 39 39 |  | 
| 40 40 | 
             
                  # Set the given key and value in the given options Hash.
         | 
| @@ -66,10 +66,10 @@ module Prmd | |
| 66 66 | 
             
                  # @return [Hash<Symbol, Object>] parsed options
         | 
| 67 67 | 
             
                  def parse_options(argv, options = {})
         | 
| 68 68 | 
             
                    opts = {}
         | 
| 69 | 
            -
                    parser = make_parser(options) do |key, value|
         | 
| 69 | 
            +
                    @parser = make_parser(options) do |key, value|
         | 
| 70 70 | 
             
                      set_option(opts, key, value)
         | 
| 71 71 | 
             
                    end
         | 
| 72 | 
            -
                    argv = execute_parser( | 
| 72 | 
            +
                    argv = execute_parser(argv)
         | 
| 73 73 | 
             
                    opts[:argv] = argv
         | 
| 74 74 | 
             
                    opts
         | 
| 75 75 | 
             
                  end
         | 
    
        data/lib/prmd/cli/generate.rb
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            require_relative 'base'
         | 
| 2 2 | 
             
            require_relative '../commands/init'
         | 
| 3 | 
            +
            require_relative '../utils'
         | 
| 3 4 |  | 
| 4 5 | 
             
            module Prmd
         | 
| 5 6 | 
             
              module CLI
         | 
| @@ -40,7 +41,11 @@ module Prmd | |
| 40 41 | 
             
                  # @return (see Prmd::CLI::Base#execute)
         | 
| 41 42 | 
             
                  def self.execute(options = {})
         | 
| 42 43 | 
             
                    name = options.fetch(:argv).first
         | 
| 43 | 
            -
                     | 
| 44 | 
            +
                    if Prmd::Utils.blank?(name)
         | 
| 45 | 
            +
                      abort @parser
         | 
| 46 | 
            +
                    else
         | 
| 47 | 
            +
                      write_result Prmd.init(name, options), options
         | 
| 48 | 
            +
                    end
         | 
| 44 49 | 
             
                  end
         | 
| 45 50 | 
             
                end
         | 
| 46 51 | 
             
              end
         | 
| @@ -81,7 +81,8 @@ | |
| 81 81 |  | 
| 82 82 | 
             
              def extract_schemata_refs(schema, properties)
         | 
| 83 83 | 
             
                ret = []
         | 
| 84 | 
            -
                properties.each do | | 
| 84 | 
            +
                properties.keys.sort.each do |key|
         | 
| 85 | 
            +
                  value = properties[key]
         | 
| 85 86 | 
             
                  ref, value = schema.dereference(value)
         | 
| 86 87 | 
             
                  if value['properties']
         | 
| 87 88 | 
             
                    refs = extract_schemata_refs(schema, value['properties'])
         | 
    
        data/lib/prmd/utils.rb
    ADDED
    
    | @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            module Prmd
         | 
| 2 | 
            +
              # For any tid bits, or core extension methods, without the "core" extension
         | 
| 3 | 
            +
              module Utils
         | 
| 4 | 
            +
                # For checking if the string contains only spaces
         | 
| 5 | 
            +
                BLANK_REGEX = /\A\s+\z/
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                def self.blank?(obj)
         | 
| 8 | 
            +
                  if obj.nil?
         | 
| 9 | 
            +
                    true
         | 
| 10 | 
            +
                  elsif obj.is_a?(String)
         | 
| 11 | 
            +
                    obj.empty? || !!(obj =~ BLANK_REGEX)
         | 
| 12 | 
            +
                  elsif obj.respond_to?(:empty?)
         | 
| 13 | 
            +
                    obj.empty?
         | 
| 14 | 
            +
                  else
         | 
| 15 | 
            +
                    false
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
            end
         | 
    
        data/lib/prmd/version.rb
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            module Prmd
         | 
| 3 3 | 
             
              # Well, duh, its a Version module, what did you expect?
         | 
| 4 4 | 
             
              module Version
         | 
| 5 | 
            -
                MAJOR, MINOR, TEENY, PATCH = 0, 11,  | 
| 5 | 
            +
                MAJOR, MINOR, TEENY, PATCH = 0, 11, 11, nil
         | 
| 6 6 | 
             
                # version string
         | 
| 7 7 | 
             
                # @return [String]
         | 
| 8 8 | 
             
                STRING = [MAJOR, MINOR, TEENY, PATCH].compact.join('.').freeze
         | 
    
        data/test/cli/combine_test.rb
    CHANGED
    
    
    
        data/test/cli/doc_test.rb
    CHANGED
    
    
    
        data/test/cli/generate_test.rb
    CHANGED
    
    
    
        data/test/cli/render_test.rb
    CHANGED
    
    
    
        data/test/cli/verify_test.rb
    CHANGED
    
    
    
        data/test/commands/init_test.rb
    CHANGED
    
    
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            require_relative '../helpers'
         | 
| 2 2 |  | 
| 3 3 | 
             
            require 'json_pointer'
         | 
| 4 4 |  | 
| @@ -6,7 +6,7 @@ class InteragentRenderTest < Minitest::Test | |
| 6 6 | 
             
              def test_render_for_valid_schema
         | 
| 7 7 | 
             
                markdown = render
         | 
| 8 8 |  | 
| 9 | 
            -
                assert_match | 
| 9 | 
            +
                assert_match(/An app in our PaaS ecosystem./, markdown)
         | 
| 10 10 | 
             
              end
         | 
| 11 11 |  | 
| 12 12 | 
             
              def test_render_for_schema_with_property_defined_with_anyOf
         | 
| @@ -21,15 +21,15 @@ class InteragentRenderTest < Minitest::Test | |
| 21 21 | 
             
                  }
         | 
| 22 22 | 
             
                })
         | 
| 23 23 | 
             
                markdown = render
         | 
| 24 | 
            -
                assert_match | 
| 24 | 
            +
                assert_match(/version.*v10\.9\.rc1/, markdown)
         | 
| 25 25 | 
             
              end
         | 
| 26 26 |  | 
| 27 27 |  | 
| 28 28 | 
             
              def test_render_for_schema_with_property_defined_with_oneOf
         | 
| 29 29 | 
             
                markdown = render
         | 
| 30 30 |  | 
| 31 | 
            -
               assert_match | 
| 32 | 
            -
               assert_match | 
| 31 | 
            +
               assert_match(/\*\*options\/\[OPTION1\]\.type\*\*/, markdown)
         | 
| 32 | 
            +
               assert_match(/\*\*options\/\[OPTION2\]\.type\*\*/, markdown)
         | 
| 33 33 | 
             
              end
         | 
| 34 34 |  | 
| 35 35 |  | 
| @@ -95,37 +95,37 @@ class InteragentRenderTest < Minitest::Test | |
| 95 95 | 
             
                          'example'     => 'example'
         | 
| 96 96 | 
             
                        },
         | 
| 97 97 | 
             
                        'option-type1' => {
         | 
| 98 | 
            -
                          'type' => 'string', | 
| 99 | 
            -
                          'example' => 'OPTION1', | 
| 100 | 
            -
                          'enum' => 'OPTION1' | 
| 98 | 
            +
                          'type' => 'string',
         | 
| 99 | 
            +
                          'example' => 'OPTION1',
         | 
| 100 | 
            +
                          'enum' => 'OPTION1'
         | 
| 101 101 | 
             
                        },
         | 
| 102 102 | 
             
                        'option-type2' => {
         | 
| 103 | 
            -
                          'type' => 'string', | 
| 103 | 
            +
                          'type' => 'string',
         | 
| 104 104 | 
             
                          'example' => 'OPTION2',
         | 
| 105 105 | 
             
                          'enum' => 'OPTION2'
         | 
| 106 106 | 
             
                        },
         | 
| 107 107 | 
             
                        'option1' => {
         | 
| 108 108 | 
             
                          'properties' => {
         | 
| 109 109 | 
             
                            'type' => {
         | 
| 110 | 
            -
                                '$ref' => '#/definitions/config-var/definitions/option-type1' | 
| 110 | 
            +
                                '$ref' => '#/definitions/config-var/definitions/option-type1'
         | 
| 111 111 | 
             
                            }
         | 
| 112 112 | 
             
                          }
         | 
| 113 113 | 
             
                        },
         | 
| 114 114 | 
             
                        'option2' => {
         | 
| 115 115 | 
             
                          'properties' => {
         | 
| 116 116 | 
             
                            'type' => {
         | 
| 117 | 
            -
                                '$ref' => '#/definitions/config-var/definitions/option-type2' | 
| 117 | 
            +
                                '$ref' => '#/definitions/config-var/definitions/option-type2'
         | 
| 118 118 | 
             
                            }
         | 
| 119 119 | 
             
                          }
         | 
| 120 120 | 
             
                        },
         | 
| 121 | 
            -
                        'options' => { | 
| 121 | 
            +
                        'options' => {
         | 
| 122 122 | 
             
                          'items' => {
         | 
| 123 123 | 
             
                            'example'=> 'CHOICE1',
         | 
| 124 124 | 
             
                            'oneOf' => [
         | 
| 125 | 
            -
                              { | 
| 125 | 
            +
                              {
         | 
| 126 126 | 
             
                                '$ref' => '#/definitions/config-var/definitions/option1'
         | 
| 127 127 | 
             
                              },
         | 
| 128 | 
            -
                              { | 
| 128 | 
            +
                              {
         | 
| 129 129 | 
             
                               '$ref' => '#/definitions/config-var/definitions/option2'
         | 
| 130 130 | 
             
                              }
         | 
| 131 131 | 
             
                            ]
         | 
    
        data/test/link_test.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            require_relative 'helpers'
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            module Prmd
         | 
| 3 4 | 
             
              class LinkTest < MiniTest::Test
         | 
| 4 5 | 
             
                include PrmdLinkTestHelpers
         | 
| @@ -22,7 +23,7 @@ module Prmd | |
| 22 23 | 
             
                  {
         | 
| 23 24 | 
             
                    title: "multiple_nested_required" ,
         | 
| 24 25 | 
             
                    optional: {"user:name" => "string"},
         | 
| 25 | 
            -
                    required: {"user:email" => "string", | 
| 26 | 
            +
                    required: {"user:email" => "string",
         | 
| 26 27 | 
             
                               "address:street" => "string",
         | 
| 27 28 | 
             
                               "address:zip" => "string"}
         | 
| 28 29 | 
             
                  }
         | 
    
        data/test/multi_loader/common.rb
    CHANGED
    
    
    
        data/test/rake_tasks/doc_test.rb
    CHANGED
    
    
    
        data/test/schema_test.rb
    CHANGED
    
    
    
        data/test/utils_test.rb
    ADDED
    
    | @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            require_relative 'helpers'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            class UtilsTest < Minitest::Test
         | 
| 4 | 
            +
              def test_blank?
         | 
| 5 | 
            +
                assert_equal true, Prmd::Utils.blank?(nil)
         | 
| 6 | 
            +
                assert_equal true, Prmd::Utils.blank?([])
         | 
| 7 | 
            +
                assert_equal true, Prmd::Utils.blank?({})
         | 
| 8 | 
            +
                assert_equal true, Prmd::Utils.blank?("")
         | 
| 9 | 
            +
                assert_equal true, Prmd::Utils.blank?(" ")
         | 
| 10 | 
            +
                assert_equal true, Prmd::Utils.blank?("       ")
         | 
| 11 | 
            +
                assert_equal false, Prmd::Utils.blank?([nil])
         | 
| 12 | 
            +
                assert_equal false, Prmd::Utils.blank?({ a: nil })
         | 
| 13 | 
            +
                assert_equal false, Prmd::Utils.blank?("A")
         | 
| 14 | 
            +
                assert_equal false, Prmd::Utils.blank?(Object.new)
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: prmd
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.11. | 
| 4 | 
            +
              version: 0.11.11
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - geemus
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-05- | 
| 11 | 
            +
            date: 2016-05-26 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: erubis
         | 
| @@ -152,6 +152,7 @@ files: | |
| 152 152 | 
             
            - lib/prmd/url_generator.rb
         | 
| 153 153 | 
             
            - lib/prmd/url_generators/generators/default.rb
         | 
| 154 154 | 
             
            - lib/prmd/url_generators/generators/json.rb
         | 
| 155 | 
            +
            - lib/prmd/utils.rb
         | 
| 155 156 | 
             
            - lib/prmd/version.rb
         | 
| 156 157 | 
             
            - prmd.gemspec
         | 
| 157 158 | 
             
            - schemas/hyper-schema.json
         | 
| @@ -189,6 +190,7 @@ files: | |
| 189 190 | 
             
            - test/schemata/input/rake_doc.json
         | 
| 190 191 | 
             
            - test/schemata/input/rake_verify.json
         | 
| 191 192 | 
             
            - test/schemata/input/user.json
         | 
| 193 | 
            +
            - test/utils_test.rb
         | 
| 192 194 | 
             
            homepage: https://github.com/heroku/prmd
         | 
| 193 195 | 
             
            licenses:
         | 
| 194 196 | 
             
            - MIT
         | 
| @@ -246,3 +248,4 @@ test_files: | |
| 246 248 | 
             
            - test/schemata/input/rake_doc.json
         | 
| 247 249 | 
             
            - test/schemata/input/rake_verify.json
         | 
| 248 250 | 
             
            - test/schemata/input/user.json
         | 
| 251 | 
            +
            - test/utils_test.rb
         |