torasup 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 888eca4d5a8db09f5784bbb6de787143393a5f0b
4
- data.tar.gz: 37652d228d0a9708775248cdef7f9f1ca496e163
2
+ SHA256:
3
+ metadata.gz: cedd183219513e1a11ff1bbf1c8f5be0a3592d2825ec2ceefeb1c8e0b1b91b0f
4
+ data.tar.gz: 3a0ecf5fe7762bb4641ba035cdf1a3170d0164edf83b54098e89df7f756a4523
5
5
  SHA512:
6
- metadata.gz: e20aa4caea8eb67315a9425d1e27f19136aa6cdbac5c547008d1372b1a68e369efdc16cb37a12b16de8cd93bc3c9ee2c0e2a502620fea2bae43760cee7d00121
7
- data.tar.gz: af5fa3eb04a5e85b951d77b8c70ce9b7ffab012550b984d3ebe657355fc3427408c88410696ecd9c53933e387e74f0905500dd1d8a9b98d9deb1047ff6b89880
6
+ metadata.gz: c8d3d92f14854785d4aa03318329a8d14da730ed4477eef30eb3cf0bfb0399a20205a61d9b677c1e5b21a6ce2eade9eedb6b024c58fc0a082e77ccbe64b05c66
7
+ data.tar.gz: 3ae6e4b84fa084774d954dcfd4c80bb88b00aafeb1b30bed0908083f6dc050f1852a205eca857cedb338ea960423de5a4b086411736d5c76da6fa4cbe49ff1c5
@@ -0,0 +1,35 @@
1
+ name: Build
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+
8
+ runs-on: ubuntu-latest
9
+
10
+ steps:
11
+ - uses: actions/checkout@v2
12
+
13
+ - name: Set up Ruby
14
+ uses: actions/setup-ruby@v1
15
+ with:
16
+ ruby-version: 2.7.x
17
+
18
+ - name: Install Dependencies
19
+ run: |
20
+ gem install bundler
21
+ bundle install --jobs 4 --retry 3
22
+
23
+ - name: Deploy
24
+ if: github.ref == 'refs/heads/master' && !contains(github.event.commits[0].message, '[skip deploy]')
25
+ env:
26
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27
+ GEM_HOST_API_KEY: ${{ secrets.GEM_HOST_API_KEY }}
28
+
29
+ run: |
30
+ git config --global user.email "dwilkie@gmail.com"
31
+ git config --global user.name "David Wilkie"
32
+ mkdir -p ~/.gem
33
+ echo -e "---\r\n:rubygems_api_key: $GEM_HOST_API_KEY" > ~/.gem/credentials
34
+ chmod 0600 ~/.gem/credentials
35
+ bundle exec rake release
@@ -0,0 +1,11 @@
1
+ Style/FrozenStringLiteralComment:
2
+ Enabled: false
3
+
4
+ Style/StringLiterals:
5
+ EnforcedStyle: double_quotes
6
+
7
+ Metrics/LineLength:
8
+ Max: 100
9
+
10
+ Style/Documentation:
11
+ Enabled: false
@@ -0,0 +1 @@
1
+ ruby 2.7.1
data/Gemfile CHANGED
@@ -1,9 +1,4 @@
1
- source 'https://rubygems.org'
2
-
3
- git_source(:github) do |repo_name|
4
- repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
5
- "https://github.com/#{repo_name}.git"
6
- end
1
+ source "https://rubygems.org"
7
2
 
8
3
  # Specify your gem's dependencies in torasup.gemspec
9
4
  gemspec
data/README.md CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
  Retuns metadata about a phone number such as operator info, area code and more.
4
4
 
5
- [![Build Status](https://travis-ci.org/somleng/torasup.png)](https://travis-ci.org/somleng/torasup)
6
- [![Test Coverage](https://codeclimate.com/github/somleng/torasup/badges/coverage.svg)](https://codeclimate.com/github/somleng/torasup/coverage)
7
- [![Code Climate](https://codeclimate.com/github/somleng/torasup/badges/gpa.svg)](https://codeclimate.com/github/somleng/torasup)
5
+ ![Build](https://github.com/somleng/torasup/workflows/Build/badge.svg)
8
6
 
9
7
  ## Installation
10
8
 
@@ -1,7 +1,7 @@
1
- require 'yaml'
2
- require 'phony'
3
- require 'countries'
4
- require 'deep_merge/rails_compat'
1
+ require "yaml"
2
+ require "phony"
3
+ require "countries"
4
+ require "deep_merge/rails_compat"
5
5
 
6
6
  require "torasup/version"
7
7
  require "torasup/configuration"
@@ -10,12 +10,16 @@ require "torasup/operator"
10
10
  require "torasup/location"
11
11
 
12
12
  module Torasup
13
+ ALL_PREFIXES_KEYS = ["*", "all"].freeze
14
+ DEFAULT_OPERATOR_PREFIX_MIN = "10".freeze
15
+ DEFAULT_OPERATOR_PREFIX_MAX = "99".freeze
16
+
13
17
  module Test
14
- autoload :Helpers, 'torasup/test/helpers'
18
+ autoload :Helpers, "torasup/test/helpers"
15
19
  end
16
20
 
17
21
  class << self
18
- def configure(&block)
22
+ def configure
19
23
  yield(configuration)
20
24
  end
21
25
 
@@ -23,12 +27,14 @@ module Torasup
23
27
  @international_dialing_codes = {}
24
28
  ISO3166::Country.all.each do |country|
25
29
  dialing_code = country.country_code
26
- @international_dialing_codes[dialing_code] = country.alpha2 if !@international_dialing_codes[dialing_code] || configuration.default_countries.include?(country.alpha2)
30
+ if !@international_dialing_codes[dialing_code] || configuration.default_countries.include?(country.alpha2)
31
+ @international_dialing_codes[dialing_code] = country.alpha2
32
+ end
27
33
  end
28
34
  end
29
35
 
30
36
  def load_pstn_data!
31
- @pstn_data = load_yaml_file(File.join(File.dirname(__FILE__), 'torasup/data/pstn.yaml'))
37
+ @pstn_data = load_yaml_file(File.join(File.dirname(__FILE__), "torasup/data/pstn.yaml"))
32
38
  configuration.custom_pstn_data_files.compact.each do |pstn_data_file|
33
39
  @pstn_data.deeper_merge!(
34
40
  load_yaml_file(pstn_data_file)
@@ -38,7 +44,7 @@ module Torasup
38
44
  end
39
45
 
40
46
  def country_id(country_code)
41
- @international_dialing_codes[country_code].downcase if @international_dialing_codes[country_code]
47
+ @international_dialing_codes[country_code]&.downcase
42
48
  end
43
49
 
44
50
  def area_code(country_id, code)
@@ -76,7 +82,9 @@ module Torasup
76
82
  ).merge(prefix_data)
77
83
 
78
84
  @pstn_prefixes[operator_prefix] = prefix_properties
79
- @registered_pstn_prefixes[operator_prefix] = prefix_properties if operator_registered?(country_id, operator)
85
+ if operator_registered?(country_id, operator)
86
+ @registered_pstn_prefixes[operator_prefix] = prefix_properties
87
+ end
80
88
  end
81
89
  end
82
90
  end
@@ -115,7 +123,7 @@ module Torasup
115
123
  end
116
124
 
117
125
  def operator_metadata(country_id, operator)
118
- {"country_id" => country_id, "id" => operator}.merge(operator_data(country_id, operator)["metadata"] || {})
126
+ { "country_id" => country_id, "id" => operator }.merge(operator_data(country_id, operator)["metadata"] || {})
119
127
  end
120
128
 
121
129
  def operator_area_code_prefixes(country_id, operator)
@@ -125,7 +133,7 @@ module Torasup
125
133
  def prefix_defaults(country_properties, operator_properties, prefix_properties)
126
134
  defaults = {}
127
135
  prefix_type = prefix_properties["type"]
128
- [:min, :max, :pattern].each do |prefix_key|
136
+ %i[min max pattern].each do |prefix_key|
129
137
  result_key = "subscriber_number_#{prefix_key}"
130
138
  default_key = "default_#{prefix_type}_#{result_key}"
131
139
  result_value = prefix_properties[result_key] || operator_properties[default_key] || country_properties[default_key]
@@ -137,11 +145,18 @@ module Torasup
137
145
  def operator_mobile_prefixes(country_id, operator)
138
146
  full_prefixes = {}
139
147
  operator_data = operator_data(country_id, operator)
140
- mobile_prefixes = array_to_hash(operator_data["prefixes"] || [])
148
+ if operator_data["prefixes"].is_a?(String) && ALL_PREFIXES_KEYS.include?(operator_data["prefixes"])
149
+ operator_prefix_min = country_data(country_id).fetch("operator_prefix_min", DEFAULT_OPERATOR_PREFIX_MIN)
150
+ operator_prefix_max = country_data(country_id).fetch("operator_prefix_max", DEFAULT_OPERATOR_PREFIX_MAX)
151
+ prefixes = (operator_prefix_min.to_s..operator_prefix_max).to_a
152
+ end
153
+ prefixes ||= operator_data["prefixes"]
154
+ prefixes ||= []
155
+ mobile_prefixes = array_to_hash(prefixes)
141
156
  mobile_prefixes.each do |mobile_prefix, prefix_metadata|
142
157
  full_prefixes[operator_full_prefix(country_id, mobile_prefix)] = {
143
158
  "type" => "mobile",
144
- "prefix" => mobile_prefix,
159
+ "prefix" => mobile_prefix
145
160
  }.merge(prefix_metadata)
146
161
  end
147
162
  full_prefixes
@@ -155,7 +170,7 @@ module Torasup
155
170
  operator_prefixes = operator_mobile_prefixes(country_id, operator)
156
171
  area_code_prefixes = array_to_hash(operator_area_code_prefixes(country_id, operator))
157
172
  area_code_prefixes.each do |operator_area_code_prefix, prefix_metadata|
158
- area_codes(country_id).each do |area_code, area|
173
+ area_codes(country_id).each do |area_code, _area|
159
174
  operator_prefixes[operator_full_prefix(country_id, area_code, operator_area_code_prefix)] = {
160
175
  "type" => "landline",
161
176
  "prefix" => operator_area_code_prefix,
@@ -167,7 +182,7 @@ module Torasup
167
182
  end
168
183
 
169
184
  def array_to_hash(array)
170
- array.map { |n| n.is_a?(Hash) ? n : {n => {}} }.reduce(Hash.new, :merge)
185
+ array.map { |n| n.is_a?(Hash) ? n : { n => {} } }.reduce({}, :merge)
171
186
  end
172
187
  end
173
188
 
@@ -1,5 +1,5 @@
1
1
  class Configuration
2
- DEFAULT_COUNTRIES = ["US", "GB", "AU", "IT", "RU", "NO"]
2
+ DEFAULT_COUNTRIES = %w[US GB AU IT RU NO].freeze
3
3
  attr_accessor :registered_operators, :default_countries, :custom_pstn_data_files
4
4
 
5
5
  def initialize
@@ -220,3 +220,66 @@ sl:
220
220
  - '30'
221
221
  - '77'
222
222
  - '88'
223
+ orange:
224
+ metadata:
225
+ name: "Orange"
226
+ prefixes:
227
+ - '75'
228
+ - '76'
229
+ - '78'
230
+ - '79'
231
+ br:
232
+ # https://en.wikipedia.org/wiki/Telecommunications_in_Brazil
233
+ # https://en.wikipedia.org/wiki/List_of_mobile_network_operators_of_the_Americas#Brazil
234
+ international_dialing_code: "55"
235
+
236
+ mx:
237
+ international_dialing_code: "52"
238
+
239
+ in:
240
+ # https://en.wikipedia.org/wiki/Mobile_telephone_numbering_in_India
241
+ international_dialing_code: "91"
242
+ operator_prefix_min: "6000"
243
+ operator_prefix_max: "9999"
244
+
245
+ gh:
246
+ international_dialing_code: "233"
247
+ # https://en.m.wikipedia.org/wiki/Telephone_numbers_in_Ghana
248
+ operators:
249
+ globacom:
250
+ # https://en.wikipedia.org/wiki/Glo_(company)
251
+ metadata:
252
+ name: "Globacom"
253
+ prefixes:
254
+ - '23'
255
+ mtn:
256
+ # https://en.wikipedia.org/wiki/MTN_Group
257
+ metadata:
258
+ name: "MTN"
259
+ prefixes:
260
+ - '24'
261
+ - '54'
262
+ - '55'
263
+ - '59'
264
+ airtel_tigo:
265
+ # https://en.wikipedia.org/wiki/Airtel_Africa#Tigo_Ghana_merger
266
+ metadata:
267
+ name: "AirtelTigo"
268
+ prefixes:
269
+ - '27'
270
+ - '57'
271
+ - '26'
272
+ - '56'
273
+ expresso:
274
+ # https://en.wikipedia.org/wiki/Expresso_Telecom
275
+ metadata:
276
+ name: "Expresso"
277
+ prefixes:
278
+ - '28'
279
+ vodafone:
280
+ # https://en.wikipedia.org/wiki/Vodafone_Ghana
281
+ metadata:
282
+ name: "Vodafone"
283
+ prefixes:
284
+ - '20'
285
+ - '50'
@@ -17,6 +17,7 @@ module Torasup
17
17
 
18
18
  def parse_phone_number(number)
19
19
  raise "Not a vaild number" unless Phony.plausible?(number)
20
+
20
21
  @number = Phony.normalize(number)
21
22
  number_parts = split_number
22
23
  @country_code = number_parts.shift
@@ -1,10 +1,9 @@
1
1
  module Torasup
2
2
  module Test
3
3
  module Helpers
4
-
5
4
  private
6
5
 
7
- def yaml_file(filename)
6
+ def yaml_file(_filename)
8
7
  raise "Override this method to return the full path of the yaml spec"
9
8
  end
10
9
 
@@ -26,17 +25,17 @@ module Torasup
26
25
  custom_spec ? data.deeper_merge(load_yaml_file(custom_spec)) : data
27
26
  end
28
27
 
29
- def with_operators(options = {}, &block)
28
+ def with_operators(options = {})
30
29
  operator_assertions = {}
31
30
  with_pstn_data(options) do |country_id, country_data, country_prefix|
32
31
  operator_assertions[country_prefix] = {}
33
32
  local_number = country_data["local_number"]
34
- default_assertions = {"country_code" => country_prefix}
33
+ default_assertions = { "country_code" => country_prefix }
35
34
  with_operator_data(country_id, options) do |operator, operator_data|
36
35
  default_operator_assertions = operator_data["assertions"].merge(
37
36
  "country_id" => country_id, "id" => operator
38
37
  ).merge(default_assertions)
39
- with_operator_area_codes(country_data, operator_data) do |area_code_prefix, area_code, area|
38
+ with_operator_area_codes(country_data, operator_data) do |area_code_prefix, area_code, _area|
40
39
  if area_code_prefix.is_a?(Hash)
41
40
  custom_local_number = area_code_prefix.values.first
42
41
  area_code_prefix = area_code_prefix.keys.first
@@ -58,7 +57,7 @@ module Torasup
58
57
  custom_local_number = prefix.values.first
59
58
  prefix = prefix.keys.first
60
59
  end
61
- prefix_assertions = operator_assertions[country_prefix][prefix] = {}
60
+ prefix_assertions = operator_assertions[country_prefix][prefix] = {}
62
61
  no_area_code_assertions = prefix_assertions[nil] = {}
63
62
 
64
63
  custom_local_number ||= local_number
@@ -84,21 +83,21 @@ module Torasup
84
83
  end
85
84
  end
86
85
 
87
- def with_pstn_data(options = {}, &block)
86
+ def with_pstn_data(options = {})
88
87
  pstn_data(options[:with_custom_pstn_data]).each do |country_id, country_data|
89
88
  next if options[:only_registered] && !options[:only_registered].include?(country_id)
90
89
  yield country_id, country_data, country_data["prefix"]
91
90
  end
92
91
  end
93
92
 
94
- def with_operator_data(country_id, options = {}, &block)
93
+ def with_operator_data(country_id, options = {})
95
94
  country_data(country_id, options[:with_custom_pstn_data])["operators"].each do |operator, operator_data|
96
95
  next if options[:only_registered] && !options[:only_registered][country_id].include?(operator)
97
96
  yield operator, operator_data
98
97
  end
99
98
  end
100
99
 
101
- def with_operator_area_codes(country_data, operator_data, &block)
100
+ def with_operator_area_codes(country_data, operator_data)
102
101
  (operator_data["area_code_prefixes"] || {}).each do |area_code_prefix|
103
102
  country_data["area_codes"].each do |area_code, area|
104
103
  yield area_code_prefix, area_code, area
@@ -106,7 +105,7 @@ module Torasup
106
105
  end
107
106
  end
108
107
 
109
- def with_operator_prefixes(operator_data, &block)
108
+ def with_operator_prefixes(operator_data)
110
109
  (operator_data["prefixes"] || {}).each do |prefix|
111
110
  yield prefix
112
111
  end
@@ -1,3 +1,3 @@
1
1
  module Torasup
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.1".freeze
3
3
  end
@@ -17,3 +17,17 @@ kh:
17
17
  - '87'
18
18
  area_code_prefixes:
19
19
  - '45'
20
+
21
+ in:
22
+ operators:
23
+ imimobile:
24
+ metadata:
25
+ name: "IMImobile"
26
+ prefixes: "*"
27
+
28
+ br:
29
+ operators:
30
+ mundivox:
31
+ metadata:
32
+ name: "Mundivox"
33
+ prefixes: "*"
@@ -187,3 +187,45 @@ sl:
187
187
  - '30'
188
188
  - '77'
189
189
  - '88'
190
+
191
+ gh:
192
+ prefix: "233"
193
+ local_number: "2437103"
194
+ operators:
195
+ # https://en.m.wikipedia.org/wiki/Telephone_numbers_in_Ghana
196
+ globacom:
197
+ # https://en.wikipedia.org/wiki/Glo_(company)
198
+ assertions:
199
+ name: "Globacom"
200
+ prefixes:
201
+ - '23'
202
+ mtn:
203
+ # https://en.wikipedia.org/wiki/MTN_Group
204
+ assertions:
205
+ name: "MTN"
206
+ prefixes:
207
+ - '24'
208
+ - '54'
209
+ - '55'
210
+ airtel_tigo:
211
+ # https://en.wikipedia.org/wiki/Airtel_Africa#Tigo_Ghana_merger
212
+ assertions:
213
+ name: "AirtelTigo"
214
+ prefixes:
215
+ - '27'
216
+ - '57'
217
+ - '26'
218
+ - '56'
219
+ expresso:
220
+ # https://en.wikipedia.org/wiki/Expresso_Telecom
221
+ assertions:
222
+ name: "Expresso"
223
+ prefixes:
224
+ - '28'
225
+ vodafone:
226
+ # https://en.wikipedia.org/wiki/Vodafone_Ghana
227
+ assertions:
228
+ name: "Vodafone"
229
+ prefixes:
230
+ - '20'
231
+ - '50'
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
3
  module Torasup
4
4
  describe Operator do
@@ -11,7 +11,7 @@ module Torasup
11
11
  it "should return the operators with their metadata" do
12
12
  operators = Operator.send(method)
13
13
  operators = Operator.send(method) # run it twice to highlight the duplication problem
14
- with_operators do |number_parts, assertions|
14
+ with_operators do |_number_parts, assertions|
15
15
  operator = operators[assertions["country_id"]][assertions["id"]]
16
16
  expect(operator["country_id"]).to eq(assertions["country_id"])
17
17
  expect(operator["id"]).to eq(assertions["id"])
@@ -53,7 +53,7 @@ module Torasup
53
53
  let(:method) { :registered }
54
54
 
55
55
  def with_operators(&block)
56
- super(:only_registered => {sample_operator[0] => [sample_operator[1]]}, &block)
56
+ super(only_registered: { sample_operator[0] => [sample_operator[1]] }, &block)
57
57
  end
58
58
  end
59
59
  end
@@ -65,10 +65,10 @@ module Torasup
65
65
  subject = Operator.new(*number_parts)
66
66
  assertions.each do |method, assertion|
67
67
  args = []
68
- args << {:interpolation => nil} unless subject.respond_to?(method)
68
+ args << { interpolation: nil } unless subject.respond_to?(method)
69
69
  result = subject.send(method, *args)
70
70
  result_error = result.nil? ? "nil" : "'#{result}'"
71
- expect(result).to(eq(interpolated_assertion(assertion, :interpolation => nil)), "expected Operator.new('#{number_parts}').#{method} to return '#{assertion}' but got #{result_error}")
71
+ expect(result).to(eq(interpolated_assertion(assertion, interpolation: nil)), "expected Operator.new('#{number_parts}').#{method} to return '#{assertion}' but got #{result_error}")
72
72
  end
73
73
  end
74
74
  end
@@ -87,14 +87,25 @@ module Torasup
87
87
 
88
88
  context "with a single configuration file" do
89
89
  let(:configuration_options) { {} }
90
+ let(:options) { { with_custom_pstn_data: true } }
90
91
 
91
- it_should_behave_like "an operator" do
92
- let(:options) { { :with_custom_pstn_data => true } }
92
+ it_should_behave_like "an operator"
93
+
94
+ it "handles default prefixes" do
95
+ torasup_number = Torasup::PhoneNumber.new("5582999489999")
96
+ operator = torasup_number.operator
97
+ expect(operator.id).to eq("mundivox")
98
+ end
99
+
100
+ it "handles long prefixes" do
101
+ torasup_number = Torasup::PhoneNumber.new("919560234567")
102
+ operator = torasup_number.operator
103
+ expect(operator.id).to eq("imimobile")
93
104
  end
94
105
  end
95
106
 
96
107
  context "with multiple configuration files" do
97
- let(:configuration_options) { {:multiple_files => true} }
108
+ let(:configuration_options) { { multiple_files: true } }
98
109
 
99
110
  def assert_overridden_data!
100
111
  torasup_number = Torasup::PhoneNumber.new("85515234567")
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
3
  describe Torasup do
4
4
  describe "#prefixes" do
@@ -6,7 +6,7 @@ describe Torasup do
6
6
 
7
7
  context "metadata" do
8
8
  it "should include the correct min, max and pattern values" do
9
- with_operators do |number_parts, assertions|
9
+ with_operators do |_number_parts, assertions|
10
10
  prefix = assertions["country_code"].to_s + assertions["area_code"].to_s + assertions["prefix"].to_s
11
11
  prefix_metadata = prefixes[prefix]
12
12
  local_number = assertions["local_number"]
@@ -1,29 +1,29 @@
1
- # -*- encoding: utf-8 -*-
2
- lib = File.expand_path('../lib', __FILE__)
1
+
2
+ lib = File.expand_path("lib", __dir__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'torasup/version'
4
+ require "torasup/version"
5
5
 
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = "torasup"
8
8
  gem.version = Torasup::VERSION
9
9
  gem.authors = ["David Wilkie"]
10
10
  gem.email = ["dwilkie@gmail.com"]
11
- gem.description = %q{"Retuns metadata about a phone number such as operator, area code and more"}
12
- gem.summary = %q{"Retuns metadata about a phone number such as operator, area code and more"}
11
+ gem.description = '"Retuns metadata about a phone number such as operator, area code and more"'
12
+ gem.summary = '"Retuns metadata about a phone number such as operator, area code and more"'
13
13
  gem.homepage = "https://github.com/dwilkie/torasup/"
14
- gem.license = 'MIT'
14
+ gem.license = "MIT"
15
15
 
16
- gem.files = `git ls-files`.split($/)
17
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
16
+ gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
17
+ gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_runtime_dependency "countries", '>= 1.1.0'
22
- gem.add_runtime_dependency "phony", '>= 2.15.47'
21
+ gem.add_runtime_dependency "countries"
23
22
  gem.add_runtime_dependency "deep_merge"
23
+ gem.add_runtime_dependency "phony"
24
24
 
25
- gem.add_development_dependency "rspec"
25
+ gem.add_development_dependency "codeclimate-test-reporter"
26
26
  gem.add_development_dependency "rake"
27
+ gem.add_development_dependency "rspec"
27
28
  gem.add_development_dependency "simplecov"
28
- gem.add_development_dependency "codeclimate-test-reporter", "~> 1.0.0"
29
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: torasup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Wilkie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-01 00:00:00.000000000 Z
11
+ date: 2020-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: countries
@@ -16,30 +16,30 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.1.0
19
+ version: '0'
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: 1.1.0
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: phony
28
+ name: deep_merge
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 2.15.47
33
+ version: '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: 2.15.47
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: deep_merge
42
+ name: phony
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec
56
+ name: codeclimate-test-reporter
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: simplecov
84
+ name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,19 +95,19 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: codeclimate-test-reporter
98
+ name: simplecov
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 1.0.0
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 1.0.0
110
+ version: '0'
111
111
  description: '"Retuns metadata about a phone number such as operator, area code and
112
112
  more"'
113
113
  email:
@@ -116,10 +116,11 @@ executables: []
116
116
  extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
+ - ".github/workflows/build.yml"
119
120
  - ".gitignore"
120
121
  - ".rspec"
121
- - ".ruby-version"
122
- - ".travis.yml"
122
+ - ".rubocop.yml"
123
+ - ".tool-versions"
123
124
  - Gemfile
124
125
  - LICENSE.txt
125
126
  - README.md
@@ -163,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
164
  - !ruby/object:Gem::Version
164
165
  version: '0'
165
166
  requirements: []
166
- rubyforge_project:
167
- rubygems_version: 2.6.13
167
+ rubygems_version: 3.1.4
168
168
  signing_key:
169
169
  specification_version: 4
170
170
  summary: '"Retuns metadata about a phone number such as operator, area code and more"'
@@ -1 +0,0 @@
1
- 2.4.2
@@ -1,11 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- env:
4
- global:
5
- - START_SIMPLECOV=1
6
- addons:
7
- code_climate:
8
- repo_token:
9
- secure: "Xk7T8ZyorwO85WfXC7OB2HfIM9Z/GO85u97P1qwXukL1ZjjDffr3mzhh706AVA9JPpTQGDbLNU5aStxX6NVLjBXyflvEpSGmYLl0aHDVikcNvZA/jBGlIfJH/6/V5bJA11X3V2/9FeO5l2fPkusWxbcpAIowe7xclDXfujdoNGk="
10
- after_success:
11
- - bundle exec codeclimate-test-reporter