crunchbase4 0.1.2 → 0.1.7
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/CHANGELOG.md +45 -6
- data/Gemfile.lock +1 -1
- data/README.md +297 -78
- data/crunchbase4.gemspec +2 -2
- data/lib/crunchbase.rb +1 -1
- data/lib/crunchbase/autocompletes/client.rb +2 -2
- data/lib/crunchbase/deleted_entities/client.rb +69 -0
- data/lib/crunchbase/entities/client.rb +24 -12
- data/lib/crunchbase/models.rb +8 -1
- data/lib/crunchbase/models/address.rb +36 -0
- data/lib/crunchbase/models/concerns/entity.rb +54 -0
- data/lib/crunchbase/models/concerns/mappings.rb +37 -0
- data/lib/crunchbase/models/deleted_entity.rb +26 -0
- data/lib/crunchbase/models/event_appearance.rb +39 -0
- data/lib/crunchbase/models/fund.rb +43 -0
- data/lib/crunchbase/models/job.rb +42 -0
- data/lib/crunchbase/models/organization.rb +10 -0
- data/lib/crunchbase/models/ownership.rb +39 -0
- data/lib/crunchbase/models/principal.rb +112 -0
- data/lib/crunchbase/utilities/autocomplete.rb +5 -20
- data/lib/crunchbase/utilities/deleted_entities.rb +33 -1
- data/lib/crunchbase/utilities/entity_endpoints.rb +52 -28
- data/lib/crunchbase/utilities/request.rb +10 -2
- data/lib/crunchbase/utilities/response.rb +20 -1
- data/lib/crunchbase/utilities/veriables.rb +1 -1
- data/lib/crunchbase/version.rb +1 -1
- metadata +16 -7
- data/lib/crunchbase/models/entity.rb +0 -32
| @@ -56,11 +56,30 @@ module Crunchbase | |
| 56 56 | 
             
                    value = data.dig(name)
         | 
| 57 57 |  | 
| 58 58 | 
             
                    return value if value.nil? || value.is_a?(String)
         | 
| 59 | 
            -
                    return value | 
| 59 | 
            +
                    return parse_items(value, name) if value.is_a?(Array) && value[0].is_a?(Hash) && value[0].keys.include?('value')
         | 
| 60 60 | 
             
                    return value.dig('value') if value.is_a?(Hash) && value.keys.include?('value')
         | 
| 61 61 |  | 
| 62 62 | 
             
                    value
         | 
| 63 63 | 
             
                  end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
                  def parse_items(items, field_name)
         | 
| 66 | 
            +
                    return items.collect { |e| e.dig('value') } unless field_name == 'activity_entities'
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                    # Sepcial case for activity_entities
         | 
| 69 | 
            +
                    items.each_with_object([]) do |item, objects|
         | 
| 70 | 
            +
                      card_model = case item['entity_def_id']
         | 
| 71 | 
            +
                                   when 'person' then ::Crunchbase::Models::Person
         | 
| 72 | 
            +
                                   when 'organization' then ::Crunchbase::Models::Organization
         | 
| 73 | 
            +
                                   end
         | 
| 74 | 
            +
                      # Alias: value is name
         | 
| 75 | 
            +
                      item['name'] ||= item['value']
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                      next if card_model.nil?
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                      new_card_instance = card_model.new
         | 
| 80 | 
            +
                      objects << dynamic_attributes(new_card_instance, new_card_instance.basis_fields, item)
         | 
| 81 | 
            +
                    end
         | 
| 82 | 
            +
                  end
         | 
| 64 83 | 
             
                end
         | 
| 65 84 | 
             
              end
         | 
| 66 85 | 
             
            end
         | 
| @@ -142,7 +142,7 @@ module Crunchbase | |
| 142 142 | 
             
                    'online_and_on_campus' => 'Online and On Campus'
         | 
| 143 143 | 
             
                  }.freeze
         | 
| 144 144 |  | 
| 145 | 
            -
                   | 
| 145 | 
            +
                  SCHOOL_PROGRAMS = {
         | 
| 146 146 | 
             
                    'bootcamp' => 'Bootcamp',
         | 
| 147 147 | 
             
                    'community_college' => 'Community College',
         | 
| 148 148 | 
             
                    'four_year_university' => 'Four Year University',
         | 
    
        data/lib/crunchbase/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: crunchbase4
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Encore Shao
         | 
| 8 | 
            -
            autorequire: | 
| 8 | 
            +
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020- | 
| 11 | 
            +
            date: 2020-12-02 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: faraday
         | 
| @@ -108,7 +108,7 @@ dependencies: | |
| 108 108 | 
             
                - - ">="
         | 
| 109 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 110 | 
             
                    version: '0'
         | 
| 111 | 
            -
            description: 'Crunchbase is a ruby wrapper base on Crunchbase V4 API.  | 
| 111 | 
            +
            description: 'Crunchbase is a ruby wrapper base on Crunchbase V4 API. it provides
         | 
| 112 112 | 
             
              easy to get the API data by each endpoint. '
         | 
| 113 113 | 
             
            email:
         | 
| 114 114 | 
             
            - encore@ekohe.com
         | 
| @@ -135,21 +135,30 @@ files: | |
| 135 135 | 
             
            - lib/crunchbase/autocompletes/client.rb
         | 
| 136 136 | 
             
            - lib/crunchbase/client.rb
         | 
| 137 137 | 
             
            - lib/crunchbase/config.rb
         | 
| 138 | 
            +
            - lib/crunchbase/deleted_entities/client.rb
         | 
| 138 139 | 
             
            - lib/crunchbase/entities.rb
         | 
| 139 140 | 
             
            - lib/crunchbase/entities/client.rb
         | 
| 140 141 | 
             
            - lib/crunchbase/errors.rb
         | 
| 141 142 | 
             
            - lib/crunchbase/models.rb
         | 
| 142 143 | 
             
            - lib/crunchbase/models/acquisition.rb
         | 
| 144 | 
            +
            - lib/crunchbase/models/address.rb
         | 
| 143 145 | 
             
            - lib/crunchbase/models/autocomplete_entity.rb
         | 
| 144 146 | 
             
            - lib/crunchbase/models/category.rb
         | 
| 145 147 | 
             
            - lib/crunchbase/models/category_group.rb
         | 
| 146 | 
            -
            - lib/crunchbase/models/entity.rb
         | 
| 148 | 
            +
            - lib/crunchbase/models/concerns/entity.rb
         | 
| 149 | 
            +
            - lib/crunchbase/models/concerns/mappings.rb
         | 
| 150 | 
            +
            - lib/crunchbase/models/deleted_entity.rb
         | 
| 151 | 
            +
            - lib/crunchbase/models/event_appearance.rb
         | 
| 152 | 
            +
            - lib/crunchbase/models/fund.rb
         | 
| 147 153 | 
             
            - lib/crunchbase/models/funding_round.rb
         | 
| 148 154 | 
             
            - lib/crunchbase/models/investment.rb
         | 
| 149 155 | 
             
            - lib/crunchbase/models/ipo.rb
         | 
| 156 | 
            +
            - lib/crunchbase/models/job.rb
         | 
| 150 157 | 
             
            - lib/crunchbase/models/organization.rb
         | 
| 158 | 
            +
            - lib/crunchbase/models/ownership.rb
         | 
| 151 159 | 
             
            - lib/crunchbase/models/person.rb
         | 
| 152 160 | 
             
            - lib/crunchbase/models/press_reference.rb
         | 
| 161 | 
            +
            - lib/crunchbase/models/principal.rb
         | 
| 153 162 | 
             
            - lib/crunchbase/searches.rb
         | 
| 154 163 | 
             
            - lib/crunchbase/searches/client.rb
         | 
| 155 164 | 
             
            - lib/crunchbase/utilities.rb
         | 
| @@ -170,7 +179,7 @@ metadata: | |
| 170 179 | 
             
              allowed_push_host: https://rubygems.org
         | 
| 171 180 | 
             
              homepage_uri: https://github.com/ekohe/crunchbase4
         | 
| 172 181 | 
             
              source_code_uri: https://github.com/ekohe/crunchbase4
         | 
| 173 | 
            -
              changelog_uri: https://github.com/ekohe/crunchbase4/CHANGELOG.md
         | 
| 182 | 
            +
              changelog_uri: https://github.com/ekohe/crunchbase4/blob/master/CHANGELOG.md
         | 
| 174 183 | 
             
            post_install_message: Thanks for installing!
         | 
| 175 184 | 
             
            rdoc_options: []
         | 
| 176 185 | 
             
            require_paths:
         | 
| @@ -187,7 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 187 196 | 
             
                  version: '0'
         | 
| 188 197 | 
             
            requirements: []
         | 
| 189 198 | 
             
            rubygems_version: 3.0.3
         | 
| 190 | 
            -
            signing_key: | 
| 199 | 
            +
            signing_key:
         | 
| 191 200 | 
             
            specification_version: 4
         | 
| 192 201 | 
             
            summary: Crunchbase is a ruby wrapper base on Crunchbase V4 API
         | 
| 193 202 | 
             
            test_files: []
         | 
| @@ -1,32 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require_relative '../utilities/response'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module Crunchbase
         | 
| 6 | 
            -
              # Get the Organization data from API
         | 
| 7 | 
            -
              module Models
         | 
| 8 | 
            -
                # Root
         | 
| 9 | 
            -
                class Entity
         | 
| 10 | 
            -
                  include ::Crunchbase::Utilities::Response
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                  def fields
         | 
| 13 | 
            -
                    field_ids.map(&:to_sym)
         | 
| 14 | 
            -
                  end
         | 
| 15 | 
            -
             | 
| 16 | 
            -
                  def parse_response(response, request_field_ids = [])
         | 
| 17 | 
            -
                    extract_fields = (request_field_ids.empty? ? field_ids : request_field_ids)
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                    dynamic_attributes(self, extract_fields, response.dig('properties'))
         | 
| 20 | 
            -
                  end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                  def parse_cards_response(response)
         | 
| 23 | 
            -
                    parse_response(response, response.dig('properties'))
         | 
| 24 | 
            -
                    # response.dig('cards')
         | 
| 25 | 
            -
                  end
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                  def as_json
         | 
| 28 | 
            -
                    fields.each_with_object({}) { |item, hash| hash[item] = send(item) }
         | 
| 29 | 
            -
                  end
         | 
| 30 | 
            -
                end
         | 
| 31 | 
            -
              end
         | 
| 32 | 
            -
            end
         |