diff --git a/app/models/country_state.rb b/app/models/country_state.rb
index 94d4ab3..f328464 100644
--- a/app/models/country_state.rb
+++ b/app/models/country_state.rb
@@ -8,4 +8,6 @@ class CountryState < ApplicationRecord
validates :name, presence: true, uniqueness: true
validates :english_name, presence: true, uniqueness: true
+
+ validates :native_name, presence: true, uniqueness: true
end
diff --git a/app/views/country_states/index.html.erb b/app/views/country_states/index.html.erb
index 147e185..abfe2cf 100644
--- a/app/views/country_states/index.html.erb
+++ b/app/views/country_states/index.html.erb
@@ -8,6 +8,9 @@
<%= country_state.name %> |
<%= country_state.english_name %> |
+ <%= country_state.native_name %> |
<% if policy(country_state).show? %>
<%= link_to country_state,
diff --git a/app/views/country_states/show.html.erb b/app/views/country_states/show.html.erb
index 6fb5c0c..a19d2ef 100644
--- a/app/views/country_states/show.html.erb
+++ b/app/views/country_states/show.html.erb
@@ -1,6 +1,6 @@
- <%= @country_state.name %>
+ <%= @country_state.native_name %>
<%= @country_state.english_name %>
diff --git a/config/locales/activerecord/en.yml b/config/locales/activerecord/en.yml
index defeb9d..9a47e33 100644
--- a/config/locales/activerecord/en.yml
+++ b/config/locales/activerecord/en.yml
@@ -37,6 +37,7 @@ en:
membership_apps: Membership applications
name: Name
english_name: Name
+ native_name: Name
membership_app:
id: ID
country_state: State
diff --git a/config/locales/activerecord/ru.yml b/config/locales/activerecord/ru.yml
index 95ee55b..7427e2e 100644
--- a/config/locales/activerecord/ru.yml
+++ b/config/locales/activerecord/ru.yml
@@ -37,6 +37,7 @@ ru:
membership_apps: Заявления на вступление
name: Название
english_name: Название
+ native_name: Название
membership_app:
id: ID
country_state: Регион
diff --git a/db/migrate/20190324210722_add_native_name_to_country_states.rb b/db/migrate/20190324210722_add_native_name_to_country_states.rb
new file mode 100644
index 0000000..8fb3399
--- /dev/null
+++ b/db/migrate/20190324210722_add_native_name_to_country_states.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+class AddNativeNameToCountryStates < ActiveRecord::Migration[6.0]
+ def change
+ # rubocop:disable Rails/NotNullColumn
+ add_column :country_states, :native_name, :string, null: false
+ add_index :country_states, :native_name, unique: true
+ # rubocop:enable Rails/NotNullColumn
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 156fa2d..353fa2f 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 2019_03_24_204513) do
+ActiveRecord::Schema.define(version: 2019_03_24_210722) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -64,8 +64,10 @@ ActiveRecord::Schema.define(version: 2019_03_24_204513) do
t.datetime "updated_at", null: false
t.string "name", null: false
t.string "english_name", null: false
+ t.string "native_name", null: false
t.index ["english_name"], name: "index_country_states_on_english_name", unique: true
t.index ["name"], name: "index_country_states_on_name", unique: true
+ t.index ["native_name"], name: "index_country_states_on_native_name", unique: true
end
create_table "membership_apps", force: :cascade do |t|
diff --git a/db/seeds.rb b/db/seeds.rb
index cb15055..c67ef5f 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -10,7 +10,7 @@ CSV.foreach country_states_filename, col_sep: '|' do |(name, english_name)|
next if CountryState.where(name: name).exists?
- CountryState.create! name: name, english_name: english_name
+ CountryState.create! name: name, english_name: english_name, native_name: name
end
Rails.application.settings(:superuser).tap do |config|
diff --git a/factories/country_states.rb b/factories/country_states.rb
index 6ac4736..25d4008 100644
--- a/factories/country_states.rb
+++ b/factories/country_states.rb
@@ -8,5 +8,6 @@ FactoryBot.define do
name { Faker::Address.unique.state }
english_name { Faker::Address.unique.state }
+ native_name { Faker::Address.unique.state }
end
end
diff --git a/spec/models/country_state_spec.rb b/spec/models/country_state_spec.rb
index a8ddf96..05ff3b6 100644
--- a/spec/models/country_state_spec.rb
+++ b/spec/models/country_state_spec.rb
@@ -21,7 +21,9 @@ RSpec.describe CountryState do
it { is_expected.to validate_presence_of :name }
it { is_expected.to validate_presence_of :english_name }
+ it { is_expected.to validate_presence_of :native_name }
it { is_expected.to validate_uniqueness_of :name }
it { is_expected.to validate_uniqueness_of :english_name }
+ it { is_expected.to validate_uniqueness_of :native_name }
end
|