phonelib 0.10.14 → 0.10.18

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.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/data/extended_data.dat +0 -0
  4. data/data/phone_data.dat +0 -0
  5. data/lib/phonelib/core.rb +1 -1
  6. data/lib/phonelib/phone_formatter.rb +1 -1
  7. data/lib/phonelib/version.rb +1 -1
  8. data/lib/phonelib.rb +6 -6
  9. data/spec/benchmark_helper.rb +32 -0
  10. data/spec/coverage/assets/0.10.0/application.css +799 -0
  11. data/spec/coverage/assets/0.10.0/application.js +1707 -0
  12. data/spec/coverage/assets/0.10.0/colorbox/border.png +0 -0
  13. data/spec/coverage/assets/0.10.0/colorbox/controls.png +0 -0
  14. data/spec/coverage/assets/0.10.0/colorbox/loading.gif +0 -0
  15. data/spec/coverage/assets/0.10.0/colorbox/loading_background.png +0 -0
  16. data/spec/coverage/assets/0.10.0/favicon_green.png +0 -0
  17. data/spec/coverage/assets/0.10.0/favicon_red.png +0 -0
  18. data/spec/coverage/assets/0.10.0/favicon_yellow.png +0 -0
  19. data/spec/coverage/assets/0.10.0/loading.gif +0 -0
  20. data/spec/coverage/assets/0.10.0/magnify.png +0 -0
  21. data/spec/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  22. data/spec/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  23. data/spec/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  24. data/spec/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  25. data/spec/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  26. data/spec/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  27. data/spec/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  28. data/spec/coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  29. data/spec/coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
  30. data/spec/coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  31. data/spec/coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
  32. data/spec/coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
  33. data/spec/coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  34. data/spec/coverage/index.html +72 -0
  35. data/spec/dummy/README.rdoc +261 -0
  36. data/spec/dummy/Rakefile +8 -0
  37. data/spec/dummy/app/assets/config/manifest.js +0 -0
  38. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  39. data/spec/dummy/app/assets/javascripts/phones.js +2 -0
  40. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  41. data/spec/dummy/app/assets/stylesheets/phones.css +4 -0
  42. data/spec/dummy/app/assets/stylesheets/scaffold.css +56 -0
  43. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  44. data/spec/dummy/app/controllers/phones_controller.rb +98 -0
  45. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  46. data/spec/dummy/app/helpers/phones_helper.rb +2 -0
  47. data/spec/dummy/app/models/phone.rb +22 -0
  48. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  49. data/spec/dummy/app/views/phones/_form.html.erb +25 -0
  50. data/spec/dummy/app/views/phones/edit.html.erb +6 -0
  51. data/spec/dummy/app/views/phones/index.html.erb +25 -0
  52. data/spec/dummy/app/views/phones/new.html.erb +5 -0
  53. data/spec/dummy/app/views/phones/show.html.erb +14 -0
  54. data/spec/dummy/config/application.rb +62 -0
  55. data/spec/dummy/config/boot.rb +10 -0
  56. data/spec/dummy/config/database.yml +25 -0
  57. data/spec/dummy/config/environment.rb +5 -0
  58. data/spec/dummy/config/environments/development.rb +39 -0
  59. data/spec/dummy/config/environments/production.rb +67 -0
  60. data/spec/dummy/config/environments/test.rb +37 -0
  61. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  62. data/spec/dummy/config/initializers/inflections.rb +15 -0
  63. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  64. data/spec/dummy/config/initializers/phonelib.rb +2 -0
  65. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  66. data/spec/dummy/config/initializers/session_store.rb +8 -0
  67. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  68. data/spec/dummy/config/locales/en.yml +5 -0
  69. data/spec/dummy/config/routes.rb +60 -0
  70. data/spec/dummy/config/storage.yml +4 -0
  71. data/spec/dummy/config.ru +4 -0
  72. data/spec/dummy/db/development.sqlite3 +0 -0
  73. data/spec/dummy/db/migrate/20130121173847_create_phones.rb +9 -0
  74. data/spec/dummy/db/migrate/20130122075331_add_possible_number_to_phone.rb +5 -0
  75. data/spec/dummy/db/migrate/20140318165956_add_more_fields_to_phone.rb +6 -0
  76. data/spec/dummy/db/migrate/20161009182201_add_strict_field_to_phone.rb +5 -0
  77. data/spec/dummy/db/migrate/20161230181632_add_country_to_phone.rb +5 -0
  78. data/spec/dummy/db/migrate/20180522050128_add_country_number_to_phone.rb +5 -0
  79. data/spec/dummy/db/migrate/20180731040557_add_type_mobile_number_to_phone.rb +5 -0
  80. data/spec/dummy/db/migrate/20181021065112_add_country_specifier_proc_number_to_phone.rb +5 -0
  81. data/spec/dummy/db/schema.rb +30 -0
  82. data/spec/dummy/db/test.sqlite3 +0 -0
  83. data/spec/dummy/lib/override_phone_data.dat +0 -0
  84. data/spec/dummy/log/development.log +219 -0
  85. data/spec/dummy/log/test.log +5375 -0
  86. data/spec/dummy/public/404.html +26 -0
  87. data/spec/dummy/public/422.html +26 -0
  88. data/spec/dummy/public/500.html +25 -0
  89. data/spec/dummy/public/favicon.ico +0 -0
  90. data/spec/dummy/script/rails +6 -0
  91. data/spec/dummy/spec/controllers/phones_controller_spec.rb +88 -0
  92. data/spec/dummy/spec/fixtures/phones.yml +65 -0
  93. data/spec/dummy/spec/spec_helper.rb +35 -0
  94. data/spec/dummy/spec/unit/phone_spec.rb +122 -0
  95. data/spec/dummy/tmp/development_secret.txt +1 -0
  96. data/spec/phonelib_bench.rb +20 -0
  97. data/spec/phonelib_ips_bench.rb +27 -0
  98. data/spec/phonelib_memory_bench.rb +29 -0
  99. data/spec/phonelib_spec.rb +1534 -0
  100. metadata +186 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69fe9f8fd0ceac31311de09cba322da5100f51b00cec1c55ca84cea3f7f94a31
4
- data.tar.gz: 0053507cf791eb8ad5281d8b28cf7438e526fa240745d109f508a265a2832f64
3
+ metadata.gz: 4257d6138bc1ef7dbea3c3679a7095ee48cd91e54c1f029e12723a44dbc5b4c2
4
+ data.tar.gz: 54786b4f7ff6498e06e7b8c77bf2d796e4bb9364353707b7a411243eaceacdb4
5
5
  SHA512:
6
- metadata.gz: 328abf4796f0713071a90b284a553c96e5c63abc3fff63d2d75ed01cb3d468d671409759db28e54c0280d4da20b53eef114573c0bf93e1393e5e5b43ae663459
7
- data.tar.gz: bb648088c085a2fb4efaecfc82ec4088ede9c49b18b744b169fb653461c41ab12a356aec0c57e51abadc9b2af4708744fa571adc61df78f86db08866d4e81d08
6
+ metadata.gz: fe275a7326d5817674cebb59834a8434456d9e26890441f549df2fed64536441fe351ed1c155f778e6c55fc7552e39438401309353f986d2ecabf7fb26167987
7
+ data.tar.gz: 4bddad743925e1e69942dd8fdc77919207f014dc683e333de6466d7ae703f67cd49c39ce1d38dc55b8d77bb354799d417e70f0ac14acfa799b15b2b7e7a7d310
data/Rakefile CHANGED
@@ -40,4 +40,4 @@ RSpec::Core::RakeTask.new(:spec) do |t|
40
40
  end
41
41
  task :default => :spec
42
42
 
43
- load 'tasks/phonelib_tasks.rake'
43
+ load 'lib/tasks/phonelib_tasks.rake'
Binary file
data/data/phone_data.dat CHANGED
Binary file
data/lib/phonelib/core.rb CHANGED
@@ -284,7 +284,7 @@ module Phonelib
284
284
  CARRIER_SPECIFIC = :carrier_specific
285
285
  # @private SMS Services only type
286
286
  SMS_SERVICES = :sms_services
287
- # @private expendad emergency type
287
+ # @private expanded emergency type
288
288
  EXPANDED_EMERGENCY = :expanded_emergency
289
289
  # @private no international dialling type
290
290
  NO_INTERNATIONAL_DIALING = :no_international_dialling
@@ -106,7 +106,7 @@ module Phonelib
106
106
  format_match[1] == Core::AREA_CODE_MOBILE_TOKENS[country]
107
107
  take_group = 2
108
108
  end
109
- format_match[take_group]
109
+ format_match && format_match[take_group]
110
110
  end
111
111
 
112
112
  def method_missing(method, *args)
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Phonelib
4
4
  # @private
5
- VERSION = '0.10.14'
5
+ VERSION = '0.10.18'
6
6
  end
data/lib/phonelib.rb CHANGED
@@ -3,12 +3,12 @@
3
3
  # main Phonelib module definition
4
4
  module Phonelib
5
5
  # load phonelib classes/modules
6
- autoload :Core, 'phonelib/core'
7
- autoload :Phone, 'phonelib/phone'
8
- autoload :PhoneFormatter, 'phonelib/phone_formatter'
9
- autoload :PhoneAnalyzer, 'phonelib/phone_analyzer'
10
- autoload :PhoneAnalyzerHelper, 'phonelib/phone_analyzer_helper'
11
- autoload :PhoneExtendedData, 'phonelib/phone_extended_data'
6
+ require 'phonelib/core'
7
+ require 'phonelib/phone_formatter'
8
+ require 'phonelib/phone_analyzer_helper'
9
+ require 'phonelib/phone_analyzer'
10
+ require 'phonelib/phone_extended_data'
11
+ require 'phonelib/phone'
12
12
 
13
13
  extend Core
14
14
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ ENV["RAILS_ENV"] ||= 'test'
4
+
5
+ require 'benchmark/ips'
6
+ require 'benchmark/memory'
7
+ require 'benchmark'
8
+ require 'phonelib'
9
+ require 'rspec'
10
+
11
+ puts "Timing phonelib using Ruby #{RUBY_VERSION}"
12
+
13
+ def test_numbers
14
+ @test_numbers ||= {}.tap do |test_numbers|
15
+ data_file = File.dirname(__FILE__) + '/../data/phone_data.dat'
16
+ phone_data = Marshal.load(File.binread(data_file))
17
+ phone_data.each do |key, data|
18
+ country = data[:id]
19
+ next unless country =~ /[A-Z]{2}/
20
+ data[:types].each do |type, type_data|
21
+ next unless Phonelib::Core::TYPES_DESC.keys.include? type
22
+ next unless type_data[:example_number]
23
+ type_data[:example_number].split('|').each do |number|
24
+ test_numbers[key] ||= []
25
+ test_numbers[key] << number
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+
32
+ puts "starting benchmark for #{test_numbers.values.map(&:size).inject(:+)} numbers in #{test_numbers.keys.size} countries"