lushao 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 13d486cd8339861a472ba93888bf1a75afad95fe
4
+ data.tar.gz: 2a9e12576b7183d865d7c89129ac3110ee0600e2
5
+ SHA512:
6
+ metadata.gz: 93e920feb6f8b525c5778677a7610cd0cf63789deb7448d5b687f0664fd5229ce4855c4ece383cfa0e819c900bd058fd6c56065064eab268a84b5c2dff32ce96
7
+ data.tar.gz: 494d918df278635dd29aff71159ad78164d444fb58392f4cfe14be51c38edc66beef1c8ed84a23ae280a34430918633bb7cbb38b277d13723500feb367c5f785
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in lushao.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "lushao"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
data/lib/lushao/api.rb ADDED
@@ -0,0 +1,31 @@
1
+ require 'uri'
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'person'))
4
+
5
+
6
+ module Lushao
7
+ class Api
8
+ attr_reader :key
9
+
10
+ def initialize(key)
11
+ @key = key
12
+ end
13
+
14
+ def find_person_with_company(company, first_name, last_name)
15
+ Lushao::Person.new(company, first_name, last_name,0, self.key).get_results
16
+ end
17
+
18
+ def find_person_with_domain(domain, first_name, last_name)
19
+ Lushao::Person.new(domain, first_name, last_name,1, self.key).get_results
20
+ end
21
+
22
+ def find_company_with_name(name)
23
+ Lushao::Person.new(name,0, self.key).get_results
24
+ end
25
+
26
+ def find_company_with_domain(domain)
27
+ Lushao::Person.new(domain,1, self.key).get_results
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,36 @@
1
+ require 'faraday'
2
+ require 'json'
3
+
4
+ API_PERSON_URL = 'https://api.lusha.co/person?'
5
+
6
+ module Lushao
7
+ class Person
8
+ attr_reader :emailAddresses, :phoneNumbers
9
+
10
+ def initialize(company_or_domain, first_name, last_name,flag_company_or_domain, key)
11
+ @company_or_domain = company_or_domain
12
+ @first_name = first_name
13
+ @last_name = last_name
14
+ @flag_company_or_domain=flag_company_or_domain
15
+ @key = key
16
+ end
17
+
18
+ def get_results
19
+ response = apiresponse
20
+ Struct.new(*response.keys).new(*response.values) unless response.empty?
21
+ end
22
+
23
+ private
24
+
25
+ def apiresponse
26
+ if @flag_company_or_domain == 0
27
+ url = URI.parse(URI.encode("#{API_PERSON_URL}firstName=#{@first_name}&lastName=#{@last_name}&company=#{@company_or_domain}"))
28
+ else
29
+ url = URI.parse(URI.encode("#{API_PERSON_URL}firstName=#{@first_name}&lastName=#{@last_name}&domain=#{@company_or_domain}"))
30
+ end
31
+
32
+ response = Faraday.new(url, :headers => {'api_key' => @key}).get
33
+ response.success? ? JSON.parse(response.body, {symbolize_names: true}) : []
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,3 @@
1
+ module Lushao
2
+ VERSION = "0.0.1"
3
+ end
data/lib/lushao.rb ADDED
@@ -0,0 +1,10 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), 'lushao/api'))
2
+ require File.expand_path(File.join(File.dirname(__FILE__), 'lushao/version'))
3
+
4
+ module Lushao
5
+ extend self
6
+
7
+ def new(key)
8
+ Api.new(key)
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lushao
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Louis Perello
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2019-08-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.8'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.8'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: json
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: 'A tiny ruby wrapper around Lusha API. The Lusha API enables you to enrich
70
+ and authenticate the business profiles you utilize and offer. '
71
+ email:
72
+ - contact@lokhi.xyz
73
+ executables: []
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - Gemfile
78
+ - Rakefile
79
+ - bin/console
80
+ - bin/setup
81
+ - lib/lushao.rb
82
+ - lib/lushao/api.rb
83
+ - lib/lushao/person.rb
84
+ - lib/lushao/version.rb
85
+ homepage: https://github.com/lokhi/lushao.git
86
+ licenses:
87
+ - MIT
88
+ metadata:
89
+ source_code_uri: https://github.com/lokhi/lushao.git
90
+ post_install_message:
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 1.9.3
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirements: []
105
+ rubyforge_project:
106
+ rubygems_version: 2.6.14
107
+ signing_key:
108
+ specification_version: 4
109
+ summary: A tiny ruby wrapper around Lusha API
110
+ test_files: []