ecm_cms2 2.0.4 → 2.1.0

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
  SHA1:
3
- metadata.gz: 4f7c54a778af57b1b39af7937cd1a15ae8793ea3
4
- data.tar.gz: fd13db0eb19ec32847972d631964add819a21526
3
+ metadata.gz: 0a46d440ed60de2d49b37ffe06254a299e529962
4
+ data.tar.gz: 98a0181092f70edeafdc3ca9a458a484c81a5f70
5
5
  SHA512:
6
- metadata.gz: a870b892a47de990f997497126643d99a393d8d32af588e01e2ca6c9610b22fa167eec5053618d69d4978861f8b859a04e1c27462118888ddbbb5f74512a95f9
7
- data.tar.gz: e9259ddfe1a1e228ab91c1fee064abadfa73418eb7b69d406fb8ac67ef93fc8a86a33615fb62b970009ebea4d3a3027332662cf5ede7e889f54719c4a477943f
6
+ metadata.gz: 30adfa89abf66c0d4b6cfa9f6c4a3496ba3b1b7c4ad27dca985d95b2bc69041f51a2ae1bc6dcaa31ffd38754cdb6fb3e93d6fb6037a3d100c038ab1ded1c0d6a
7
+ data.tar.gz: 7df8762035d6b5d67bca1a892319c7f82c9bb470b73a40fa3242d421b7a8555941ed9dcb0d4806d4c5e0279b17ad8cb9cbb00b7b9224c6275687b26b67f5addf
@@ -0,0 +1,50 @@
1
+ module Ecm::Cms
2
+ class CreateNavigationService < Itsf::Services::V2::Service::Base
3
+ class Response < Itsf::Services::V2::Response::Base
4
+ attr_accessor :navigation, :navigation_items, :created_navigation_items, :errored_navigation_items
5
+
6
+ def initialize
7
+ super
8
+ @navigation_items = []
9
+ @created_navigation_items = []
10
+ @errrored_navigation_items = []
11
+ end
12
+ end
13
+
14
+ attr_accessor :locale, :name, :items_attributes
15
+
16
+ validates :locale, :name, :items_attributes, presence: true
17
+
18
+ def do_work
19
+ info "Running on environment #{Rails.env}"
20
+ return response unless valid?
21
+ @navigation = build_navigation
22
+ @navigation_items = build_navigation_items
23
+ @navigation_items.collect do |navigation_item|
24
+ if navigation_item.save
25
+ info "Created #{navigation_item}", indent: 1
26
+ response.created_navigation_items << navigation_item
27
+ else
28
+ add_error_and_say :base, "Error creating #{navigation_item}. Errors: #{navigation_item.errors.full_messages.to_sentence}", indent: 1
29
+ response.errored_navigation_items << navigation_item
30
+ end
31
+ end
32
+ response.navigation = @navigation
33
+ response.navigation_items = @navigation_items
34
+ info 'Done'
35
+ return response
36
+ end
37
+
38
+ private
39
+
40
+ def build_navigation
41
+ Navigation.new(locale: locale, name: name)
42
+ end
43
+
44
+ def build_navigation_items
45
+ @items_attributes.collect do |item_attributes|
46
+ NavigationItem.new(item_attributes.merge(ecm_cms_navigation: @navigation))
47
+ end
48
+ end
49
+ end
50
+ end
@@ -1,5 +1,5 @@
1
1
  module Ecm
2
2
  module Cms
3
- VERSION = '2.0.4'
3
+ VERSION = '2.1.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecm_cms2
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.1.0
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: 2016-02-09 00:00:00.000000000 Z
11
+ date: 2016-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -432,6 +432,7 @@ files:
432
432
  - app/models/ecm/cms/partial.rb
433
433
  - app/models/ecm/cms/template.rb
434
434
  - app/services/ecm/cms/add_homepages_service.rb
435
+ - app/services/ecm/cms/create_navigation_service.rb
435
436
  - app/services/ecm/cms/import_partials_service.rb
436
437
  - app/views/ecm/cms/_link_to_top.html.erb
437
438
  - config/initializers/mime_types.rb