class IOSGen::Generator::Objc::ViewModelFormatter

Objetive-C ViewModel Formatter

Attributes

actions_header[R]

ViewModel Actions

actions_impl[R]

ViewModel Actions

header_file_name[R]

File Names ViewModel

impl_file_name[R]

File Names ViewModel

interactor_formatter[R]

Interactor Formatter

properties_header[R]

ViewModel Porperties

protocol_delegate[R]

ViewModel Protocol

protocol_file_name[R]
protocol_name[R]

ViewModel Protocol

view_model[RW]

ViewModel and Interactors

Public Class Methods

new(interactor_formatter = InteractorFormatter.new) click to toggle source
# File lib/ios_gen/generator/objc/view_model_formatter.rb, line 20
def initialize(interactor_formatter = InteractorFormatter.new)
  @interactor_formatter = interactor_formatter
end

Public Instance Methods

generate(&block) click to toggle source
# File lib/ios_gen/generator/objc/view_model_formatter.rb, line 64
def generate(&block)
  block.call(protocol_file_name, 'templates/objc/ViewModelProtocol.h.erb')
  block.call(header_file_name, 'templates/objc/ViewModel.h.erb')
  block.call(impl_file_name, 'templates/objc/ViewModel.m.erb')
  generate_interactor(&block)
end
generate_test(&block) click to toggle source
# File lib/ios_gen/generator/objc/view_model_formatter.rb, line 71
def generate_test(&block)
  block.call(test_file_name, 'templates/objc/XCTestCase.m.erb')
  generate_interactor_test(&block)
end

Private Instance Methods

generate_interactor(&block) click to toggle source
# File lib/ios_gen/generator/objc/view_model_formatter.rb, line 78
def generate_interactor(&block)
  @view_model.interactors.each do |interactor|
    @interactor_formatter.interactor = interactor
    @interactor_formatter.generate(&block)
  end unless @view_model.interactors.nil?
end
loop_actions() click to toggle source
# File lib/ios_gen/generator/objc/view_model_formatter.rb, line 85
def loop_actions
  actions = ''
  action_formatter = ActionFormatter.new
  @view_model.actions.each do |action|
    actions += "#{yield(action_formatter, action)}\n"
  end
  actions.chop
end