mini_phone 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e442f98e547a4059112a40d4a28d79b7438ded4ec9d697ed7a59e03447e073f3
4
- data.tar.gz: b7ff1d3b6c32564197471098acb0654f214a035df703382500a5c7c825b80d9f
3
+ metadata.gz: 4f7c87533de0643b9af5d9394d62a238208c34fa34e16effbb9064e9fd3578d7
4
+ data.tar.gz: 5868d8b76184925da0ba875fa0a5df7c3bb61f920b51f5d9391fd2d742335ddc
5
5
  SHA512:
6
- metadata.gz: 90e2db831e7edf8ccbe083f3daad5830d8d65d6945598441a4b7bc38c0b191d5aec85c7356b9549375add822e3e6b8d27d550ed647d1721d29fb4113e50e6fc3
7
- data.tar.gz: adc1643314e3f781e9c427ff6540ba406995c14e9429fa4c520b681375459a73711fa1cbf8072c51c7f2b79f781a44fd81d219e79c6388e0d6c25f3e56e0e781
6
+ metadata.gz: 6bdb02eee2405855e49defd3e27d9eccd8934ec1bc1c02977b69d17026d32500969b443b053b1eece4ca7f72294a2d57349c19cfe14f6993c02dab6d21ec9d21
7
+ data.tar.gz: e57f59c8c2b75a1e4983d8a7fc3941fa1c641bd1c55eb13185bc9c8b35347b39a3ce301e65e021887f5bfc403ee8b0b5e5bad60d20e3604900418c0b6d46511e
@@ -125,6 +125,8 @@ static inline VALUE rb_phone_number_nullify_ivars(VALUE self) {
125
125
  rb_iv_set(self, "@raw_national", Qnil);
126
126
  rb_iv_set(self, "@dasherized_national", Qnil);
127
127
  rb_iv_set(self, "@international", Qnil);
128
+ rb_iv_set(self, "@raw_international", Qnil);
129
+ rb_iv_set(self, "@dasherized_international", Qnil);
128
130
  rb_iv_set(self, "@e164", Qnil);
129
131
  rb_iv_set(self, "@country_code", Qnil);
130
132
  rb_iv_set(self, "@region_code", Qnil);
@@ -252,6 +254,47 @@ extern "C" VALUE rb_phone_number_dasherized_national(VALUE self) {
252
254
  return rb_iv_set(self, "@dasherized_national", result);
253
255
  }
254
256
 
257
+ extern "C" VALUE rb_phone_number_country_code(VALUE self) {
258
+ if (rb_ivar_defined(self, rb_intern("@country_code"))) {
259
+ return rb_iv_get(self, "@country_code");
260
+ }
261
+
262
+ PhoneNumberInfo *phone_number_info;
263
+ Data_Get_Struct(self, PhoneNumberInfo, phone_number_info);
264
+
265
+ int code = phone_number_info->phone_number.country_code();
266
+
267
+ VALUE result = INT2NUM(code);
268
+
269
+ return rb_iv_set(self, "@country_code", result);
270
+ }
271
+
272
+ extern "C" VALUE rb_phone_number_dasherized_international(VALUE self) {
273
+ if (rb_ivar_defined(self, rb_intern("@dasherized_international"))) {
274
+ return rb_iv_get(self, "@dasherized_international");
275
+ }
276
+
277
+ VALUE national = rb_phone_number_dasherized_national(self);
278
+ VALUE cc = rb_fix2str(rb_phone_number_country_code(self), 10);
279
+ VALUE dash = rb_str_new("-", 1);
280
+ VALUE prefix = rb_str_concat(cc, dash);
281
+ VALUE result = rb_str_concat(prefix, national);
282
+
283
+ return rb_iv_set(self, "@dasherized_international", result);
284
+ }
285
+
286
+ extern "C" VALUE rb_phone_number_raw_international(VALUE self) {
287
+ if (rb_ivar_defined(self, rb_intern("@raw_international"))) {
288
+ return rb_iv_get(self, "@raw_international");
289
+ }
290
+
291
+ VALUE national = rb_phone_number_raw_national(self);
292
+ VALUE cc = rb_fix2str(rb_phone_number_country_code(self), 10);
293
+ VALUE result = rb_str_concat(cc, national);
294
+
295
+ return rb_iv_set(self, "@raw_international", result);
296
+ }
297
+
255
298
  extern "C" VALUE rb_phone_number_valid_eh(VALUE self) {
256
299
  if (rb_ivar_defined(self, rb_intern("@valid"))) {
257
300
  return rb_iv_get(self, "@valid");
@@ -313,21 +356,6 @@ extern "C" VALUE rb_phone_number_region_code(VALUE self) {
313
356
  return rb_iv_set(self, "@region_code", result);
314
357
  }
315
358
 
316
- extern "C" VALUE rb_phone_number_country_code(VALUE self) {
317
- if (rb_ivar_defined(self, rb_intern("@country_code"))) {
318
- return rb_iv_get(self, "@country_code");
319
- }
320
-
321
- PhoneNumberInfo *phone_number_info;
322
- Data_Get_Struct(self, PhoneNumberInfo, phone_number_info);
323
-
324
- int code = phone_number_info->phone_number.country_code();
325
-
326
- VALUE result = INT2NUM(code);
327
-
328
- return rb_iv_set(self, "@country_code", result);
329
- }
330
-
331
359
  extern "C" VALUE rb_phone_number_eql_eh(VALUE self, VALUE other) {
332
360
  if (!rb_obj_is_instance_of(other, rb_cPhoneNumber)) {
333
361
  return Qfalse;
@@ -481,6 +509,10 @@ extern "C" void Init_mini_phone(void) {
481
509
  rb_define_method(rb_cPhoneNumber, "national", reinterpret_cast<VALUE (*)(...)>(rb_phone_number_national), 0);
482
510
 
483
511
  rb_define_method(rb_cPhoneNumber, "raw_national", reinterpret_cast<VALUE (*)(...)>(rb_phone_number_raw_national), 0);
512
+ rb_define_method(rb_cPhoneNumber, "raw_international",
513
+ reinterpret_cast<VALUE (*)(...)>(rb_phone_number_raw_international), 0);
514
+ rb_define_method(rb_cPhoneNumber, "dasherized_international",
515
+ reinterpret_cast<VALUE (*)(...)>(rb_phone_number_dasherized_international), 0);
484
516
  rb_define_method(rb_cPhoneNumber, "dasherized_national",
485
517
  reinterpret_cast<VALUE (*)(...)>(rb_phone_number_dasherized_national), 0);
486
518
  rb_define_method(rb_cPhoneNumber, "international", reinterpret_cast<VALUE (*)(...)>(rb_phone_number_international),
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MiniPhone
4
- VERSION = '1.0.5'
4
+ VERSION = '1.0.6'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_phone
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Ker-Seymer