Class: SeedData::Categories
- Inherits:
-
Object
- Object
- SeedData::Categories
- Defined in:
- lib/seed_data/categories.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create(site_setting_names: nil) ⇒ Object
-
#initialize(locale) ⇒ Categories
constructor
A new instance of Categories.
- #reseed_options ⇒ Object
- #update(site_setting_names: nil, skip_changed: false) ⇒ Object
Constructor Details
#initialize(locale) ⇒ Categories
Returns a new instance of Categories.
9 10 11 |
# File 'lib/seed_data/categories.rb', line 9 def initialize(locale) @locale = locale end |
Class Method Details
.with_default_locale ⇒ Object
5 6 7 |
# File 'lib/seed_data/categories.rb', line 5 def self.with_default_locale SeedData::Categories.new(SiteSetting.default_locale) end |
Instance Method Details
#create(site_setting_names: nil) ⇒ Object
13 14 15 16 17 |
# File 'lib/seed_data/categories.rb', line 13 def create(site_setting_names: nil) I18n.with_locale(@locale) do categories(site_setting_names).each { |params| create_category(**params) } end end |
#reseed_options ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/seed_data/categories.rb', line 29 def I18n.with_locale(@locale) do categories .map do |params| category = find_category(params[:site_setting_name]) next unless category { id: params[:site_setting_name], name: category.name, selected: unchanged?(category) } end .compact end end |
#update(site_setting_names: nil, skip_changed: false) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/seed_data/categories.rb', line 19 def update(site_setting_names: nil, skip_changed: false) I18n.with_locale(@locale) do categories(site_setting_names).each do |params| params.slice!(:site_setting_name, :name, :description) params[:skip_changed] = skip_changed update_category(**params) end end end |