Sha256: 1534c2e6c644f49a7dfc93d5c634f0a62881b6a10c6d8419de5de198d1ca8251
Contents?: true
Size: 1.19 KB
Versions: 4
Compression:
Stored size: 1.19 KB
Contents
# Populates db with units of measure. class PopulateOkeiCorrectors < ActiveRecord::Migration # reloads units and their uuids from db/seed/units.json def up return if Rails.env.test? down bases.each { |name, klass| populate name, klass } end # deletes all units with their uuids. def down return if Rails.env.test? bases.each { |name, klass| clear name, klass } end private def clear(name, klass) list = klass.by_scope("okei") say_with_time "Removing #{ list.count } #{ name }" do list.delete_all left = list.count fail "#{ left } #{ name } left undeleted" if left > 0 end end def populate(name, klass) list = JSON.parse(File.read File.join(seeds, "#{ name }.json")) say_with_time "Adding #{ list.count } #{ name }" do list.each { |from, to| klass.create! scope: "okei", from: from, to: to } end end def bases @bases ||= { words: Corrector::Word, phrases: Corrector::Phrase, prefixes: Corrector::Prefix } end # Returns json seeds folder def seeds @seeds ||= begin root = File.dirname File.dirname(Okei::Engine.called_from) File.join(root, "db", "seeds") end end end
Version data entries
4 entries across 4 versions & 1 rubygems