Class: AngelApiGem::AngelApi::Api
- Inherits:
-
Object
- Object
- AngelApiGem::AngelApi::Api
- Defined in:
- app/models/angel_api_gem/angel_api.rb
Instance Method Summary collapse
- #api_request(api_path) ⇒ Object
-
#initialize ⇒ Api
constructor
A new instance of Api.
- #search(query, type = "Startup") ⇒ Object
- #startup_detail(id) ⇒ Object
- #startup_detail_from_url(url) ⇒ Object
- #startup_roles(id, page = 1) ⇒ Object
Constructor Details
#initialize ⇒ Api
Returns a new instance of Api.
4 5 6 7 8 |
# File 'app/models/angel_api_gem/angel_api.rb', line 4 def initialize @uri = URI.parse("https://api.angel.co/1/") @http = Net::HTTP.new(@uri.host, @uri.port) @http.use_ssl = true end |
Instance Method Details
#api_request(api_path) ⇒ Object
10 11 12 13 |
# File 'app/models/angel_api_gem/angel_api.rb', line 10 def api_request(api_path) response = @http.request(Net::HTTP::Get.new(@uri.request_uri + api_path)) response.code == '200' ? JSON.parse(response.body) : nil end |
#search(query, type = "Startup") ⇒ Object
15 16 17 18 19 20 21 |
# File 'app/models/angel_api_gem/angel_api.rb', line 15 def search(query,type="Startup") # type can be User, Startup, MarketTag or LocationTag types = %w[User Startup MarketTag LocationTag] raise "type not one of User, Startup, MarketTag or LocationTag" unless types.include?(type.to_s.capitalize) path = URI.encode("search?query=#{query}&type=#{type.to_s.capitalize}") result = api_request(path) end |
#startup_detail(id) ⇒ Object
23 24 25 26 |
# File 'app/models/angel_api_gem/angel_api.rb', line 23 def startup_detail(id) path = URI.encode("startups/#{id}") api_request(path.strip) end |
#startup_detail_from_url(url) ⇒ Object
28 29 30 31 |
# File 'app/models/angel_api_gem/angel_api.rb', line 28 def startup_detail_from_url(url) path = URI.encode("startups/search.json?domain=#{url}") detail_list = api_request(path.strip) end |
#startup_roles(id, page = 1) ⇒ Object
33 34 35 36 |
# File 'app/models/angel_api_gem/angel_api.rb', line 33 def startup_roles(id, page=1) path = URI.encode("startups/#{id}/roles?page=#{page}") detail_list = api_request(path.strip) end |