lib/crunchbase/utilities/entity_endpoints.rb in crunchbase4-0.1.4 vs lib/crunchbase/utilities/entity_endpoints.rb in crunchbase4-0.1.5

- old
+ new

@@ -1,7 +1,9 @@ # frozen_string_literal: true +require_relative '../errors' + module Crunchbase # Utilities module Utilities # All Entity API endpoints module EntityEndpoints @@ -13,92 +15,92 @@ # card_id: A card to include on the resulting entity # order: Field name with order direction (asc/desc) # limit: Number of rows to return. Default is 100, min is 1, max is 100. # Lookup an Organization or single card - def organization(entity_id, card_id: nil) - lookup_for('organization', entity_id, card_id) + def organization(entity_id, **card_args) + lookup_for('organization', entity_id, card_args) end # Lookup Organization's all cards def organization_cards(entity_id, cards: []) entities('organization', entity_id).fetch_cards(cards) end # Lookup a Person or single card - def person(entity_id, card_id: nil) - lookup_for('person', entity_id, card_id) + def person(entity_id, **card_args) + lookup_for('person', entity_id, card_args) end # Lookup Person's all cards def person_cards(entity_id, cards: []) entities('person', entity_id).fetch_cards(cards) end # Lookup a Funding Round or single card - def funding_round(entity_id, card_id: nil) - lookup_for('funding_round', entity_id, card_id) + def funding_round(entity_id, **card_args) + lookup_for('funding_round', entity_id, card_args) end # Lookup Funding Round's all cards def funding_round_cards(entity_id, cards: []) entities('funding_round', entity_id).fetch_cards(cards) end # Lookup an Acquisition or Single card - def acquisition(entity_id, card_id: nil) - lookup_for('acquisition', entity_id, card_id) + def acquisition(entity_id, **card_args) + lookup_for('acquisition', entity_id, card_args) end # Lookup Acquisition's all card def acquisition_cards(entity_id, cards: []) entities('acquisition', entity_id).fetch_cards(cards) end # Lookup an Investment or Single card - def investment(entity_id, card_id: nil) - lookup_for('investment', entity_id, card_id) + def investment(entity_id, **card_args) + lookup_for('investment', entity_id, card_args) end # Lookup Investment's all card def investment_cards(entity_id, cards: []) entities('investment', entity_id).fetch_cards(cards) end # Lookup an PressReference or Single card - def press_reference(entity_id, card_id: nil) - lookup_for('press_reference', entity_id, card_id) + def press_reference(entity_id, **card_args) + lookup_for('press_reference', entity_id, card_args) end # Lookup PressReference's all card def press_reference_cards(entity_id, cards: []) entities('press_reference', entity_id).fetch_cards(cards) end # Lookup an Ipo or Single card - def ipo(entity_id, card_id: nil) - lookup_for('ipo', entity_id, card_id) + def ipo(entity_id, **card_args) + lookup_for('ipo', entity_id, card_args) end # Lookup Ipo's all card def ipo_cards(entity_id, cards: []) entities('ipo', entity_id).fetch_cards(cards) end # Lookup an fund or Single card - def fund(entity_id, card_id: nil) - lookup_for('fund', entity_id, card_id) + def fund(entity_id, **card_args) + lookup_for('fund', entity_id, card_args) end # Lookup fund's all card def fund_cards(entity_id, cards: []) entities('fund', entity_id).fetch_cards(cards) end # Lookup an fund or Single card - def ownership(entity_id, card_id: nil) - lookup_for('ownership', entity_id, card_id) + def ownership(entity_id, **card_args) + lookup_for('ownership', entity_id, card_args) end # Lookup fund's all card def ownership_cards(entity_id, cards: []) entities('ownership', entity_id).fetch_cards(cards) @@ -108,14 +110,16 @@ def entities(entity_type, entity_id) Crunchbase::Entities::Client.new(entity_id, entity_type) end - def lookup_for(entity_type, entity_id, card_id) + def lookup_for(entity_type, entity_id, **card_args) kobject = entities(entity_type, entity_id) + + card_id = card_args&.delete(:card_id) return kobject.fetch if card_id.nil? - kobject.cards(card_id) + kobject.cards(card_id, card_args) end end end end