ao_phone_number 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/ao_phone_number.rb +39 -0
- metadata +44 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3cfa1c7b97c5f23a11ed98de122395b98d3236e1bffdd884c36e479e8e0698e8
|
4
|
+
data.tar.gz: e29cc9165fcb65e82a57c08c5d62a5c4347f9b0a5e23ed85afb03540e8aadb86
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 22b56bce674be08dceb7238b2d3d0057c64a8cfe590850c9b14b9c356357dae997a510e703ce1a4d86599f0650e2085ff72d666320bc93df9436a80f2971f2c9
|
7
|
+
data.tar.gz: 990f6bcfe9e8923635a433f4eb6b5c06074bdf9f232c4a4d605709f6128c384562b825132b75d292c935491344eead25aee2787ccf5575da48103aee8cf141cb
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class AoPhoneNumber
|
2
|
+
# TODO: Phone number codes can have only 2 digits without the third digit being 0.
|
3
|
+
UNITEL_CODES = %w[921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948]
|
4
|
+
MOVICEL_CODES = %w[911 912 913 914 915 916 917 918 919 991 992 993 994 995 996 997 998]
|
5
|
+
|
6
|
+
attr_accessor :phone_number
|
7
|
+
|
8
|
+
def initialize(phone_number)
|
9
|
+
@phone_number = phone_number
|
10
|
+
end
|
11
|
+
|
12
|
+
def valid?
|
13
|
+
formatted? && operator_code?
|
14
|
+
end
|
15
|
+
|
16
|
+
def unitel?
|
17
|
+
formatted? && UNITEL_CODES.include?(operator_code)
|
18
|
+
end
|
19
|
+
|
20
|
+
def movicel?
|
21
|
+
formatted? && MOVICEL_CODES.include?(operator_code)
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def formatted?
|
27
|
+
!/\A[0-9]{9}\z/.match(@phone_number).nil?
|
28
|
+
end
|
29
|
+
|
30
|
+
def operator_code
|
31
|
+
return @phone_number[0..2] if formatted?
|
32
|
+
raise AoPhoneNumberInvalidError unless formatted?
|
33
|
+
end
|
34
|
+
|
35
|
+
def operator_code?
|
36
|
+
all = UNITEL_CODES + MOVICEL_CODES
|
37
|
+
all.include?(operator_code)
|
38
|
+
end
|
39
|
+
end
|
metadata
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ao_phone_number
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Amarildo Lucas
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-05-05 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: ao_phone_number é uma Ruby gem para validar números e operadoras móveis
|
14
|
+
de Angola.
|
15
|
+
email: hi@amarildolucas.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/ao_phone_number.rb
|
21
|
+
homepage: http://rubygemgem.org/gems/ao_phone_number
|
22
|
+
licenses: []
|
23
|
+
metadata: {}
|
24
|
+
post_install_message:
|
25
|
+
rdoc_options: []
|
26
|
+
require_paths:
|
27
|
+
- lib
|
28
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
35
|
+
- - ">="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
requirements: []
|
39
|
+
rubyforge_project:
|
40
|
+
rubygems_version: 2.7.6
|
41
|
+
signing_key:
|
42
|
+
specification_version: 4
|
43
|
+
summary: ao_phone_number Ruby gem
|
44
|
+
test_files: []
|