conversant 1.0.16
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 +7 -0
 - data/.env.example +39 -0
 - data/.gitignore +52 -0
 - data/.gitlab-ci.yml +108 -0
 - data/.rspec +3 -0
 - data/.rubocop.yml +16 -0
 - data/.yardopts +7 -0
 - data/CHANGELOG.md +487 -0
 - data/Gemfile +12 -0
 - data/LICENSE.txt +21 -0
 - data/README.md +860 -0
 - data/RELEASE.md +726 -0
 - data/Rakefile +21 -0
 - data/conversant.gemspec +49 -0
 - data/examples/inheritance_integration.rb +348 -0
 - data/examples/rails_initializer.rb +69 -0
 - data/lib/conversant/configuration.rb +132 -0
 - data/lib/conversant/v3/base.rb +47 -0
 - data/lib/conversant/v3/http_client.rb +456 -0
 - data/lib/conversant/v3/mixins/authentication.rb +221 -0
 - data/lib/conversant/v3/services/authorization.rb +194 -0
 - data/lib/conversant/v3/services/cdn/analytics.rb +483 -0
 - data/lib/conversant/v3/services/cdn/audit.rb +71 -0
 - data/lib/conversant/v3/services/cdn/business.rb +122 -0
 - data/lib/conversant/v3/services/cdn/certificate.rb +180 -0
 - data/lib/conversant/v3/services/cdn/dashboard.rb +109 -0
 - data/lib/conversant/v3/services/cdn/domain.rb +223 -0
 - data/lib/conversant/v3/services/cdn/monitoring.rb +65 -0
 - data/lib/conversant/v3/services/cdn/partner/analytics.rb +233 -0
 - data/lib/conversant/v3/services/cdn/partner.rb +60 -0
 - data/lib/conversant/v3/services/cdn.rb +221 -0
 - data/lib/conversant/v3/services/lms/dashboard.rb +99 -0
 - data/lib/conversant/v3/services/lms/domain.rb +108 -0
 - data/lib/conversant/v3/services/lms/job.rb +211 -0
 - data/lib/conversant/v3/services/lms/partner/analytics.rb +266 -0
 - data/lib/conversant/v3/services/lms/partner/business.rb +151 -0
 - data/lib/conversant/v3/services/lms/partner/report.rb +170 -0
 - data/lib/conversant/v3/services/lms/partner.rb +58 -0
 - data/lib/conversant/v3/services/lms/preset.rb +57 -0
 - data/lib/conversant/v3/services/lms.rb +173 -0
 - data/lib/conversant/v3/services/oss/partner/analytics.rb +105 -0
 - data/lib/conversant/v3/services/oss/partner.rb +48 -0
 - data/lib/conversant/v3/services/oss.rb +128 -0
 - data/lib/conversant/v3/services/portal/dashboard.rb +114 -0
 - data/lib/conversant/v3/services/portal.rb +219 -0
 - data/lib/conversant/v3/services/vms/analytics.rb +114 -0
 - data/lib/conversant/v3/services/vms/business.rb +190 -0
 - data/lib/conversant/v3/services/vms/partner/analytics.rb +133 -0
 - data/lib/conversant/v3/services/vms/partner/business.rb +90 -0
 - data/lib/conversant/v3/services/vms/partner.rb +57 -0
 - data/lib/conversant/v3/services/vms/transcoding.rb +184 -0
 - data/lib/conversant/v3/services/vms.rb +166 -0
 - data/lib/conversant/v3.rb +36 -0
 - data/lib/conversant/version.rb +5 -0
 - data/lib/conversant.rb +108 -0
 - data/publish.sh +107 -0
 - data/sig/conversant/v3/services/authorization.rbs +34 -0
 - data/sig/conversant/v3/services/cdn.rbs +123 -0
 - data/sig/conversant/v3/services/lms.rbs +80 -0
 - data/sig/conversant/v3/services/portal.rbs +22 -0
 - data/sig/conversant/v3/services/vms.rbs +64 -0
 - data/sig/conversant/v3.rbs +85 -0
 - data/sig/conversant.rbs +37 -0
 - metadata +267 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 524cbc4eca5d29c65fe76100c994fb134a03d8a98798ca90781493f9b7a9dc01
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: d1dbfc44df7dba57788ad5b9545c30561b613845a6f3113c8de60868b0ce58c0
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 627c11b7cb53f694758529214e9217e37d0fc8f9e67a26ff34c735d2bd7bb936de55fd5195c3b3ffd32a757b17ed1fc97176786dd05d14686be53232b638e26e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 68983f7a639ed7327c172fc7bbc6d492bb7096bfd9d3619c3a0426b6ba1f4c64b973f58aa2f2a1d3c129d9b75bf4d944efb01cd8ef94b3df5c265a80c91ed950
         
     | 
    
        data/.env.example
    ADDED
    
    | 
         @@ -0,0 +1,39 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Conversant Gem Environment Variables
         
     | 
| 
      
 2 
     | 
    
         
            +
            # The gem automatically uses these ENV variables if they exist
         
     | 
| 
      
 3 
     | 
    
         
            +
            # You only need to set them if they're not already in your environment
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            # Portal Configuration (Optional - has defaults)
         
     | 
| 
      
 6 
     | 
    
         
            +
            PORTAL_ROOT_HOSTNAME=console.swiftfederation.com
         
     | 
| 
      
 7 
     | 
    
         
            +
            PORTAL_SSO_HOSTNAME=sso.swiftfederation.com
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            # API Endpoints (Required)
         
     | 
| 
      
 10 
     | 
    
         
            +
            PRIVATE_CDN_ENDPOINT=https://your-cdn-endpoint.example.com
         
     | 
| 
      
 11 
     | 
    
         
            +
            PRIVATE_LMS_ENDPOINT=https://your-lms-endpoint.example.com
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            # Optional Endpoint Overrides
         
     | 
| 
      
 14 
     | 
    
         
            +
            PRIVATE_PORTAL_ENDPOINT=https://console.swiftfederation.com
         
     | 
| 
      
 15 
     | 
    
         
            +
            PRIVATE_SSO_ENDPOINT=https://sso.swiftfederation.com
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            # Authentication Credentials (Required)
         
     | 
| 
      
 18 
     | 
    
         
            +
            SWIFTSERVE_IDENTIFIER_ID=your_identifier_id_here
         
     | 
| 
      
 19 
     | 
    
         
            +
            SWIFTSERVE_IDENTIFIER_HASH=your_identifier_hash_here
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            # HTTP Configuration (Optional - has defaults)
         
     | 
| 
      
 22 
     | 
    
         
            +
            DEFAULT_UA=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36
         
     | 
| 
      
 23 
     | 
    
         
            +
            DEFAULT_CONTENT_TYPE=application/json
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            # Additional CDN Configuration (Optional)
         
     | 
| 
      
 26 
     | 
    
         
            +
            CONVERSANT_CDN_API_URL=https://cdn-api.example.com
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            # Redis Configuration (Optional - auto-detects $redis or uses REDIS_URL)
         
     | 
| 
      
 29 
     | 
    
         
            +
            REDIS_URL=redis://localhost:6379/0
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            # Debug and Performance Settings (Optional)
         
     | 
| 
      
 32 
     | 
    
         
            +
            CONVERSANT_DEBUG=false
         
     | 
| 
      
 33 
     | 
    
         
            +
            CONVERSANT_CACHE_TTL=1200
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            # Rails Environment (Optional - affects SSL verification)
         
     | 
| 
      
 36 
     | 
    
         
            +
            RAILS_ENV=development
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            # Customer ID for testing (not used by gem, but useful for examples)
         
     | 
| 
      
 39 
     | 
    
         
            +
            CUSTOMER_ID=12345
         
     | 
    
        data/.gitignore
    ADDED
    
    | 
         @@ -0,0 +1,52 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            *.gem
         
     | 
| 
      
 2 
     | 
    
         
            +
            *.rbc
         
     | 
| 
      
 3 
     | 
    
         
            +
            /.config
         
     | 
| 
      
 4 
     | 
    
         
            +
            /coverage/
         
     | 
| 
      
 5 
     | 
    
         
            +
            /InstalledFiles
         
     | 
| 
      
 6 
     | 
    
         
            +
            /pkg/
         
     | 
| 
      
 7 
     | 
    
         
            +
            /spec/reports/
         
     | 
| 
      
 8 
     | 
    
         
            +
            /spec/examples.txt
         
     | 
| 
      
 9 
     | 
    
         
            +
            /test/tmp/
         
     | 
| 
      
 10 
     | 
    
         
            +
            /test/version_tmp/
         
     | 
| 
      
 11 
     | 
    
         
            +
            /tmp/
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            # Used by dotenv library to load environment variables
         
     | 
| 
      
 14 
     | 
    
         
            +
            .env
         
     | 
| 
      
 15 
     | 
    
         
            +
            .env.local
         
     | 
| 
      
 16 
     | 
    
         
            +
            .env.*.local
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            # Ignore Byebug command history file
         
     | 
| 
      
 19 
     | 
    
         
            +
            .byebug_history
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            # Ignore bundler config
         
     | 
| 
      
 22 
     | 
    
         
            +
            /.bundle
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            # Ignore all logfiles and tempfiles
         
     | 
| 
      
 25 
     | 
    
         
            +
            /log/*
         
     | 
| 
      
 26 
     | 
    
         
            +
            /tmp/*
         
     | 
| 
      
 27 
     | 
    
         
            +
            !/log/.keep
         
     | 
| 
      
 28 
     | 
    
         
            +
            !/tmp/.keep
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            # Ignore RSpec configuration
         
     | 
| 
      
 31 
     | 
    
         
            +
            .rspec_status
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            # Ignore Gemfile.lock for gems
         
     | 
| 
      
 34 
     | 
    
         
            +
            Gemfile.lock
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            # Ignore built documentation
         
     | 
| 
      
 37 
     | 
    
         
            +
            /doc/
         
     | 
| 
      
 38 
     | 
    
         
            +
            /rdoc/
         
     | 
| 
      
 39 
     | 
    
         
            +
            /.yardoc/
         
     | 
| 
      
 40 
     | 
    
         
            +
            /_yardoc/
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            # IDE files
         
     | 
| 
      
 43 
     | 
    
         
            +
            .idea/
         
     | 
| 
      
 44 
     | 
    
         
            +
            .vscode/
         
     | 
| 
      
 45 
     | 
    
         
            +
            *.swp
         
     | 
| 
      
 46 
     | 
    
         
            +
            *.swo
         
     | 
| 
      
 47 
     | 
    
         
            +
            *~
         
     | 
| 
      
 48 
     | 
    
         
            +
            .DS_Store
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            # Test artifacts
         
     | 
| 
      
 51 
     | 
    
         
            +
            /spec/cassettes/
         
     | 
| 
      
 52 
     | 
    
         
            +
            /spec/fixtures/vcr_cassettes/
         
     | 
    
        data/.gitlab-ci.yml
    ADDED
    
    | 
         @@ -0,0 +1,108 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # GitLab CI/CD Pipeline for Conversant Gem
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            stages:
         
     | 
| 
      
 4 
     | 
    
         
            +
              - test
         
     | 
| 
      
 5 
     | 
    
         
            +
              - build
         
     | 
| 
      
 6 
     | 
    
         
            +
              - publish
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            variables:
         
     | 
| 
      
 9 
     | 
    
         
            +
              BUNDLE_PATH: vendor/bundle
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            # Cache dependencies
         
     | 
| 
      
 12 
     | 
    
         
            +
            cache:
         
     | 
| 
      
 13 
     | 
    
         
            +
              key: ${CI_COMMIT_REF_SLUG}
         
     | 
| 
      
 14 
     | 
    
         
            +
              paths:
         
     | 
| 
      
 15 
     | 
    
         
            +
                - vendor/bundle
         
     | 
| 
      
 16 
     | 
    
         
            +
                - Gemfile.lock
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            # Template for Ruby jobs
         
     | 
| 
      
 19 
     | 
    
         
            +
            .ruby_template: &ruby_template
         
     | 
| 
      
 20 
     | 
    
         
            +
              image: ruby:3.0
         
     | 
| 
      
 21 
     | 
    
         
            +
              before_script:
         
     | 
| 
      
 22 
     | 
    
         
            +
                - gem install bundler -v 2.4.0
         
     | 
| 
      
 23 
     | 
    
         
            +
                - bundle config set --local path 'vendor/bundle'
         
     | 
| 
      
 24 
     | 
    
         
            +
                - bundle install --jobs $(nproc)
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            # Run tests on multiple Ruby versions
         
     | 
| 
      
 27 
     | 
    
         
            +
            test:ruby-2.7:
         
     | 
| 
      
 28 
     | 
    
         
            +
              <<: *ruby_template
         
     | 
| 
      
 29 
     | 
    
         
            +
              image: ruby:2.7
         
     | 
| 
      
 30 
     | 
    
         
            +
              stage: test
         
     | 
| 
      
 31 
     | 
    
         
            +
              script:
         
     | 
| 
      
 32 
     | 
    
         
            +
                - bundle exec rake spec
         
     | 
| 
      
 33 
     | 
    
         
            +
              allow_failure: false
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            test:ruby-3.0:
         
     | 
| 
      
 36 
     | 
    
         
            +
              <<: *ruby_template
         
     | 
| 
      
 37 
     | 
    
         
            +
              image: ruby:3.0
         
     | 
| 
      
 38 
     | 
    
         
            +
              stage: test
         
     | 
| 
      
 39 
     | 
    
         
            +
              script:
         
     | 
| 
      
 40 
     | 
    
         
            +
                - bundle exec rake spec
         
     | 
| 
      
 41 
     | 
    
         
            +
              allow_failure: false
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            test:ruby-3.1:
         
     | 
| 
      
 44 
     | 
    
         
            +
              <<: *ruby_template
         
     | 
| 
      
 45 
     | 
    
         
            +
              image: ruby:3.1
         
     | 
| 
      
 46 
     | 
    
         
            +
              stage: test
         
     | 
| 
      
 47 
     | 
    
         
            +
              script:
         
     | 
| 
      
 48 
     | 
    
         
            +
                - bundle exec rake spec
         
     | 
| 
      
 49 
     | 
    
         
            +
              allow_failure: false
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            # Run RuboCop for code quality
         
     | 
| 
      
 52 
     | 
    
         
            +
            lint:
         
     | 
| 
      
 53 
     | 
    
         
            +
              <<: *ruby_template
         
     | 
| 
      
 54 
     | 
    
         
            +
              stage: test
         
     | 
| 
      
 55 
     | 
    
         
            +
              script:
         
     | 
| 
      
 56 
     | 
    
         
            +
                - bundle exec rubocop
         
     | 
| 
      
 57 
     | 
    
         
            +
              allow_failure: true
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
            # Build the gem
         
     | 
| 
      
 60 
     | 
    
         
            +
            build:
         
     | 
| 
      
 61 
     | 
    
         
            +
              <<: *ruby_template
         
     | 
| 
      
 62 
     | 
    
         
            +
              stage: build
         
     | 
| 
      
 63 
     | 
    
         
            +
              script:
         
     | 
| 
      
 64 
     | 
    
         
            +
                - gem build conversant.gemspec
         
     | 
| 
      
 65 
     | 
    
         
            +
                - echo "Gem version:" && ruby -r./lib/conversant/version -e "puts Conversant::VERSION"
         
     | 
| 
      
 66 
     | 
    
         
            +
              artifacts:
         
     | 
| 
      
 67 
     | 
    
         
            +
                paths:
         
     | 
| 
      
 68 
     | 
    
         
            +
                  - "*.gem"
         
     | 
| 
      
 69 
     | 
    
         
            +
                expire_in: 1 week
         
     | 
| 
      
 70 
     | 
    
         
            +
              only:
         
     | 
| 
      
 71 
     | 
    
         
            +
                - main
         
     | 
| 
      
 72 
     | 
    
         
            +
                - tags
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            # Publish to RubyGems (manual trigger)
         
     | 
| 
      
 75 
     | 
    
         
            +
            publish:rubygems:
         
     | 
| 
      
 76 
     | 
    
         
            +
              <<: *ruby_template
         
     | 
| 
      
 77 
     | 
    
         
            +
              stage: publish
         
     | 
| 
      
 78 
     | 
    
         
            +
              script:
         
     | 
| 
      
 79 
     | 
    
         
            +
                - 'if [ -z "$RUBYGEMS_API_KEY" ]; then echo "Error: RUBYGEMS_API_KEY is not set"; echo "Please set it in GitLab CI/CD Settings > Variables"; exit 1; fi'
         
     | 
| 
      
 80 
     | 
    
         
            +
                - mkdir -p ~/.gem
         
     | 
| 
      
 81 
     | 
    
         
            +
                - echo "---" > ~/.gem/credentials
         
     | 
| 
      
 82 
     | 
    
         
            +
                - 'echo ":rubygems_api_key: $RUBYGEMS_API_KEY" >> ~/.gem/credentials'
         
     | 
| 
      
 83 
     | 
    
         
            +
                - chmod 0600 ~/.gem/credentials
         
     | 
| 
      
 84 
     | 
    
         
            +
                - gem build conversant.gemspec
         
     | 
| 
      
 85 
     | 
    
         
            +
                - gem push *.gem
         
     | 
| 
      
 86 
     | 
    
         
            +
              when: manual
         
     | 
| 
      
 87 
     | 
    
         
            +
              only:
         
     | 
| 
      
 88 
     | 
    
         
            +
                - tags
         
     | 
| 
      
 89 
     | 
    
         
            +
              environment:
         
     | 
| 
      
 90 
     | 
    
         
            +
                name: rubygems
         
     | 
| 
      
 91 
     | 
    
         
            +
                url: https://rubygems.org/gems/conversant
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
            # Publish to private gem server (if you have one)
         
     | 
| 
      
 94 
     | 
    
         
            +
            publish:private:
         
     | 
| 
      
 95 
     | 
    
         
            +
              <<: *ruby_template
         
     | 
| 
      
 96 
     | 
    
         
            +
              stage: publish
         
     | 
| 
      
 97 
     | 
    
         
            +
              script:
         
     | 
| 
      
 98 
     | 
    
         
            +
                - 'if [ -z "$PRIVATE_GEM_SERVER_URL" ]; then echo "No private gem server configured, skipping..."; exit 0; fi'
         
     | 
| 
      
 99 
     | 
    
         
            +
                - gem build conversant.gemspec
         
     | 
| 
      
 100 
     | 
    
         
            +
                - 'gem push *.gem --host $PRIVATE_GEM_SERVER_URL'
         
     | 
| 
      
 101 
     | 
    
         
            +
              when: manual
         
     | 
| 
      
 102 
     | 
    
         
            +
              only:
         
     | 
| 
      
 103 
     | 
    
         
            +
                - main
         
     | 
| 
      
 104 
     | 
    
         
            +
                - tags
         
     | 
| 
      
 105 
     | 
    
         
            +
              allow_failure: true
         
     | 
| 
      
 106 
     | 
    
         
            +
              environment:
         
     | 
| 
      
 107 
     | 
    
         
            +
                name: private-gems
         
     | 
| 
      
 108 
     | 
    
         
            +
                url: $PRIVATE_GEM_SERVER_URL
         
     | 
    
        data/.rspec
    ADDED
    
    
    
        data/.rubocop.yml
    ADDED
    
    | 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Layout/EndOfLine:
         
     | 
| 
      
 2 
     | 
    
         
            +
              Enabled: False
         
     | 
| 
      
 3 
     | 
    
         
            +
            Metrics/MethodLength:
         
     | 
| 
      
 4 
     | 
    
         
            +
              Max: 50
         
     | 
| 
      
 5 
     | 
    
         
            +
            Metrics/AbcSize:
         
     | 
| 
      
 6 
     | 
    
         
            +
              Max: 50
         
     | 
| 
      
 7 
     | 
    
         
            +
              CountRepeatedAttributes: false
         
     | 
| 
      
 8 
     | 
    
         
            +
            Metrics/CyclomaticComplexity:
         
     | 
| 
      
 9 
     | 
    
         
            +
              Max: 10
         
     | 
| 
      
 10 
     | 
    
         
            +
            Metrics/ClassLength:
         
     | 
| 
      
 11 
     | 
    
         
            +
              Max: 500
         
     | 
| 
      
 12 
     | 
    
         
            +
            Metrics/ParameterLists:
         
     | 
| 
      
 13 
     | 
    
         
            +
              Max: 5
         
     | 
| 
      
 14 
     | 
    
         
            +
              MaxOptionalParameters: 5
         
     | 
| 
      
 15 
     | 
    
         
            +
            Metrics/PerceivedComplexity:
         
     | 
| 
      
 16 
     | 
    
         
            +
              Max: 10
         
     |