Skip to content

Commit deb02c4

Browse files
authored
Fix Ruby version dependency on error message (#45)
* Fix Ruby version dependency on error message * Improve error message for invalid IP address DRY
1 parent 9345840 commit deb02c4

File tree

5 files changed

+6
-6
lines changed

5 files changed

+6
-6
lines changed

app/models/filter_rule.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def allowed_ip_list
5656
begin
5757
[ip, IPAddr.new(ip)]
5858
rescue IPAddr::Error => e
59-
obj.errors.add(:base, l(:error_invalid_ip_addres_format_or_value, :message => e.message))
59+
obj.errors.add(:base, l(:error_invalid_ip_addres_format_or_value, :ip => ip))
6060
nil
6161
end
6262
end.compact.to_h

config/locales/en.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ en:
1515

1616
notice_forbidden_access_from_your_ip: Your IP address %{ip} is not allowed.
1717
notice_filter_rule_was_successfully_updated: Allowed IP addresses have been successfully updated.
18-
error_invalid_ip_addres_format_or_value: Invalid IP address (%{message}).
18+
error_invalid_ip_addres_format_or_value: Invalid IP address (%{ip}).
1919
error_filter_rules_have_to_include_admin_ip: Your current IP address must be included in allowed IP addresses (%{ip}).
2020
error_filter_rules_over_limit: Allowed IP addresses cannot be saved because the number of FilterRules over the limit %{limit}.
2121
error_filter_rules_ipv6: "Allowed IP addresses cannot be saved because %{ip} is an IPv6 address."

config/locales/ja.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ja:
1515

1616
notice_forbidden_access_from_your_ip: "%{ip} からのアクセスは許可されていません。"
1717
notice_filter_rule_was_successfully_updated: アクセス許可IPアドレスを更新しました。
18-
error_invalid_ip_addres_format_or_value: IPアドレスとしてのフォーマットまたは値が正しくありません (%{message}) 。
18+
error_invalid_ip_addres_format_or_value: IPアドレスとしてのフォーマットまたは値が正しくありません (%{ip}) 。
1919
error_filter_rules_have_to_include_admin_ip: アクセス許可IPアドレスは現在接続中のIPアドレス (%{ip}) を含まなければなりません。
2020
error_filter_rules_over_limit: アクセス許可IPアドレスの個数が上限 %{limit} を超えるため登録できません。
2121
error_filter_rules_ipv6: "IPv6アドレス %{ip} は登録できません。"

test/functional/filter_rules_controller_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def test_create_failur
3838
post :create , :params => { :filter_rule => { :allowed_ips => invalid_address } }
3939
assert_response :success
4040
assert_select 'textarea#filter_rule_allowed_ips', :text => invalid_address
41-
assert_select 'div#errorExplanation li', :text => I18n.translate(:error_invalid_ip_addres_format_or_value, :message => "invalid address: #{invalid_address}")
41+
assert_select 'div#errorExplanation li', :text => I18n.translate(:error_invalid_ip_addres_format_or_value, :ip => invalid_address)
4242

4343
@filter_rule = FilterRule.find_or_default
4444
assert_equal '', @filter_rule.allowed_ips
@@ -72,7 +72,7 @@ def test_update_failur
7272
put :update, :params => { :filter_rule => { :allowed_ips => invalid_address } }
7373
assert_response :success
7474
assert_select 'textarea#filter_rule_allowed_ips', :text => invalid_address
75-
assert_select 'div#errorExplanation li', :text => I18n.translate(:error_invalid_ip_addres_format_or_value, :message => "invalid address: #{invalid_address}")
75+
assert_select 'div#errorExplanation li', :text => I18n.translate(:error_invalid_ip_addres_format_or_value, :ip => invalid_address)
7676
@filter_rule.reload
7777
assert_equal "11.22.33.44\n22.33.44.55", @filter_rule.allowed_ips
7878
end

test/unit/filter_rule_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def test_validate_allowed_ip_limit
9696
def test_validate_format
9797
@filter_rule.allowed_ips = "11.22.33.44\n\n22.33.44.0/24\n22.33.44.Go"
9898
assert !@filter_rule.valid?
99-
assert_include I18n.translate(:error_invalid_ip_addres_format_or_value, :message => 'invalid address: 22.33.44.Go'), @filter_rule.errors[:base]
99+
assert_include I18n.translate(:error_invalid_ip_addres_format_or_value, :ip => '22.33.44.Go'), @filter_rule.errors[:base]
100100
end
101101

102102
def test_validate_ipv6_addr

0 commit comments

Comments
 (0)