Class: Ecm::Cms::CreateNavigationService

Inherits:
Itsf::Services::V2::Service::Base
  • Object
show all
Defined in:
app/services/ecm/cms/create_navigation_service.rb

Defined Under Namespace

Classes: Response

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#items_attributesObject

Returns the value of attribute items_attributes.



14
15
16
# File 'app/services/ecm/cms/create_navigation_service.rb', line 14

def items_attributes
  @items_attributes
end

#localeObject

Returns the value of attribute locale.



14
15
16
# File 'app/services/ecm/cms/create_navigation_service.rb', line 14

def locale
  @locale
end

#nameObject

Returns the value of attribute name.



14
15
16
# File 'app/services/ecm/cms/create_navigation_service.rb', line 14

def name
  @name
end

Instance Method Details

#do_workObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'app/services/ecm/cms/create_navigation_service.rb', line 18

def do_work
  info "Running on environment #{Rails.env}"
  return response unless valid?
  @navigation = build_navigation
  @navigation_items = build_navigation_items
  @navigation_items.collect do |navigation_item|
    if navigation_item.save
      info "Created #{navigation_item}", indent: 1
      response.created_navigation_items << navigation_item
    else
      add_error_and_say :base, "Error creating #{navigation_item}. Errors: #{navigation_item.errors.full_messages.to_sentence}", indent: 1
      response.errored_navigation_items << navigation_item
    end
  end
  response.navigation = @navigation
  response.navigation_items = @navigation_items
  info 'Done'
  return response
end