ecm_cms2 2.0.4 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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