tenios-api 0.1.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8f391faf118141ffe8aa25f8b03268fe17a042725743f38b01b54a3cf7e6fd7
4
- data.tar.gz: 52ff37ed16b3d624c7e5bc637890dd15581f8d0fb38360f0c314e5b05f9f25e8
3
+ metadata.gz: c8f4b1e8779c3b969fddafc92b7291a802319c6f581097510f59749708eadf70
4
+ data.tar.gz: edcf7cc2aad2bac65b6e088e34f8c735a79309f6e36adf676433a78fa3c75967
5
5
  SHA512:
6
- metadata.gz: fb2864919b8829eae4b1ef6af31e1aa01f25803a2d1e3db1145bf08a7767cf0b3b80ba685322382e6f7d6fc4792e99becb0069470755777e9b7a9ddd816df3a3
7
- data.tar.gz: 64dfb553c6c1c830748b5033054b11feaee46388266ae1827e08e054755988811e07f2a84402d516d4d3dda3e7cd793e1e184038e5b3f9d1e4d9a4df04262c27
6
+ metadata.gz: 90e98323495cbc63cd7bf8f024ee0b245dd3ee4d2c9538beeacf01aae55a1527a25d4f5a7b02e15741fdb5a74bde3074f1740ebce92351764f45df0f07b9ce9b
7
+ data.tar.gz: f16d05a78e70aee4af849720d0a30b2c7caeac4a2d315ae696b7c10cc25075d4c4ab7a49ab18554b9552891f062556ba2f8c1c0364331350289dfcbfaae6da94
data/.circleci/config.yml CHANGED
@@ -1,54 +1,34 @@
1
- ruby: &ruby
2
- image: carwow/ruby-ci:2.5.3
3
-
4
- version: 2
1
+ version: 2.1
5
2
 
6
3
  jobs:
7
- bundle:
8
- working_directory: ~/tenios-api
4
+ test:
5
+ parameters:
6
+ ruby_version:
7
+ type: string
9
8
  docker:
10
- - *ruby
9
+ - image: cimg/ruby:<< parameters.ruby_version >>
11
10
  steps:
12
11
  - checkout
13
12
  - restore_cache:
14
- keys:
15
- - bundle-{{ checksum "Gemfile.lock" }}
16
- - bundle-
17
- - run: |
18
- bundle config --local path vendor/bundle &&
19
- bundle check || bundle install --jobs=4 --retry=3
13
+ keys:
14
+ - bundle
15
+ - run:
16
+ name: bundle update
17
+ command: |
18
+ bundle config --local path vendor/bundle
19
+ bundle update --jobs=4 --retry=3
20
+ bundle clean --force
20
21
  - save_cache:
21
- key: bundle-{{ checksum "Gemfile.lock" }}
22
- paths: [~/tenios-api/vendor/bundle]
23
- - persist_to_workspace:
24
- root: '~'
25
- paths: [tenios-api]
26
-
27
- rubocop:
28
- working_directory: ~/tenios-api
29
- docker:
30
- - *ruby
31
- steps:
32
- - attach_workspace:
33
- at: '~'
34
- - run: bundle exec rubocop
35
-
36
- tests:
37
- working_directory: ~/tenios-api
38
- docker:
39
- - *ruby
40
- steps:
41
- - attach_workspace:
42
- at: '~'
43
- - run: |
44
- bundle exec rspec
22
+ key: bundle
23
+ paths: [~/project/vendor/bundle]
24
+ - run: bundle exec rake
45
25
 
46
26
  workflows:
47
27
  version: 2
48
- build:
28
+ test:
49
29
  jobs:
50
- - bundle
51
- - rubocop:
52
- requires: [bundle]
53
- - tests:
54
- requires: [bundle]
30
+ - test:
31
+ matrix:
32
+ parameters:
33
+ ruby_version:
34
+ - "2.7"
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /Gemfile.lock
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
data/.rubocop.yml CHANGED
@@ -5,3 +5,9 @@ inherit_gem:
5
5
  Naming/FileName:
6
6
  Exclude:
7
7
  - lib/tenios-api.rb
8
+
9
+ RSpec/VerifiedDoubles:
10
+ Enabled: false
11
+
12
+ Style/FrozenStringLiteralComment:
13
+ Enabled: true
data/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ ## [1.0.0]
2
+
3
+ ### Changed
4
+
5
+ * Tenios API URL is now https://api.tenios.com
6
+ * Ruby ~> 2.7
7
+
8
+ ### Misc
9
+
10
+ * Internal refactoring (no breaking changes)
11
+
12
+ [1.0.0]: https://github.com/carwow/deals_service_client/compare/v0.4.0...v1.0.0
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
2
4
 
3
5
  # Specify your gem's dependencies in tenios-api.gemspec
4
6
  gemspec
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Tenios API Client ☎️
2
2
 
3
- Get Call Detail Records (CDRs) from [Tenios API].
3
+ HTTP client for [Tenios API].
4
4
 
5
- [Tenios API]: https://www.tenios.de/en/doc/api-cdr-request
5
+ [Tenios API]: https://www.tenios.de/doc-topic/voice-api
6
6
 
7
7
  ## Installation
8
8
 
@@ -18,11 +18,63 @@ gem 'tenios-api'
18
18
  require 'tenios-api'
19
19
 
20
20
  client = Tenios::API::Client.new(access_key: ENV['TENIOS_ACCESS_KEY'])
21
+ ```
22
+
23
+ ### Call Detail Records
24
+
25
+ [Tenios documentation](https://www.tenios.de/en/doc/api-cdr-request)
26
+
27
+ #### Retrive
21
28
 
22
- client.cdrs(Time.new(2019, 2, 1)..Time.new(2019, 2, 2))
29
+ ```ruby
30
+ client.call_detail_records.retrieve(Time.utc(2019, 2, 1)..Time.utc(2019, 2, 2))
23
31
  # returns lazy Enumerator with the records
24
32
  ```
25
33
 
34
+ ### Number Order
35
+
36
+ [Tenios documentation](https://www.tenios.de/en/doc/api-number-order)
37
+
38
+ #### Verification
39
+
40
+ ```ruby
41
+ # check Tenios documentation for verification options
42
+ verification_id = client.verification.create(options)['verification_id']
43
+ ```
44
+
45
+ #### Order
46
+
47
+ ```ruby
48
+ order_id = client.number.order(verification_id: verification_id)['order_id']
49
+ ```
50
+
51
+ #### Cancel
52
+
53
+ ```ruby
54
+ client.number.cancel(phone_number: '+49888888')
55
+ ```
56
+
57
+ ### Record Call
58
+
59
+ [Tenios documentation](https://www.tenios.de/en/doc/api-call-recording)
60
+
61
+ #### Start
62
+
63
+ ```ruby
64
+ recording_uuid = client.record_call.start(
65
+ call_uuid: '9315b018-86bd-424f-a086-7095ce427130'
66
+ )['recording_uuid']
67
+ ```
68
+
69
+ #### Stop
70
+
71
+ ```ruby
72
+ client.record_call.stop(
73
+ call_uuid: '9315b018-86bd-424f-a086-7095ce427130',
74
+ recording_uuid: recording_uuid
75
+ )
76
+ ```
77
+
26
78
  ## Contributing
27
79
 
28
80
  Bug reports and pull requests are welcome on GitHub at https://github.com/carwow/tenios-api-ruby.
data/Rakefile CHANGED
@@ -1,6 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rspec/core/rake_task"
5
+ require "standard/rake"
3
6
 
4
7
  RSpec::Core::RakeTask.new(:spec)
5
8
 
6
- task :default => :spec
9
+ task default: [:spec, :standard]
data/bin/console ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "tenios-api"
5
+ require "pry"
6
+
7
+ Pry.start
data/lib/tenios-api.rb CHANGED
@@ -1 +1,9 @@
1
- require 'tenios/api'
1
+ # frozen_string_literal: true
2
+
3
+ require "zeitwerk"
4
+
5
+ Zeitwerk::Loader.for_gem.tap do |loader|
6
+ loader.ignore "#{__dir__}/tenios-api.rb"
7
+ loader.inflector.inflect "api" => "API"
8
+ loader.setup
9
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Tenios
4
+ module API
5
+ class CallDetailRecords
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def retrieve(date_range, page_size: 100)
13
+ stream do |page|
14
+ payload = build_payload(date_range, page: page, page_size: page_size)
15
+ client.post("/cdrs/retrieve", payload)
16
+ end
17
+ end
18
+
19
+ private
20
+
21
+ def build_payload(date_range, page:, page_size:)
22
+ expect_date_range! date_range
23
+
24
+ {
25
+ start_date_from: format_datetime(date_range.begin),
26
+ start_date_to: format_datetime(date_range.end),
27
+ page: page,
28
+ page_size: page_size
29
+ }
30
+ end
31
+
32
+ def expect_date_range!(date_range)
33
+ return if %i[begin end].all? { |method| date_range.respond_to? method }
34
+
35
+ raise TypeError, <<~ERR.strip
36
+ Expect date_range to be Range-like (respond_to methods #begin and #end), but was: #{date_range.class}
37
+ ERR
38
+ end
39
+
40
+ def format_datetime(time)
41
+ time.utc.strftime("%FT%H:%M:%S.0Z")
42
+ end
43
+
44
+ def stream
45
+ Enumerator.new { |records|
46
+ (1..Float::INFINITY).each do |page|
47
+ res = yield page
48
+ res["items"].each { |item| records << item }
49
+ break if res["total_items"] <= page * res["page_size"]
50
+ end
51
+ }.lazy
52
+ end
53
+ end
54
+ end
55
+ end
@@ -1,63 +1,51 @@
1
- require 'json'
2
- require 'faraday'
3
- require 'faraday_middleware'
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require "faraday"
5
+ require "faraday_middleware"
4
6
 
5
7
  module Tenios
6
8
  module API
7
9
  class Client
8
- def initialize(access_key:)
10
+ URL = "https://api.tenios.com"
11
+
12
+ def initialize(access_key:, url: URL)
9
13
  @access_key = access_key
14
+ @http_client = build_http_client(url)
10
15
  end
11
16
 
12
- def http_client
13
- @http_client ||= Faraday.new(url: 'https://api.tevox.com') do |c|
14
- c.request :json
15
- c.response :json
16
- c.response :raise_error
17
- c.use :gzip
18
-
19
- c.adapter Faraday.default_adapter
20
- end
17
+ def call_detail_records
18
+ CallDetailRecords.new(self)
21
19
  end
22
20
 
23
- def call_detail_records(start_date, page_size: 100)
24
- stream do |page|
25
- payload = payload_for_cdrs(start_date, page: page, page_size: page_size)
26
- http_client.post('/cdrs/retrieve', payload).body
27
- end
21
+ def verification
22
+ Verification.new(self)
28
23
  end
29
- alias cdrs call_detail_records
30
-
31
- private
32
24
 
33
- attr_reader :access_key
34
-
35
- def payload_for_cdrs(start_date, page:, page_size:)
36
- unless %i[begin end].all? { |method| start_date.respond_to? method }
37
- raise TypeError, 'Expect start_date to be Range-like (respond_to methods #begin and #end)'
38
- end
25
+ def number
26
+ Number.new(self)
27
+ end
39
28
 
40
- {
41
- access_key: access_key,
42
- start_date_from: format_datetime(start_date.begin),
43
- start_date_to: format_datetime(start_date.end),
44
- page: page,
45
- page_size: page_size
46
- }.to_json
29
+ def record_call
30
+ RecordCall.new(self)
47
31
  end
48
32
 
49
- def format_datetime(time)
50
- time.utc.strftime('%FT%H:%M:%S.0Z')
33
+ # @api private
34
+ def post(path, **payload)
35
+ @http_client.post(path, payload.merge(access_key: @access_key)).body
51
36
  end
52
37
 
53
- def stream
54
- Enumerator.new do |records|
55
- (1..Float::INFINITY).each do |page|
56
- res = yield page
57
- res['items'].each { |item| records << item }
58
- break if res['total_items'] <= page * res['page_size']
59
- end
60
- end.lazy
38
+ private
39
+
40
+ def build_http_client(url)
41
+ Faraday.new(url: url) { |c|
42
+ c.request :json
43
+ c.response :json
44
+ c.response :raise_error
45
+ c.use :gzip
46
+
47
+ c.adapter Faraday.default_adapter
48
+ }
61
49
  end
62
50
  end
63
51
  end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Tenios
4
+ module API
5
+ class Number
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ NUMBER_TYPES = [
13
+ GEOGRAPHICAL = "GEOGRAPHICAL"
14
+ ].freeze
15
+
16
+ def order(verification_id:, number_type: GEOGRAPHICAL, **options)
17
+ payload = order_payload(verification_id: verification_id, number_type: number_type, **options)
18
+ client.post("/number/order", **payload)
19
+ end
20
+
21
+ def cancel(phone_number:)
22
+ client.post("/number/cancel", phone_number: phone_number)
23
+ end
24
+
25
+ private
26
+
27
+ ORDER_OPTIONS = %i[
28
+ link_to_number
29
+ number_type
30
+ push_secret
31
+ push_url
32
+ verification_id
33
+ ].freeze
34
+ private_constant :ORDER_OPTIONS
35
+
36
+ def order_payload(**options)
37
+ options.slice(*ORDER_OPTIONS)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Tenios
4
+ module API
5
+ class RecordCall
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def start(call_uuid:)
13
+ client.post("/record-call/start", call_uuid: call_uuid)
14
+ end
15
+
16
+ def stop(recording_uuid:, call_uuid:)
17
+ client.post("/record-call/stop", call_uuid: call_uuid, recording_uuid: recording_uuid)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "base64"
4
+
5
+ module Tenios
6
+ module API
7
+ class Verification
8
+ attr_reader :client
9
+
10
+ def initialize(client)
11
+ @client = client
12
+ end
13
+
14
+ DOCUMENT_TYPES = %w[
15
+ ALLOCATION_NOTICE
16
+ IDENTITY_CARD
17
+ BUSINESS_LICENSE
18
+ IDENTITY_CARD_AND_BUSINESS_LICENSE
19
+ CERTIFICATE_OF_REGISTRATION
20
+ CONTRACT
21
+ ].freeze
22
+
23
+ def create(options)
24
+ payload = build_payload(options)
25
+ client.post("/verification/create", **payload)
26
+ end
27
+
28
+ private
29
+
30
+ OPTIONS = %i[
31
+ area_code
32
+ city
33
+ country
34
+ document_data
35
+ document_type
36
+ house_number
37
+ street
38
+ zip
39
+ ].freeze
40
+ private_constant :OPTIONS
41
+
42
+ def build_payload(options)
43
+ to_option = build_option(options)
44
+ OPTIONS.map(&to_option).to_h
45
+ end
46
+
47
+ def build_option(options)
48
+ lambda do |name|
49
+ value = options.fetch(name)
50
+ validate = :"validate_#{name}!"
51
+ send validate, value if respond_to? validate, true
52
+ [name, value]
53
+ end
54
+ end
55
+
56
+ def validate_document_type!(type)
57
+ return if DOCUMENT_TYPES.include? type
58
+
59
+ raise ArgumentError, "invalid document_type: #{type}"
60
+ end
61
+
62
+ PDF_FILE_SIGNATURE = Base64.encode64("%PDF-")[0..6].freeze
63
+ private_constant :PDF_FILE_SIGNATURE
64
+
65
+ def validate_document_data!(data)
66
+ return if data.start_with? PDF_FILE_SIGNATURE
67
+
68
+ raise ArgumentError, "invalid document_data: should be a base64 encoded pdf file"
69
+ end
70
+ end
71
+ end
72
+ end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Tenios
2
4
  module API
3
- VERSION = '0.1.0'.freeze
5
+ VERSION = "1.0.0"
4
6
  end
5
7
  end
data/tenios-api.gemspec CHANGED
@@ -1,34 +1,33 @@
1
- lib = File.expand_path('lib', __dir__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'tenios/api/version'
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/tenios/api/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'tenios-api'
7
- spec.version = Tenios::API::VERSION
8
- spec.authors = ['carwow Developers']
9
- spec.email = ['developers@carwow.co.uk']
10
- spec.summary = 'Tenios API Client ☎️'
11
- spec.description = 'Get Call Detail Records (CDRs) from Tenios API.'
12
- spec.homepage = 'https://github.com/carwow/tenios-api-ruby'
13
- spec.license = 'MIT'
6
+ spec.name = "tenios-api"
7
+ spec.version = Tenios::API::VERSION
8
+ spec.authors = ["carwow Developers"]
9
+ spec.email = ["developers@carwow.co.uk"]
10
+ spec.summary = "Tenios API Client ☎️"
11
+ spec.description = "Get Call Detail Records (CDRs) from Tenios API."
12
+ spec.homepage = "https://github.com/carwow/tenios-api-ruby"
13
+ spec.license = "MIT"
14
+
15
+ spec.required_ruby_version = Gem::Requirement.new("~> 2.7")
14
16
 
15
- if spec.respond_to?(:metadata)
16
- spec.metadata['allowed_push_host'] = 'https://rubygems.org'
17
- else
18
- raise 'RubyGems 2.0 or newer is required to protect against ' \
19
- 'public gem pushes.'
20
- end
17
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
+ spec.metadata["source_code_uri"] = spec.homepage
19
+ spec.metadata["homepage_uri"] = "#{spec.homepage}/README.md"
20
+ spec.metadata["changelog_uri"] = "#{spec.homepage}/CHANGELOG.md"
21
21
 
22
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
- end
25
- spec.require_paths = ['lib']
22
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.start_with? "spec" }
23
+ spec.require_paths = ["lib"]
26
24
 
27
- spec.add_dependency 'faraday'
28
- spec.add_dependency 'faraday_middleware'
25
+ spec.add_dependency "faraday", "~> 1.3"
26
+ spec.add_dependency "faraday_middleware", "~> 1.0"
27
+ spec.add_dependency "zeitwerk", "~> 2.4"
29
28
 
30
- spec.add_development_dependency 'bundler'
31
- spec.add_development_dependency 'carwow_rubocop'
32
- spec.add_development_dependency 'rake'
33
- spec.add_development_dependency 'rspec'
29
+ spec.add_development_dependency "pry", "~> 0.14"
30
+ spec.add_development_dependency "rake", "~> 13.0"
31
+ spec.add_development_dependency "rspec", "~> 3.10"
32
+ spec.add_development_dependency "standard", "~> 0.12"
34
33
  end
metadata CHANGED
@@ -1,99 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tenios-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - carwow Developers
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-21 00:00:00.000000000 Z
11
+ date: 2021-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: zeitwerk
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
47
+ version: '2.4'
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2.4'
55
55
  - !ruby/object:Gem::Dependency
56
- name: carwow_rubocop
56
+ name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '0.14'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '0.14'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '3.10'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '3.10'
97
+ - !ruby/object:Gem::Dependency
98
+ name: standard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.12'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.12'
97
111
  description: Get Call Detail Records (CDRs) from Tenios API.
98
112
  email:
99
113
  - developers@carwow.co.uk
@@ -105,14 +119,18 @@ files:
105
119
  - ".gitignore"
106
120
  - ".rspec"
107
121
  - ".rubocop.yml"
122
+ - CHANGELOG.md
108
123
  - Gemfile
109
- - Gemfile.lock
110
124
  - LICENSE.txt
111
125
  - README.md
112
126
  - Rakefile
127
+ - bin/console
113
128
  - lib/tenios-api.rb
114
- - lib/tenios/api.rb
129
+ - lib/tenios/api/call_detail_records.rb
115
130
  - lib/tenios/api/client.rb
131
+ - lib/tenios/api/number.rb
132
+ - lib/tenios/api/record_call.rb
133
+ - lib/tenios/api/verification.rb
116
134
  - lib/tenios/api/version.rb
117
135
  - tenios-api.gemspec
118
136
  homepage: https://github.com/carwow/tenios-api-ruby
@@ -120,23 +138,26 @@ licenses:
120
138
  - MIT
121
139
  metadata:
122
140
  allowed_push_host: https://rubygems.org
123
- post_install_message:
141
+ source_code_uri: https://github.com/carwow/tenios-api-ruby
142
+ homepage_uri: https://github.com/carwow/tenios-api-ruby/README.md
143
+ changelog_uri: https://github.com/carwow/tenios-api-ruby/CHANGELOG.md
144
+ post_install_message:
124
145
  rdoc_options: []
125
146
  require_paths:
126
147
  - lib
127
148
  required_ruby_version: !ruby/object:Gem::Requirement
128
149
  requirements:
129
- - - ">="
150
+ - - "~>"
130
151
  - !ruby/object:Gem::Version
131
- version: '0'
152
+ version: '2.7'
132
153
  required_rubygems_version: !ruby/object:Gem::Requirement
133
154
  requirements:
134
155
  - - ">="
135
156
  - !ruby/object:Gem::Version
136
157
  version: '0'
137
158
  requirements: []
138
- rubygems_version: 3.0.2
139
- signing_key:
159
+ rubygems_version: 3.1.4
160
+ signing_key:
140
161
  specification_version: 4
141
162
  summary: Tenios API Client ☎️
142
163
  test_files: []
data/Gemfile.lock DELETED
@@ -1,67 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- tenios-api (0.1.0)
5
- faraday
6
- faraday_middleware
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- ast (2.4.0)
12
- carwow_rubocop (2.1.1)
13
- rubocop (~> 0.58)
14
- rubocop-rspec (~> 1.28)
15
- diff-lcs (1.3)
16
- faraday (0.15.4)
17
- multipart-post (>= 1.2, < 3)
18
- faraday_middleware (0.13.1)
19
- faraday (>= 0.7.4, < 1.0)
20
- jaro_winkler (1.5.2)
21
- multipart-post (2.0.0)
22
- parallel (1.13.0)
23
- parser (2.6.0.0)
24
- ast (~> 2.4.0)
25
- powerpack (0.1.2)
26
- psych (3.1.0)
27
- rainbow (3.0.0)
28
- rake (12.3.2)
29
- rspec (3.8.0)
30
- rspec-core (~> 3.8.0)
31
- rspec-expectations (~> 3.8.0)
32
- rspec-mocks (~> 3.8.0)
33
- rspec-core (3.8.0)
34
- rspec-support (~> 3.8.0)
35
- rspec-expectations (3.8.2)
36
- diff-lcs (>= 1.2.0, < 2.0)
37
- rspec-support (~> 3.8.0)
38
- rspec-mocks (3.8.0)
39
- diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.8.0)
41
- rspec-support (3.8.0)
42
- rubocop (0.65.0)
43
- jaro_winkler (~> 1.5.1)
44
- parallel (~> 1.10)
45
- parser (>= 2.5, != 2.5.1.1)
46
- powerpack (~> 0.1)
47
- psych (>= 3.1.0)
48
- rainbow (>= 2.2.2, < 4.0)
49
- ruby-progressbar (~> 1.7)
50
- unicode-display_width (~> 1.4.0)
51
- rubocop-rspec (1.32.0)
52
- rubocop (>= 0.60.0)
53
- ruby-progressbar (1.10.0)
54
- unicode-display_width (1.4.1)
55
-
56
- PLATFORMS
57
- ruby
58
-
59
- DEPENDENCIES
60
- bundler
61
- carwow_rubocop
62
- rake
63
- rspec
64
- tenios-api!
65
-
66
- BUNDLED WITH
67
- 1.17.3
data/lib/tenios/api.rb DELETED
@@ -1,6 +0,0 @@
1
- module Tenios
2
- module API
3
- autoload :Version, 'tenios/api/version'
4
- autoload :Client, 'tenios/api/client'
5
- end
6
- end