avromatic 0.7.1 → 0.8.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.
- checksums.yaml +4 -4
- data/.travis.yml +5 -10
- data/Appraisals +17 -0
- data/CHANGELOG.md +4 -0
- data/Rakefile +11 -3
- data/avromatic.gemspec +2 -1
- data/bin/setup +1 -1
- data/gemfiles/avro_salsify_fork.gemfile +9 -0
- data/gemfiles/rails4_1.gemfile +7 -4
- data/gemfiles/rails4_2.gemfile +7 -4
- data/lib/avromatic/model/attributes.rb +5 -0
- data/lib/avromatic/model/logical_types.rb +16 -0
- data/lib/avromatic/model.rb +1 -0
- data/lib/avromatic/version.rb +1 -1
- metadata +21 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c5cf8d1ba64c3de84625325553fbeeff017e3ac7
         | 
| 4 | 
            +
              data.tar.gz: f536b77ce377759a8f70f7ba3d9d0ea4cb796815
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 9241a4262287eda4cadfb2f636b3ee74c655863ccab6b779c0a6c28f12c7cce84cc3fcddc6bbdf7b8f3ce817b96c9cabd95f34afa8a0099c2fcb9daf7518ea40
         | 
| 7 | 
            +
              data.tar.gz: 389244130b9ac99560219d2019222c5f7576f3b5df1b4795926569f0d6e158b4db1378ec33e9c8b0459836cf4d490dec58d26adae51f0c4131f498435a0889bf
         | 
    
        data/.travis.yml
    CHANGED
    
    | @@ -2,15 +2,10 @@ language: ruby | |
| 2 2 | 
             
            rvm:
         | 
| 3 3 | 
             
              - 2.2.4
         | 
| 4 4 | 
             
              - 2.3.1
         | 
| 5 | 
            -
             | 
| 6 | 
            -
              -  | 
| 7 | 
            -
              - gemfiles/rails4_2.gemfile
         | 
| 8 | 
            -
            matrix:
         | 
| 9 | 
            -
              exclude:
         | 
| 10 | 
            -
              - rvm: 2.2.4
         | 
| 11 | 
            -
                gemfile: gemfiles/rails4_2.gemfile
         | 
| 12 | 
            -
              - rvm: 2.3.1
         | 
| 13 | 
            -
                gemfile: gemfiles/rails4_1.gemfile
         | 
| 5 | 
            +
            before_script:
         | 
| 6 | 
            +
              - bundle exec appraisal install --jobs=3
         | 
| 14 7 | 
             
            script:
         | 
| 15 8 | 
             
              - bundle exec rubocop
         | 
| 16 | 
            -
              - bundle exec  | 
| 9 | 
            +
              - bundle exec appraisal rails4_1 rake spec
         | 
| 10 | 
            +
              - bundle exec appraisal rails4_2 rake spec
         | 
| 11 | 
            +
              - bundle exec appraisal avro-salsify-fork rake spec
         | 
    
        data/Appraisals
    ADDED
    
    | @@ -0,0 +1,17 @@ | |
| 1 | 
            +
            appraise 'rails4_1' do
         | 
| 2 | 
            +
              gem 'avro', '1.8.1'
         | 
| 3 | 
            +
              gem 'activesupport', '~> 4.1.15'
         | 
| 4 | 
            +
              gem 'activemodel', '~> 4.1.15'
         | 
| 5 | 
            +
            end
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            appraise 'rails4_2' do
         | 
| 8 | 
            +
              gem 'avro', '1.8.1'
         | 
| 9 | 
            +
              gem 'activesupport', '~> 4.2.6'
         | 
| 10 | 
            +
              gem 'activemodel', '~> 4.2.6'  
         | 
| 11 | 
            +
            end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            appraise 'avro-salsify-fork' do
         | 
| 14 | 
            +
              gem 'avro-salsify-fork', '1.9.0.1', require: 'avro'
         | 
| 15 | 
            +
              gem 'activesupport', '~> 4.2.6'
         | 
| 16 | 
            +
              gem 'activemodel', '~> 4.2.6'
         | 
| 17 | 
            +
            end
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,9 @@ | |
| 1 1 | 
             
            # avromatic changelog
         | 
| 2 2 |  | 
| 3 | 
            +
            ## v0.8.0
         | 
| 4 | 
            +
            - Add support for logical types. Currently this requires using the
         | 
| 5 | 
            +
              `avro-salsify-fork` gem for logical types support with Ruby.
         | 
| 6 | 
            +
             | 
| 3 7 | 
             
            ## v0.7.1
         | 
| 4 8 | 
             
            - Raise a more descriptive error when attempting to generate a model for a
         | 
| 5 9 | 
             
              non-record Avro type.
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -1,8 +1,18 @@ | |
| 1 1 | 
             
            require 'bundler/gem_tasks'
         | 
| 2 2 | 
             
            require 'rspec/core/rake_task'
         | 
| 3 | 
            +
            require 'appraisal/task'
         | 
| 3 4 | 
             
            require 'avro/builder'
         | 
| 4 5 |  | 
| 5 | 
            -
            RSpec::Core::RakeTask.new(: | 
| 6 | 
            +
            RSpec::Core::RakeTask.new(:default_spec)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            Appraisal::Task.new
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            if !ENV['APPRAISAL_INITIALIZED']
         | 
| 11 | 
            +
              task default: :appraisal
         | 
| 12 | 
            +
              task spec: :appraisal
         | 
| 13 | 
            +
            else
         | 
| 14 | 
            +
              task default: :default_spec
         | 
| 15 | 
            +
            end
         | 
| 6 16 |  | 
| 7 17 | 
             
            namespace :avro do
         | 
| 8 18 | 
             
              desc 'Generate Avro schema files used by specs'
         | 
| @@ -18,5 +28,3 @@ namespace :avro do | |
| 18 28 | 
             
                end
         | 
| 19 29 | 
             
              end
         | 
| 20 30 | 
             
            end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            task default: :spec
         | 
    
        data/avromatic.gemspec
    CHANGED
    
    | @@ -30,9 +30,10 @@ Gem::Specification.new do |spec| | |
| 30 30 | 
             
              spec.add_development_dependency 'rspec', '~> 3.0'
         | 
| 31 31 | 
             
              spec.add_development_dependency 'simplecov'
         | 
| 32 32 | 
             
              spec.add_development_dependency 'webmock'
         | 
| 33 | 
            -
              spec.add_development_dependency 'avro-builder', '>= 0. | 
| 33 | 
            +
              spec.add_development_dependency 'avro-builder', '>= 0.11.0'
         | 
| 34 34 | 
             
              # For FakeSchemaRegistryServer
         | 
| 35 35 | 
             
              spec.add_development_dependency 'sinatra'
         | 
| 36 36 | 
             
              spec.add_development_dependency 'salsify_rubocop', '~> 0.42.0'
         | 
| 37 37 | 
             
              spec.add_development_dependency 'overcommit'
         | 
| 38 | 
            +
              spec.add_development_dependency 'appraisal'
         | 
| 38 39 | 
             
            end
         | 
    
        data/bin/setup
    CHANGED
    
    
    
        data/gemfiles/rails4_1.gemfile
    CHANGED
    
    | @@ -1,6 +1,9 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            # This file was generated by Appraisal
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
            gem 'activemodel', '~> 4.1.15'
         | 
| 3 | 
            +
            source "https://rubygems.org"
         | 
| 5 4 |  | 
| 6 | 
            -
             | 
| 5 | 
            +
            gem "avro", "1.8.1"
         | 
| 6 | 
            +
            gem "activesupport", "~> 4.1.15"
         | 
| 7 | 
            +
            gem "activemodel", "~> 4.1.15"
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            gemspec :path => "../"
         | 
    
        data/gemfiles/rails4_2.gemfile
    CHANGED
    
    | @@ -1,6 +1,9 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            # This file was generated by Appraisal
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
            gem 'activemodel', '~> 4.2.6'
         | 
| 3 | 
            +
            source "https://rubygems.org"
         | 
| 5 4 |  | 
| 6 | 
            -
             | 
| 5 | 
            +
            gem "avro", "1.8.1"
         | 
| 6 | 
            +
            gem "activesupport", "~> 4.2.6"
         | 
| 7 | 
            +
            gem "activemodel", "~> 4.2.6"
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            gemspec :path => "../"
         | 
| @@ -100,6 +100,11 @@ module Avromatic | |
| 100 100 | 
             
                      custom_type = Avromatic.type_registry.fetch(field_type)
         | 
| 101 101 | 
             
                      return custom_type.value_class if custom_type.value_class
         | 
| 102 102 |  | 
| 103 | 
            +
                      if field_type.respond_to?(:logical_type)
         | 
| 104 | 
            +
                        value_class = Avromatic::Model::LogicalTypes.value_class(field_type.logical_type)
         | 
| 105 | 
            +
                        return value_class if value_class
         | 
| 106 | 
            +
                      end
         | 
| 107 | 
            +
             | 
| 103 108 | 
             
                      case field_type.type_sym
         | 
| 104 109 | 
             
                      when :string, :bytes, :fixed
         | 
| 105 110 | 
             
                        String
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            module Avromatic
         | 
| 2 | 
            +
              module Model
         | 
| 3 | 
            +
                module LogicalTypes
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                  LOGICAL_TYPE_MAP = {
         | 
| 6 | 
            +
                    'date' => Date,
         | 
| 7 | 
            +
                    'timestamp-micros' => Time,
         | 
| 8 | 
            +
                    'timestamp-millis' => Time
         | 
| 9 | 
            +
                  }.freeze
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  def self.value_class(logical_type)
         | 
| 12 | 
            +
                    LOGICAL_TYPE_MAP[logical_type]
         | 
| 13 | 
            +
                  end
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
            end
         | 
    
        data/lib/avromatic/model.rb
    CHANGED
    
    
    
        data/lib/avromatic/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: avromatic
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.8.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Salsify Engineering
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-08- | 
| 11 | 
            +
            date: 2016-08-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: avro
         | 
| @@ -156,14 +156,14 @@ dependencies: | |
| 156 156 | 
             
                requirements:
         | 
| 157 157 | 
             
                - - ">="
         | 
| 158 158 | 
             
                  - !ruby/object:Gem::Version
         | 
| 159 | 
            -
                    version: 0. | 
| 159 | 
            +
                    version: 0.11.0
         | 
| 160 160 | 
             
              type: :development
         | 
| 161 161 | 
             
              prerelease: false
         | 
| 162 162 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 163 163 | 
             
                requirements:
         | 
| 164 164 | 
             
                - - ">="
         | 
| 165 165 | 
             
                  - !ruby/object:Gem::Version
         | 
| 166 | 
            -
                    version: 0. | 
| 166 | 
            +
                    version: 0.11.0
         | 
| 167 167 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 168 168 | 
             
              name: sinatra
         | 
| 169 169 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -206,6 +206,20 @@ dependencies: | |
| 206 206 | 
             
                - - ">="
         | 
| 207 207 | 
             
                  - !ruby/object:Gem::Version
         | 
| 208 208 | 
             
                    version: '0'
         | 
| 209 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 210 | 
            +
              name: appraisal
         | 
| 211 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 212 | 
            +
                requirements:
         | 
| 213 | 
            +
                - - ">="
         | 
| 214 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 215 | 
            +
                    version: '0'
         | 
| 216 | 
            +
              type: :development
         | 
| 217 | 
            +
              prerelease: false
         | 
| 218 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 219 | 
            +
                requirements:
         | 
| 220 | 
            +
                - - ">="
         | 
| 221 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 222 | 
            +
                    version: '0'
         | 
| 209 223 | 
             
            description: Generate Ruby models from Avro schemas
         | 
| 210 224 | 
             
            email:
         | 
| 211 225 | 
             
            - engineering@salsify.com
         | 
| @@ -218,6 +232,7 @@ files: | |
| 218 232 | 
             
            - ".rspec"
         | 
| 219 233 | 
             
            - ".rubocop.yml"
         | 
| 220 234 | 
             
            - ".travis.yml"
         | 
| 235 | 
            +
            - Appraisals
         | 
| 221 236 | 
             
            - CHANGELOG.md
         | 
| 222 237 | 
             
            - Gemfile
         | 
| 223 238 | 
             
            - LICENSE.txt
         | 
| @@ -226,6 +241,7 @@ files: | |
| 226 241 | 
             
            - avromatic.gemspec
         | 
| 227 242 | 
             
            - bin/console
         | 
| 228 243 | 
             
            - bin/setup
         | 
| 244 | 
            +
            - gemfiles/avro_salsify_fork.gemfile
         | 
| 229 245 | 
             
            - gemfiles/rails4_1.gemfile
         | 
| 230 246 | 
             
            - gemfiles/rails4_2.gemfile
         | 
| 231 247 | 
             
            - lib/avromatic.rb
         | 
| @@ -235,6 +251,7 @@ files: | |
| 235 251 | 
             
            - lib/avromatic/model/configurable.rb
         | 
| 236 252 | 
             
            - lib/avromatic/model/configuration.rb
         | 
| 237 253 | 
             
            - lib/avromatic/model/custom_type.rb
         | 
| 254 | 
            +
            - lib/avromatic/model/logical_types.rb
         | 
| 238 255 | 
             
            - lib/avromatic/model/message_decoder.rb
         | 
| 239 256 | 
             
            - lib/avromatic/model/messaging_serialization.rb
         | 
| 240 257 | 
             
            - lib/avromatic/model/null_custom_type.rb
         |