cmor_core 0.0.44.pre → 0.0.45.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e2507ce2fc8350a46bb44638af9b5293c76f4fa61586479201eef6ad4acd33f6
4
- data.tar.gz: 02a9c8dc7dcc12bf3730c30507019b6b3b73dff6096c5d4221f6474d9d207671
3
+ metadata.gz: 53ed5b83e139b9acf2527e109a41c64992b42f1623a7bfeb05d9d86a5900ee44
4
+ data.tar.gz: 89467bd5e1a64ae94cfc1dcc6cc615dd55aaa7e388bbce0b8cd7a102d9f69227
5
5
  SHA512:
6
- metadata.gz: 331078c289b9859de59e070354ab97c65623b5f0be502b93ac70b90f0d08c32a1d068b925fa89e7e35ab16ca0cde366e95cf577e3ea18ccd30a0e951c45b36d1
7
- data.tar.gz: 692c7eaba1572109215b5073b9c4fad57649e065407b9c0669943825a796e5a2192c34818f5ace7e9f89b7596078c4cb76bed777fe01b15327aa255c711630a2
6
+ metadata.gz: cea218343f7eafc2fe2dbcbcd9c0ca5c93aed61dc623600a0cda02cf9413076b2d4056317ddfe4ebcf54dc7e957d18331c6b94496517a21e300d593d902ea7bd
7
+ data.tar.gz: 38be3f9e2aa5fc04513b7b99b644364b2bb368b3c550356686cd637bfd1f043010364d0ac4e22d1456573c2a3730ebaa2de2a6c9f53ccf59dac849ebf5eeacb8
@@ -0,0 +1,28 @@
1
+ module Cmor
2
+ module Core
3
+ module Model
4
+ module CollectionConcern
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ include Cmor::Core::Model::LocalizationConcern
9
+ include Cmor::Core::Model::IdentifierConcern
10
+
11
+ # acts as published
12
+ include ActsAsPublished::ActiveRecord
13
+ acts_as_published
14
+
15
+ # acts as list
16
+ acts_as_list
17
+ default_scope { order(position: :asc) }
18
+
19
+ # slugs
20
+ extend FriendlyId
21
+ friendly_id :name, use: :slugged
22
+
23
+ validates :name, presence: true, uniqueness: { scope: [ :locale ] }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,13 @@
1
+ module Cmor
2
+ module Core
3
+ module Model
4
+ module IdentifierConcern
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ validates :identifier, uniqueness: { scope: [ :locale ] }, allow_nil: true, allow_blank: true
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ module Cmor
2
+ module Core
3
+ module Model
4
+ module LocalizationConcern
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ validates :locale, inclusion: { in: I18n.available_locales.map(&:to_s) }, allow_nil: true, allow_blank: true
9
+
10
+ scope :for_locale, ->(locale = I18n.locale, options = {}) do
11
+ options.reverse_merge!(include_without_locale: true)
12
+
13
+ if options[:include_without_locale]
14
+ where(locale: locale).or(where(locale: nil))
15
+ else
16
+ where(locale: locale)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmor_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.44.pre
4
+ version: 0.0.45.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-29 00:00:00.000000000 Z
11
+ date: 2020-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.44.pre
33
+ version: 0.0.45.pre
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.44.pre
40
+ version: 0.0.45.pre
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: delayed_job_active_record
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -340,6 +340,9 @@ files:
340
340
  - lib/cmor/core/configuration.rb
341
341
  - lib/cmor/core/engine.rb
342
342
  - lib/cmor/core/feature.rb
343
+ - lib/cmor/core/model/collection_concern.rb
344
+ - lib/cmor/core/model/identifier_concern.rb
345
+ - lib/cmor/core/model/localization_concern.rb
343
346
  - lib/cmor/core/spec_helpers/feature.rb
344
347
  - lib/cmor/core/version.rb
345
348
  - lib/cmor_core.rb