diff --git a/app/services/contact_details/base.rb b/app/services/contact_details/base.rb index 80b1c8211df55ac4b2570034d2948f5a75d1001c..15a12c6c6fa5484796a18870c46a114e824e17b3 100644 --- a/app/services/contact_details/base.rb +++ b/app/services/contact_details/base.rb @@ -1,21 +1,21 @@ class ContactDetails::Base - attr_accessor :url, :label + attr_accessor :value, :label def initialize(string) @string = string.to_s return if @string.blank? - prepare_url + prepare_value prepare_label end def present? - url.present? + value.present? end protected - def prepare_url - @url = @string.dup + def prepare_value + @value = @string.dup end def prepare_label diff --git a/app/services/contact_details/email.rb b/app/services/contact_details/email.rb index ec1f6be6dd699ce80ca1dbb984d38fedab873616..24a2158d20c3ec175ab49a3d7042191764bcaa78 100644 --- a/app/services/contact_details/email.rb +++ b/app/services/contact_details/email.rb @@ -3,8 +3,8 @@ class ContactDetails::Email < ContactDetails::Base protected - def prepare_url - @url = "#{PREFIX}#{@string}" + def prepare_value + @value = "#{PREFIX}#{@string}" end end \ No newline at end of file diff --git a/app/services/contact_details/phone.rb b/app/services/contact_details/phone.rb index be75bbf8f56b0bdaa7c7d492a97363b7e9f7ec98..f874ccab2203a82c4b85d974e16eba0ee16d1078 100644 --- a/app/services/contact_details/phone.rb +++ b/app/services/contact_details/phone.rb @@ -3,14 +3,14 @@ class ContactDetails::Phone < ContactDetails::Base protected - def prepare_url + def prepare_value super - @url.remove! ' ' - @url.remove! '.' - @url = "#{PREFIX}#{@url}" + @value.remove! ' ' + @value.remove! '.' + @value = "#{PREFIX}#{@value}" end def prepare_label - @label = @url.remove PREFIX + @label = @value.remove PREFIX end end \ No newline at end of file diff --git a/app/services/contact_details/twitter.rb b/app/services/contact_details/twitter.rb index 208c93dd58ed90d1a366623b15b18410965d9f63..18d1270a8706dc4e54909a5c716c612248002a81 100644 --- a/app/services/contact_details/twitter.rb +++ b/app/services/contact_details/twitter.rb @@ -4,16 +4,16 @@ class ContactDetails::Twitter < ContactDetails::Base protected - def prepare_url + def prepare_value super - @url.remove! DOMAIN if @url.start_with? DOMAIN - @url.remove! URL if @url.start_with? URL - @url.delete_suffix! '/' - @url.delete_prefix! '/' - @url = "#{URL}#{@url}" + @value.remove! DOMAIN if @value.start_with? DOMAIN + @value.remove! URL if @value.start_with? URL + @value.delete_suffix! '/' + @value.delete_prefix! '/' + @value = "#{URL}#{@value}" end def prepare_label - @label = @url.remove URL + @label = @value.remove URL end end \ No newline at end of file diff --git a/app/services/contact_details/website.rb b/app/services/contact_details/website.rb index 7138658358ee556d1534ec395f65f7b302460de4..ee2f5b5df2bdf46152af2417eca8d7335466e49f 100644 --- a/app/services/contact_details/website.rb +++ b/app/services/contact_details/website.rb @@ -3,12 +3,12 @@ class ContactDetails::Website < ContactDetails::Base protected - def prepare_url + def prepare_value super - @url = "#{PROTOCOL}#{@url}" unless @url.start_with? PROTOCOL + @value = "#{PROTOCOL}#{@value}" unless @value.start_with? PROTOCOL end def prepare_label - @label = @url.remove PROTOCOL + @label = @value.remove PROTOCOL end end \ No newline at end of file diff --git a/app/views/admin/application/static/_contact_detail.html.erb b/app/views/admin/application/static/_contact_detail.html.erb index 29894af59ed3e34ef1ba1a2da2b83088dc6ea788..bc8b4235e1224a76a4466423c8218b292f4f60f1 100644 --- a/app/views/admin/application/static/_contact_detail.html.erb +++ b/app/views/admin/application/static/_contact_detail.html.erb @@ -4,5 +4,5 @@ if detail.present? %> <%= variable %>: label: <%= detail.label %> - url: <%= detail.url %> + value: <%= detail.value %> <% end %> \ No newline at end of file diff --git a/test/services/contact_details_test.rb b/test/services/contact_details_test.rb index d77a990deacd5102239cb7428683db7442034bc8..b08bab06f711b5ce4930028d67485e453aed33eb 100644 --- a/test/services/contact_details_test.rb +++ b/test/services/contact_details_test.rb @@ -5,85 +5,85 @@ class ContactDetailsTest < ActiveSupport::TestCase test "country nil" do detail = ContactDetails::Country.new nil assert_nil detail.label - assert_nil detail.url + assert_nil detail.value end test "country FR" do detail = ContactDetails::Country.new 'FR' assert_equal 'France', detail.label - assert_equal 'FR', detail.url + assert_equal 'FR', detail.value end test "email nil" do detail = ContactDetails::Email.new nil assert_nil detail.label - assert_nil detail.url + assert_nil detail.value end test "email arnaud.levy@noesya.coop" do detail = ContactDetails::Email.new 'arnaud.levy@noesya.coop' assert_equal 'arnaud.levy@noesya.coop', detail.label - assert_equal 'mailto:arnaud.levy@noesya.coop', detail.url + assert_equal 'mailto:arnaud.levy@noesya.coop', detail.value end test "twitter nil" do detail = ContactDetails::Twitter.new nil assert_nil detail.label - assert_nil detail.url + assert_nil detail.value end test "twitter handle" do detail = ContactDetails::Twitter.new 'arnaudlevy' assert_equal 'arnaudlevy', detail.label - assert_equal 'https://twitter.com/arnaudlevy', detail.url + assert_equal 'https://twitter.com/arnaudlevy', detail.value end test "mastodon nil" do detail = ContactDetails::Mastodon.new nil assert_nil detail.label - assert_nil detail.url + assert_nil detail.value end test "mastodon mastodon.social/@arnaudlevy" do detail = ContactDetails::Mastodon.new 'mastodon.social/@arnaudlevy' assert_equal 'mastodon.social/@arnaudlevy', detail.label - assert_equal 'https://mastodon.social/@arnaudlevy', detail.url + assert_equal 'https://mastodon.social/@arnaudlevy', detail.value end test "mastodon https://mastodon.social/@arnaudlevy" do detail = ContactDetails::Mastodon.new 'https://mastodon.social/@arnaudlevy' assert_equal 'mastodon.social/@arnaudlevy', detail.label - assert_equal 'https://mastodon.social/@arnaudlevy', detail.url + assert_equal 'https://mastodon.social/@arnaudlevy', detail.value end test "twitter twitter.com/arnaudlevy" do detail = ContactDetails::Twitter.new 'twitter.com/arnaudlevy' assert_equal 'arnaudlevy', detail.label - assert_equal 'https://twitter.com/arnaudlevy', detail.url + assert_equal 'https://twitter.com/arnaudlevy', detail.value end test "twitter https://twitter.com/arnaudlevy" do detail = ContactDetails::Twitter.new 'https://twitter.com/arnaudlevy' assert_equal 'arnaudlevy', detail.label - assert_equal 'https://twitter.com/arnaudlevy', detail.url + assert_equal 'https://twitter.com/arnaudlevy', detail.value end test "website nil" do detail = ContactDetails::Website.new nil assert_nil detail.label - assert_nil detail.url + assert_nil detail.value end test "website www.noesya.coop" do detail = ContactDetails::Website.new 'www.noesya.coop' assert_equal 'www.noesya.coop', detail.label - assert_equal 'https://www.noesya.coop', detail.url + assert_equal 'https://www.noesya.coop', detail.value end test "website https://www.noesya.coop" do detail = ContactDetails::Website.new 'https://www.noesya.coop' assert_equal 'www.noesya.coop', detail.label - assert_equal 'https://www.noesya.coop', detail.url + assert_equal 'https://www.noesya.coop', detail.value end end \ No newline at end of file