any_mail_finder 0.1.0

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.
@@ -0,0 +1,4 @@
1
+ module AnyMailFinder
2
+ class Error < StandardError
3
+ end
4
+ end
@@ -0,0 +1,15 @@
1
+ module AnyMailFinder
2
+ class Health < Base
3
+ API_PATH = "/health.json".freeze
4
+
5
+ def execute
6
+ get path, {}
7
+ end
8
+
9
+ private
10
+
11
+ def path
12
+ API_HOST + API_PATH
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module AnyMailFinder
2
+ class HitsLeft < Base
3
+ API_PATH = "/account/hits_left.json".freeze
4
+
5
+ def execute
6
+ get path, {}
7
+ end
8
+
9
+ private
10
+
11
+ def path
12
+ API_HOST + API_PATH
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,36 @@
1
+ module AnyMailFinder
2
+ class Person < Base
3
+ API_PATH = "/search/person.json".freeze
4
+ ACCEPTABLE_KEYS = [
5
+ :full_name,
6
+ :first_name,
7
+ :last_name,
8
+ :domain,
9
+ :company_name,
10
+ ].freeze
11
+
12
+ attr_accessor :options
13
+ attr_accessor *ACCEPTABLE_KEYS
14
+
15
+ def initialize(options = {})
16
+ self.options = options.with_indifferent_access
17
+ ACCEPTABLE_KEYS.each do |key|
18
+ self.public_send("#{key}=", options[key])
19
+ end
20
+ end
21
+
22
+ def find_email
23
+ post path, query_params
24
+ end
25
+
26
+ private
27
+
28
+ def query_params
29
+ ACCEPTABLE_KEYS.inject({}) { |hash, key| hash.merge!(key => options[key]) }
30
+ end
31
+
32
+ def path
33
+ API_HOST + API_PATH
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,3 @@
1
+ module AnyMailFinder
2
+ VERSION = "0.1.0".freeze
3
+ end
metadata ADDED
@@ -0,0 +1,141 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: any_mail_finder
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Mohit Jain
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-02-22 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.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
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: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: httparty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.12.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.12.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: recursive-open-struct
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ description: Ruby client for AnyMailFinder API
84
+ email:
85
+ - jain.mohit27@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".DS_Store"
91
+ - ".gitignore"
92
+ - ".hound.yml"
93
+ - ".rspec"
94
+ - ".rubocop.yml"
95
+ - ".travis.yml"
96
+ - CODE_OF_CONDUCT.md
97
+ - Gemfile
98
+ - Gemfile.lock
99
+ - LICENSE.txt
100
+ - README.md
101
+ - Rakefile
102
+ - any_mail_finder.gemspec
103
+ - bin/console
104
+ - bin/setup
105
+ - lib/any_mail_finder.rb
106
+ - lib/any_mail_finder/base.rb
107
+ - lib/any_mail_finder/company.rb
108
+ - lib/any_mail_finder/configuration/base.rb
109
+ - lib/any_mail_finder/domain.rb
110
+ - lib/any_mail_finder/email.rb
111
+ - lib/any_mail_finder/error.rb
112
+ - lib/any_mail_finder/health.rb
113
+ - lib/any_mail_finder/hits_left.rb
114
+ - lib/any_mail_finder/person.rb
115
+ - lib/any_mail_finder/version.rb
116
+ homepage: https://github.com/mohitjain/any_mail_finder
117
+ licenses:
118
+ - MIT
119
+ metadata:
120
+ allowed_push_host: https://rubygems.org
121
+ post_install_message:
122
+ rdoc_options: []
123
+ require_paths:
124
+ - lib
125
+ required_ruby_version: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ requirements: []
136
+ rubyforge_project:
137
+ rubygems_version: 2.6.14
138
+ signing_key:
139
+ specification_version: 4
140
+ summary: Ruby client for AnyMailFinder API
141
+ test_files: []