udongo 5.1.0 → 5.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/backend/application.js +1 -1
- data/app/controllers/backend/assets_controller.rb +52 -0
- data/app/models/asset.rb +37 -0
- data/app/models/asset_image.rb +172 -0
- data/app/models/concerns/imageable.rb +13 -0
- data/app/models/image.rb +11 -0
- data/app/uploaders/asset_uploader.rb +36 -0
- data/app/views/backend/assets/_filter.html.erb +17 -0
- data/app/views/backend/assets/_form.html.erb +28 -0
- data/app/views/backend/assets/edit.html.erb +5 -0
- data/app/views/backend/assets/index.html.erb +48 -0
- data/app/views/backend/assets/new.html.erb +4 -0
- data/app/views/backend/snippets/edit.html.erb +1 -1
- data/app/views/backend/users/index.html.erb +2 -2
- data/app/views/layouts/backend/_top_navigation.html.erb +1 -0
- data/changelog.md +9 -0
- data/config/locales/en.yml +2 -1
- data/config/locales/en_backend.yml +6 -0
- data/config/locales/en_general.yml +1 -0
- data/config/locales/fr.yml +1 -1
- data/config/locales/nl.yml +2 -1
- data/config/locales/nl_backend.yml +5 -0
- data/config/locales/nl_general.yml +1 -0
- data/config/routes.rb +2 -0
- data/db/migrate/20170225144523_create_assets.rb +14 -0
- data/db/migrate/20170228183831_create_images.rb +18 -0
- data/lib/udongo/configs/assets.rb +10 -0
- data/lib/udongo/version.rb +1 -1
- data/readme.md +11 -0
- data/spec/factories/addresses.rb +6 -0
- data/spec/factories/admins.rb +10 -0
- data/spec/factories/assets.rb +5 -0
- data/spec/factories/comments.rb +9 -0
- data/spec/factories/content_columns.rb +10 -0
- data/spec/factories/content_images.rb +9 -0
- data/spec/factories/content_rows.rb +5 -0
- data/spec/factories/content_texts.rb +4 -0
- data/spec/factories/email_templates.rb +8 -0
- data/spec/factories/emails.rb +11 -0
- data/spec/factories/images.rb +5 -0
- data/spec/factories/logs.rb +4 -0
- data/spec/factories/meta.rb +7 -0
- data/spec/factories/navigation_items.rb +5 -0
- data/spec/factories/navigations.rb +6 -0
- data/spec/factories/notes.rb +6 -0
- data/spec/factories/pages.rb +5 -0
- data/spec/factories/queued_tasks.rb +5 -0
- data/spec/factories/redirects.rb +7 -0
- data/spec/factories/search_indices.rb +6 -0
- data/spec/factories/search_modules.rb +5 -0
- data/spec/factories/search_synonyms.rb +7 -0
- data/spec/factories/settings.rb +7 -0
- data/spec/factories/snippets.rb +6 -0
- data/spec/factories/stores.rb +6 -0
- data/spec/factories/tagged_items.rb +5 -0
- data/spec/factories/tags.rb +7 -0
- data/spec/factories/users.rb +9 -0
- data/spec/support/concerns/cacheable.rb +10 -0
- data/spec/support/concerns/commentable.rb +10 -0
- data/spec/support/concerns/content_type.rb +20 -0
- data/spec/support/concerns/deletable.rb +33 -0
- data/spec/support/concerns/draggable.rb +29 -0
- data/spec/support/concerns/emailable.rb +7 -0
- data/spec/support/concerns/flexible_content.rb +22 -0
- data/spec/support/concerns/imageable.rb +15 -0
- data/spec/support/concerns/locale.rb +21 -0
- data/spec/support/concerns/loggable.rb +19 -0
- data/spec/support/concerns/notable.rb +10 -0
- data/spec/support/concerns/parentable.rb +73 -0
- data/spec/support/concerns/person.rb +15 -0
- data/spec/support/concerns/publishable.rb +41 -0
- data/spec/support/concerns/searchable.rb +130 -0
- data/spec/support/concerns/seo.rb +54 -0
- data/spec/support/concerns/sortable.rb +67 -0
- data/spec/support/concerns/spammable.rb +53 -0
- data/spec/support/concerns/storable.rb +18 -0
- data/spec/support/concerns/taggable.rb +51 -0
- data/spec/support/concerns/translatable.rb +71 -0
- data/spec/support/concerns/visible.rb +64 -0
- metadata +66 -2
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
shared_examples_for :seo do
|
4
|
+
let(:model) { described_class }
|
5
|
+
let(:klass) { model.to_s.underscore.to_sym }
|
6
|
+
let(:instance) { create(klass) }
|
7
|
+
|
8
|
+
describe '#seo' do
|
9
|
+
it 'always returns a meta object' do
|
10
|
+
expect(instance.seo(:nl).class).to eq Meta
|
11
|
+
end
|
12
|
+
|
13
|
+
describe 'fetch locale specific meta object' do
|
14
|
+
it 'new' do
|
15
|
+
instance.seo(:nl) == instance.seo(:nl)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'saved' do
|
19
|
+
meta = instance.meta.create(locale: 'nl', slug: 'test')
|
20
|
+
expect(instance.seo(:nl)).to eq meta
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '.find_by_slug' do
|
26
|
+
it :result do
|
27
|
+
instance.meta.create!(locale: 'nl', slug: 'test')
|
28
|
+
expect(model.find_by_slug('test', locale: :nl)).to eq instance
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'no result' do
|
32
|
+
expect(model.find_by_slug('test', locale: :nl)).to eq nil
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe '.find_by_slug!' do
|
37
|
+
it :result do
|
38
|
+
instance.meta.create!(locale: 'nl', slug: 'test')
|
39
|
+
expect(model.find_by_slug!('test', locale: :nl)).to eq instance
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'no result' do
|
43
|
+
expect{ model.find_by_slug!('test', locale: :nl) }.to raise_exception RuntimeError
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it '#respond_to?' do
|
48
|
+
expect(build(klass)).to respond_to(:meta, :seo)
|
49
|
+
end
|
50
|
+
|
51
|
+
it '.respond_to?' do
|
52
|
+
expect(model).to respond_to(:find_by_slug, :find_by_slug!)
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
shared_examples_for :sortable do
|
4
|
+
let(:model) { described_class }
|
5
|
+
let(:klass) { model.to_s.underscore.to_sym }
|
6
|
+
|
7
|
+
describe 'scopes' do
|
8
|
+
it :default_scope do
|
9
|
+
a = create(klass, position: 2)
|
10
|
+
b = create(klass, position: 3)
|
11
|
+
c = create(klass, position: 1)
|
12
|
+
expect(model.all).to eq [c, a, b]
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'new records' do
|
16
|
+
a = create(klass)
|
17
|
+
b = create(klass)
|
18
|
+
c = create(klass)
|
19
|
+
expect(model.all).to eq [a, b, c]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#set_position' do
|
24
|
+
before :each do
|
25
|
+
@first = create klass, position: 1
|
26
|
+
|
27
|
+
if @first.scope_condition.is_a?(Hash)
|
28
|
+
@second = create klass, @first.scope_condition.merge!({ position: 2 })
|
29
|
+
else
|
30
|
+
@second = create klass, position: 2
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it :parentable do
|
35
|
+
if @first.respond_to?(:parentable) && @first.parentable? && @first.scope_name == 'parent_id'
|
36
|
+
two = create(klass, parent_id: @first.id)
|
37
|
+
three = create(klass)
|
38
|
+
|
39
|
+
three.set_position 2, @first.id
|
40
|
+
expect(three.parent_id).to eq @first.id
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context 'draggable' do
|
45
|
+
it :with do
|
46
|
+
if @first.respond_to?(:draggable)
|
47
|
+
@first.update_attribute :draggable, false
|
48
|
+
@first.set_position 2
|
49
|
+
|
50
|
+
expect(model.find(@first.id).position).to eq 1
|
51
|
+
expect(model.find(@second.id).position).to eq 2
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# You can't test the state without draggable/parentable reliably, due
|
56
|
+
# to scope issues.
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
it '.respond_to?' do
|
61
|
+
expect(model).to respond_to(:acts_as_list, :sortable)
|
62
|
+
end
|
63
|
+
|
64
|
+
it '#respond_to?' do
|
65
|
+
expect(model.new).to respond_to(:set_position, :set_list_position)
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
shared_examples_for :spammable do
|
4
|
+
let(:model) { described_class }
|
5
|
+
let(:klass) { model.to_s.underscore.to_sym }
|
6
|
+
|
7
|
+
describe 'scopes' do
|
8
|
+
before(:each) do
|
9
|
+
@a = create(klass, marked_as_spam: nil)
|
10
|
+
@b = create(klass, marked_as_spam: false)
|
11
|
+
@c = create(klass, marked_as_spam: true)
|
12
|
+
end
|
13
|
+
|
14
|
+
it(:spam) { expect(model.spam).to eq [@c] }
|
15
|
+
it(:not_spam) { expect(model.not_spam).to eq [@a, @b] }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'defaults' do
|
19
|
+
it 'not set' do
|
20
|
+
expect(build(klass)).not_to be_marked_as_spam
|
21
|
+
end
|
22
|
+
|
23
|
+
describe 'set' do
|
24
|
+
it :true do
|
25
|
+
expect(build(klass, marked_as_spam: true)).to be_marked_as_spam
|
26
|
+
end
|
27
|
+
|
28
|
+
it :false do
|
29
|
+
expect(build(klass, marked_as_spam: false)).not_to be_marked_as_spam
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it '#mark_as_spam!' do
|
35
|
+
object = build(klass)
|
36
|
+
object.mark_as_spam!
|
37
|
+
expect(object).to be_marked_as_spam
|
38
|
+
end
|
39
|
+
|
40
|
+
it '#unmark_as_spam!' do
|
41
|
+
object = build(klass, marked_as_spam: true)
|
42
|
+
object.unmark_as_spam!
|
43
|
+
expect(object).not_to be_marked_as_spam
|
44
|
+
end
|
45
|
+
|
46
|
+
it '.respond_to?' do
|
47
|
+
expect(model).to respond_to(:spam, :not_spam)
|
48
|
+
end
|
49
|
+
|
50
|
+
it '#respond_to?' do
|
51
|
+
expect(model.new).to respond_to(:mark_as_spam!)
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
shared_examples_for :storable do
|
4
|
+
let(:model) { described_class }
|
5
|
+
let(:klass) { model.to_s.underscore.to_sym }
|
6
|
+
|
7
|
+
it '#storable?' do
|
8
|
+
expect(build(klass)).to be_storable
|
9
|
+
end
|
10
|
+
|
11
|
+
it '#respond_to?' do
|
12
|
+
expect(build(klass)).to respond_to(:store, :storable?)
|
13
|
+
end
|
14
|
+
|
15
|
+
it '.respond_to?' do
|
16
|
+
expect(model).to respond_to(:storable_field, :store_config)
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
shared_examples_for :taggable do
|
4
|
+
let(:model) { described_class }
|
5
|
+
let(:klass) { model.to_s.underscore.to_sym }
|
6
|
+
let(:instance) { create(klass) }
|
7
|
+
|
8
|
+
it '#tags' do
|
9
|
+
tag = create(:tag, locale: :nl, name: 'foo', slug: 'foo')
|
10
|
+
instance.tagged_items.create!(tag: tag)
|
11
|
+
expect(instance.tags(:nl)).to eq [tag]
|
12
|
+
end
|
13
|
+
|
14
|
+
it '#tags_string' do
|
15
|
+
tag1 = create(:tag, locale: :nl, name: 'foo', slug: 'foo')
|
16
|
+
tag2 = create(:tag, locale: :nl, name: 'bar', slug: 'bar')
|
17
|
+
instance.tagged_items.create!(tag: tag1)
|
18
|
+
instance.tagged_items.create!(tag: tag2)
|
19
|
+
expect(instance.tags_string(:nl)).to eq 'foo,bar'
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#related' do
|
23
|
+
let(:instance2) { create(klass) }
|
24
|
+
let(:tag1) { create(:tag, locale: :nl, name: 'foo', slug: 'foo') }
|
25
|
+
let(:tag2) { create(:tag, locale: :nl, name: 'bar', slug: 'bar') }
|
26
|
+
|
27
|
+
it :blank do
|
28
|
+
instance.tagged_items.create!(tag: tag1)
|
29
|
+
instance2.tagged_items.create!(tag: tag2)
|
30
|
+
expect(instance.related(:nl)).to eq []
|
31
|
+
end
|
32
|
+
|
33
|
+
it :results do
|
34
|
+
instance.tagged_items.create!(tag: tag1)
|
35
|
+
instance.tagged_items.create!(tag: tag2)
|
36
|
+
instance2.tagged_items.create!(tag: tag1)
|
37
|
+
instance2.tagged_items.create!(tag: tag2)
|
38
|
+
expect(instance.related(:nl)).to eq [instance2]
|
39
|
+
expect(instance2.related(:nl)).to eq [instance]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
it '#taggable?' do
|
44
|
+
expect(instance).to be_taggable
|
45
|
+
end
|
46
|
+
|
47
|
+
it '#respond_to?' do
|
48
|
+
expect(model.new).to respond_to(:tagged_items, :related, :tags, :tags_string, :taggable?)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
shared_examples_for :translatable do
|
4
|
+
let(:model) { described_class }
|
5
|
+
let(:klass) { model.to_s.underscore.to_sym }
|
6
|
+
|
7
|
+
describe '#locales' do
|
8
|
+
it 'defaults to an empty array' do
|
9
|
+
expect(build(klass).locales.class).to eq Array
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'updates when a translation is added' do
|
13
|
+
object = create(klass)
|
14
|
+
field = model.translatable_fields_list.first
|
15
|
+
object.translation(:nl).send("#{field}=", 'foo')
|
16
|
+
object.save
|
17
|
+
|
18
|
+
# 13/01 - if this is done with eq instead of include, the searchable spec
|
19
|
+
# fails because of the following in app/models/concerns/searchable.rb:
|
20
|
+
#
|
21
|
+
# Udongo.config.i18n.app.locales.each do |locale|
|
22
|
+
# value = translation(locale.to_sym).send(key) <---
|
23
|
+
# ...
|
24
|
+
# end
|
25
|
+
expect(object.locales).to include 'nl'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
it '#translatable?' do
|
30
|
+
expect(build(klass)).to be_translatable
|
31
|
+
end
|
32
|
+
|
33
|
+
describe 'scopes' do
|
34
|
+
describe '.with_locale' do
|
35
|
+
it 'no results' do
|
36
|
+
expect(model.with_locale(:nl)).to eq []
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'dutch only' do
|
40
|
+
field = model.translatable_fields_list.first
|
41
|
+
|
42
|
+
object = create(klass)
|
43
|
+
object.translation(:nl).send("#{field}=", 'foo')
|
44
|
+
object.save
|
45
|
+
|
46
|
+
expect(model.with_locale(:nl)).to eq [object]
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'dutch and english' do
|
50
|
+
field = model.translatable_fields_list.first
|
51
|
+
|
52
|
+
object = create(klass)
|
53
|
+
object.translation(:nl).send("#{field}=", 'foo')
|
54
|
+
object.translation(:en).send("#{field}=", 'foo')
|
55
|
+
object.save
|
56
|
+
|
57
|
+
expect(model.with_locale(:nl)).to eq [object]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
it '#respond_to?' do
|
63
|
+
expect(build(klass)).to respond_to(:translation, :translatable?)
|
64
|
+
end
|
65
|
+
|
66
|
+
it '.respond_to?' do
|
67
|
+
expect(model).to respond_to(
|
68
|
+
:translatable_field, :translatable_fields, :with_locale
|
69
|
+
)
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
shared_examples_for :visible do
|
4
|
+
let(:model) { described_class }
|
5
|
+
let(:klass) { model.to_s.underscore.to_sym }
|
6
|
+
|
7
|
+
describe 'scopes' do
|
8
|
+
it :visible do
|
9
|
+
a = create(klass, visible: true)
|
10
|
+
b = create(klass, visible: false)
|
11
|
+
expect(model.visible).to eq [a]
|
12
|
+
end
|
13
|
+
|
14
|
+
it :hidden do
|
15
|
+
a = create(klass, visible: true)
|
16
|
+
b = create(klass, visible: false)
|
17
|
+
expect(model.hidden).to eq [b]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'hidden' do
|
22
|
+
let(:item) { build(klass, visible: false) }
|
23
|
+
|
24
|
+
it '#hidden?' do
|
25
|
+
expect(item.hidden?).to be true
|
26
|
+
end
|
27
|
+
|
28
|
+
it '#hide!' do
|
29
|
+
item.hide!
|
30
|
+
expect(item.hidden?).to be true
|
31
|
+
end
|
32
|
+
|
33
|
+
it '#show!' do
|
34
|
+
item.show!
|
35
|
+
expect(item.visible?).to be true
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'visible' do
|
40
|
+
let(:item) { build(klass, visible: true) }
|
41
|
+
|
42
|
+
it '#hidden?' do
|
43
|
+
expect(item.hidden?).to be false
|
44
|
+
end
|
45
|
+
|
46
|
+
it '#hide!' do
|
47
|
+
item.hide!
|
48
|
+
expect(item.hidden?).to be true
|
49
|
+
end
|
50
|
+
|
51
|
+
it '#show!' do
|
52
|
+
item.show!
|
53
|
+
expect(item.visible).to be true
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
it '.respond_to?' do
|
58
|
+
expect(model).to respond_to(:visible, :hidden)
|
59
|
+
end
|
60
|
+
|
61
|
+
it '#respond_to?' do
|
62
|
+
expect(model.new).to respond_to(:hidden?, :hide!, :show!)
|
63
|
+
end
|
64
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: udongo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Davy Hellemans
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-02
|
12
|
+
date: 2017-03-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -451,6 +451,7 @@ files:
|
|
451
451
|
- app/assets/stylesheets/backend/pages/_login.scss
|
452
452
|
- app/assets/stylesheets/backend/udongo.scss
|
453
453
|
- app/controllers/backend/admins_controller.rb
|
454
|
+
- app/controllers/backend/assets_controller.rb
|
454
455
|
- app/controllers/backend/base_controller.rb
|
455
456
|
- app/controllers/backend/content/rows/columns_controller.rb
|
456
457
|
- app/controllers/backend/content/rows/images_controller.rb
|
@@ -504,6 +505,8 @@ files:
|
|
504
505
|
- app/models/address.rb
|
505
506
|
- app/models/admin.rb
|
506
507
|
- app/models/application_record.rb
|
508
|
+
- app/models/asset.rb
|
509
|
+
- app/models/asset_image.rb
|
507
510
|
- app/models/ckeditor/asset.rb
|
508
511
|
- app/models/ckeditor/attachment_file.rb
|
509
512
|
- app/models/ckeditor/picture.rb
|
@@ -517,6 +520,7 @@ files:
|
|
517
520
|
- app/models/concerns/draggable.rb
|
518
521
|
- app/models/concerns/emailable.rb
|
519
522
|
- app/models/concerns/flexible_content.rb
|
523
|
+
- app/models/concerns/imageable.rb
|
520
524
|
- app/models/concerns/locale.rb
|
521
525
|
- app/models/concerns/loggable.rb
|
522
526
|
- app/models/concerns/notable.rb
|
@@ -539,6 +543,7 @@ files:
|
|
539
543
|
- app/models/content_text.rb
|
540
544
|
- app/models/email.rb
|
541
545
|
- app/models/email_template.rb
|
546
|
+
- app/models/image.rb
|
542
547
|
- app/models/log.rb
|
543
548
|
- app/models/meta.rb
|
544
549
|
- app/models/navigation.rb
|
@@ -557,6 +562,7 @@ files:
|
|
557
562
|
- app/models/tag.rb
|
558
563
|
- app/models/tagged_item.rb
|
559
564
|
- app/models/user.rb
|
565
|
+
- app/uploaders/asset_uploader.rb
|
560
566
|
- app/uploaders/ckeditor_attachment_file_uploader.rb
|
561
567
|
- app/uploaders/ckeditor_picture_uploader.rb
|
562
568
|
- app/uploaders/content_image_uploader.rb
|
@@ -573,6 +579,11 @@ files:
|
|
573
579
|
- app/views/backend/admins/edit.html.erb
|
574
580
|
- app/views/backend/admins/index.html.erb
|
575
581
|
- app/views/backend/admins/new.html.erb
|
582
|
+
- app/views/backend/assets/_filter.html.erb
|
583
|
+
- app/views/backend/assets/_form.html.erb
|
584
|
+
- app/views/backend/assets/edit.html.erb
|
585
|
+
- app/views/backend/assets/index.html.erb
|
586
|
+
- app/views/backend/assets/new.html.erb
|
576
587
|
- app/views/backend/content/_image.html.erb
|
577
588
|
- app/views/backend/content/_rows.html.erb
|
578
589
|
- app/views/backend/content/_text.html.erb
|
@@ -722,6 +733,8 @@ files:
|
|
722
733
|
- db/migrate/20170202170310_rename_key_to_name_for_search_indices.rb
|
723
734
|
- db/migrate/20170212150903_cleanup_user_model.rb
|
724
735
|
- db/migrate/20170215132531_add_active_to_users.rb
|
736
|
+
- db/migrate/20170225144523_create_assets.rb
|
737
|
+
- db/migrate/20170228183831_create_images.rb
|
725
738
|
- lib/tasks/task_extras.rb
|
726
739
|
- lib/tasks/udongo_tasks.rake
|
727
740
|
- lib/udongo.rb
|
@@ -730,6 +743,7 @@ files:
|
|
730
743
|
- lib/udongo/assets/precompiler.rb
|
731
744
|
- lib/udongo/breadcrumb.rb
|
732
745
|
- lib/udongo/config.rb
|
746
|
+
- lib/udongo/configs/assets.rb
|
733
747
|
- lib/udongo/configs/base.rb
|
734
748
|
- lib/udongo/configs/flexible_content.rb
|
735
749
|
- lib/udongo/configs/i18n.rb
|
@@ -759,6 +773,56 @@ files:
|
|
759
773
|
- lib/udongo/will_paginate/options.rb
|
760
774
|
- lib/udongo/will_paginate/renderer.rb
|
761
775
|
- readme.md
|
776
|
+
- spec/factories/addresses.rb
|
777
|
+
- spec/factories/admins.rb
|
778
|
+
- spec/factories/assets.rb
|
779
|
+
- spec/factories/comments.rb
|
780
|
+
- spec/factories/content_columns.rb
|
781
|
+
- spec/factories/content_images.rb
|
782
|
+
- spec/factories/content_rows.rb
|
783
|
+
- spec/factories/content_texts.rb
|
784
|
+
- spec/factories/email_templates.rb
|
785
|
+
- spec/factories/emails.rb
|
786
|
+
- spec/factories/images.rb
|
787
|
+
- spec/factories/logs.rb
|
788
|
+
- spec/factories/meta.rb
|
789
|
+
- spec/factories/navigation_items.rb
|
790
|
+
- spec/factories/navigations.rb
|
791
|
+
- spec/factories/notes.rb
|
792
|
+
- spec/factories/pages.rb
|
793
|
+
- spec/factories/queued_tasks.rb
|
794
|
+
- spec/factories/redirects.rb
|
795
|
+
- spec/factories/search_indices.rb
|
796
|
+
- spec/factories/search_modules.rb
|
797
|
+
- spec/factories/search_synonyms.rb
|
798
|
+
- spec/factories/settings.rb
|
799
|
+
- spec/factories/snippets.rb
|
800
|
+
- spec/factories/stores.rb
|
801
|
+
- spec/factories/tagged_items.rb
|
802
|
+
- spec/factories/tags.rb
|
803
|
+
- spec/factories/users.rb
|
804
|
+
- spec/support/concerns/cacheable.rb
|
805
|
+
- spec/support/concerns/commentable.rb
|
806
|
+
- spec/support/concerns/content_type.rb
|
807
|
+
- spec/support/concerns/deletable.rb
|
808
|
+
- spec/support/concerns/draggable.rb
|
809
|
+
- spec/support/concerns/emailable.rb
|
810
|
+
- spec/support/concerns/flexible_content.rb
|
811
|
+
- spec/support/concerns/imageable.rb
|
812
|
+
- spec/support/concerns/locale.rb
|
813
|
+
- spec/support/concerns/loggable.rb
|
814
|
+
- spec/support/concerns/notable.rb
|
815
|
+
- spec/support/concerns/parentable.rb
|
816
|
+
- spec/support/concerns/person.rb
|
817
|
+
- spec/support/concerns/publishable.rb
|
818
|
+
- spec/support/concerns/searchable.rb
|
819
|
+
- spec/support/concerns/seo.rb
|
820
|
+
- spec/support/concerns/sortable.rb
|
821
|
+
- spec/support/concerns/spammable.rb
|
822
|
+
- spec/support/concerns/storable.rb
|
823
|
+
- spec/support/concerns/taggable.rb
|
824
|
+
- spec/support/concerns/translatable.rb
|
825
|
+
- spec/support/concerns/visible.rb
|
762
826
|
- vendor/assets/images/jstree/default/32px.png
|
763
827
|
- vendor/assets/images/jstree/default/40px.png
|
764
828
|
- vendor/assets/images/jstree/default/throbber.gif
|