From aa10cfca8ff5eeb7e4c197f3c3ee04a585101605 Mon Sep 17 00:00:00 2001 From: Leonard Smith Date: Sun, 4 Oct 2020 17:25:57 -0500 Subject: [PATCH] Refacter the model setup --- app/models/book.js | 7 +++++++ app/models/chapter.js | 9 +++++++++ app/models/lexicon-entry.js | 9 --------- app/models/verse-word.js | 12 ------------ app/models/verse.js | 8 +++++--- app/models/word.js | 12 ++++++++++++ tests/unit/models/{verse-test.js => book-test.js} | 4 ++-- .../models/{verse-word-test.js => chapter-test.js} | 4 ++-- .../models/{lexicon-entry-test.js => word-test.js} | 4 ++-- 9 files changed, 39 insertions(+), 30 deletions(-) create mode 100644 app/models/book.js create mode 100644 app/models/chapter.js delete mode 100644 app/models/lexicon-entry.js delete mode 100644 app/models/verse-word.js create mode 100644 app/models/word.js rename tests/unit/models/{verse-test.js => book-test.js} (72%) rename tests/unit/models/{verse-word-test.js => chapter-test.js} (70%) rename tests/unit/models/{lexicon-entry-test.js => word-test.js} (69%) diff --git a/app/models/book.js b/app/models/book.js new file mode 100644 index 0000000..40853a3 --- /dev/null +++ b/app/models/book.js @@ -0,0 +1,7 @@ +import Model from '@ember-data/model'; + +export default class BookModel extends Model { + @attr name; + + @hasMany('chapter') chapters; +} diff --git a/app/models/chapter.js b/app/models/chapter.js new file mode 100644 index 0000000..3088fcf --- /dev/null +++ b/app/models/chapter.js @@ -0,0 +1,9 @@ +import Model from '@ember-data/model'; + +export default class ChapterModel extends Model { + @attr name; + + @belongsTo('book') book; + + @hasMany('verse') verses; +} diff --git a/app/models/lexicon-entry.js b/app/models/lexicon-entry.js deleted file mode 100644 index 8071ff5..0000000 --- a/app/models/lexicon-entry.js +++ /dev/null @@ -1,9 +0,0 @@ -import Model from '@ember-data/model'; - -export default class LexiconEntryModel extends Model { - @attr strongsNumber; - @attr lexeme; - @attr commentary; - - @belongsTo('verse-word') word; -} diff --git a/app/models/verse-word.js b/app/models/verse-word.js deleted file mode 100644 index b09d47d..0000000 --- a/app/models/verse-word.js +++ /dev/null @@ -1,12 +0,0 @@ -import Model from '@ember-data/model'; - -export default class VerseWordModel extends Model { - @attr ulb; - @attr greek; - @attr morph; - @attr ogntSort; - @attr lexeme; - - @belongsTo('verse') verse; - @belongsTo('lexicon-entry') lexiconEntry; -} diff --git a/app/models/verse.js b/app/models/verse.js index 3406e7d..f869432 100644 --- a/app/models/verse.js +++ b/app/models/verse.js @@ -2,8 +2,10 @@ import Model from '@ember-data/model'; export default class VerseModel extends Model { @attr name; - @attr greek; - @attr ulb; + @attr greek_text; + @attr ulb_text; - @hasMany('verse-word') words; + @belongsTo('chapter') chapter; + + @hasMany('word') words; } diff --git a/app/models/word.js b/app/models/word.js new file mode 100644 index 0000000..6fd094c --- /dev/null +++ b/app/models/word.js @@ -0,0 +1,12 @@ +import Model from '@ember-data/model'; + +export default class WordModel extends Model { + @attr ulb; + @attr greek; + @attr lemma; + @attr morph; + @attr ognt_sort; + @attr strongs_number; + + @belongsTo('verse') verse; +} diff --git a/tests/unit/models/verse-test.js b/tests/unit/models/book-test.js similarity index 72% rename from tests/unit/models/verse-test.js rename to tests/unit/models/book-test.js index c27b4b0..95718c3 100644 --- a/tests/unit/models/verse-test.js +++ b/tests/unit/models/book-test.js @@ -1,13 +1,13 @@ import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; -module('Unit | Model | verse', function(hooks) { +module('Unit | Model | book', function(hooks) { setupTest(hooks); // Replace this with your real tests. test('it exists', function(assert) { let store = this.owner.lookup('service:store'); - let model = store.createRecord('verse', {}); + let model = store.createRecord('book', {}); assert.ok(model); }); }); diff --git a/tests/unit/models/verse-word-test.js b/tests/unit/models/chapter-test.js similarity index 70% rename from tests/unit/models/verse-word-test.js rename to tests/unit/models/chapter-test.js index 9240333..5199c47 100644 --- a/tests/unit/models/verse-word-test.js +++ b/tests/unit/models/chapter-test.js @@ -1,13 +1,13 @@ import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; -module('Unit | Model | verse word', function(hooks) { +module('Unit | Model | chapter', function(hooks) { setupTest(hooks); // Replace this with your real tests. test('it exists', function(assert) { let store = this.owner.lookup('service:store'); - let model = store.createRecord('verse-word', {}); + let model = store.createRecord('chapter', {}); assert.ok(model); }); }); diff --git a/tests/unit/models/lexicon-entry-test.js b/tests/unit/models/word-test.js similarity index 69% rename from tests/unit/models/lexicon-entry-test.js rename to tests/unit/models/word-test.js index 435804c..3e0ea6e 100644 --- a/tests/unit/models/lexicon-entry-test.js +++ b/tests/unit/models/word-test.js @@ -1,13 +1,13 @@ import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; -module('Unit | Model | lexicon entry', function(hooks) { +module('Unit | Model | word', function(hooks) { setupTest(hooks); // Replace this with your real tests. test('it exists', function(assert) { let store = this.owner.lookup('service:store'); - let model = store.createRecord('lexicon-entry', {}); + let model = store.createRecord('word', {}); assert.ok(model); }); });