trestle-data 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
+ SHA256:
3
+ metadata.gz: 3099fc2b02b613024f9d089b1721e72d9c7e3e04a6448f8d6c5d594e81462636
4
+ data.tar.gz: bc5cc090f2b2c8b05af4a74bee0619769d670729b4f02ca3d57d1c6e37a6f5f8
5
+ SHA512:
6
+ metadata.gz: c48d0821da3e0f1c29c7e6a375ea34d3af16ba9ea7cce896a7ecfe72931dc36317959002d1508dd7092ccdf6d2992e06487a2e417ccd3923eb53d6fd3c70ba31
7
+ data.tar.gz: 9bb4ffafd68bc5540dd41b6d96bd4c40b891135b6aa4c798c43b4d4e7e941aa35ea2e24f854fa31846a131a1ab03a15d186e190d54be609d029e8ded538ab310
@@ -0,0 +1,20 @@
1
+ require 'trestle-data/api/util'
2
+
3
+ module TrestleData
4
+ module API
5
+ module ReversePhone
6
+ include TrestleData::API::Util
7
+
8
+ API_VERSION = '3.0'
9
+
10
+ def reverse_lookup(phone_number, options = {})
11
+ call('phone', API_VERSION, :get, {phone: phone_number, api_key: api_key}.merge(options))
12
+ end
13
+
14
+ def api_key_valid?
15
+ true unless api_key.blank?
16
+ false
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,43 @@
1
+ require 'net/http'
2
+ require 'json'
3
+
4
+ module TrestleData
5
+ module API
6
+ module Util
7
+
8
+ include TrestleData::Configurable
9
+
10
+ ROOT_URL = 'https://api.trestleiq.com'
11
+
12
+ def call(path, api_version = "3.0", type = :get, params = {})
13
+
14
+ uri = URI.parse(build_url(path, api_version))
15
+ uri.query = URI.encode_www_form(params)
16
+
17
+ http = Net::HTTP.new(uri.host, uri.port)
18
+
19
+ http.use_ssl = true if uri.scheme.upcase == "HTTPS"
20
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE if uri.scheme.upcase == "HTTPS"
21
+
22
+ case type
23
+ when :get
24
+ request = Net::HTTP::Get.new(uri.request_uri)
25
+ when :post
26
+ request = Net::HTTP::Post.new(uri.request_uri)
27
+ end
28
+
29
+ response = http.request(request)
30
+ JSON.parse(response.body)
31
+ end
32
+
33
+ def build_url(path, api_version)
34
+ "#{ File.join(ROOT_URL, api_version, path) }"
35
+ end
36
+
37
+ def phone_number_valid?(phone_number)
38
+ return true
39
+ end
40
+
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,16 @@
1
+ require 'trestle-data/api/util'
2
+ require 'trestle-data/api/reverse_phone'
3
+
4
+ module TrestleData
5
+
6
+ class Client
7
+ include TrestleData::Configurable
8
+ include TrestleData::API::ReversePhone
9
+
10
+ def initialize(options={})
11
+ TrestleData::Configurable.keys.each do |key|
12
+ instance_variable_set(:"@#{key}", options[key] || TrestleData.instance_variable_get(:"@#{key}"))
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,25 @@
1
+
2
+ module TrestleData
3
+ module Configurable
4
+
5
+ attr_writer :api_key
6
+
7
+ class << self
8
+ def keys
9
+ @keys ||= [
10
+ :api_key
11
+ ]
12
+ end
13
+ end
14
+
15
+ def configure
16
+ yield self
17
+ self
18
+ end
19
+
20
+
21
+ def api_key
22
+ @api_key
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,10 @@
1
+ require 'trestle-data/configurable'
2
+ require 'trestle-data/client'
3
+
4
+ module TrestleData
5
+
6
+ class << self
7
+ include TrestleData::Configurable
8
+ end
9
+
10
+ end
@@ -0,0 +1,6 @@
1
+
2
+ require 'spec_helper'
3
+
4
+ describe WhitepagesPro::API::PhoneIntelligence do
5
+
6
+ end
@@ -0,0 +1,6 @@
1
+
2
+ require 'spec_helper'
3
+
4
+ describe WhitepagesPro::API::ReversePhone do
5
+
6
+ end
@@ -0,0 +1,6 @@
1
+
2
+ require 'spec_helper'
3
+
4
+ describe WhitepagesPro::API::Util do
5
+
6
+ end
@@ -0,0 +1,26 @@
1
+
2
+ require 'simplecov'
3
+
4
+ SimpleCov.start do
5
+ add_filter {|sf| sf.filename !~ /\/lib\//}
6
+ end
7
+
8
+ require 'trestle-data'
9
+
10
+ # Require the debugger, if present.
11
+ begin
12
+ require 'debugger'
13
+ rescue LoadError
14
+ module Kernel
15
+ def debugger(*args, &block)
16
+ STDERR.puts "*** Debugger not available."
17
+ end
18
+ end
19
+ end
20
+
21
+
22
+ class TestAPIKeys
23
+ def TestAPIKeys.get_reverse_phone_key
24
+ YAML.load_file('api_keys.yml')["reverse_phone_key"]
25
+ end
26
+ end
metadata ADDED
@@ -0,0 +1,51 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: trestle-data
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jonathan De Jong
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-10-12 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: This gem is for interacting with the Trestle API
14
+ email: ''
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/trestle-data.rb
20
+ - lib/trestle-data/api/reverse_phone.rb
21
+ - lib/trestle-data/api/util.rb
22
+ - lib/trestle-data/client.rb
23
+ - lib/trestle-data/configurable.rb
24
+ - spec/api/phone_intelligence_spec.rb
25
+ - spec/api/reverse_phone_spec.rb
26
+ - spec/api/util_spec.rb
27
+ - spec/spec_helper.rb
28
+ homepage: http://rubygems.org/gems/trestle-data
29
+ licenses:
30
+ - MIT
31
+ metadata: {}
32
+ post_install_message:
33
+ rdoc_options: []
34
+ require_paths:
35
+ - lib
36
+ required_ruby_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ required_rubygems_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ requirements: []
47
+ rubygems_version: 3.0.9
48
+ signing_key:
49
+ specification_version: 4
50
+ summary: Trestle Data
51
+ test_files: []