class Sailsify::Generators::AbstractGenerator

Attributes

model[R]

Public Class Methods

create(params) click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 6
def self.create(params)
  if params.kind_of?(Array)
    new_objs = params.map { |o| self.new(model: o) }
    new_objs.each(&:save)
  else
    new_obj = self.new(model: params)
    new_obj.save
  end
end
new(params={}) click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 16
def initialize(params={})
  @model = params[:model]
  after_initialize(params)
end

Public Instance Methods

after_initialize(params) click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 21
def after_initialize(params); end
save() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 23
def save
  File.write(file_path, file_content)
end

Private Instance Methods

custom_locals() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 64
def custom_locals
  {}
end
dir() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 37
def dir
  Sailsify.destination_dir.join(sub_dir)
end
file_content() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 45
def file_content
  view.render(
    file: template_path,
    locals: locals
  )
end
file_name() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 33
def file_name
  Raise NotImplementedError
end
file_path() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 29
def file_path
  dir.join(file_name)
end
locals() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 60
def locals
  { :@model => model }.merge(custom_locals)
end
sub_dir() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 41
def sub_dir
  Raise NotImplementedError
end
template_path() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 52
def template_path
  Raise NotImplementedError
end
view() click to toggle source
# File lib/sailsify/generators/abstract_generator.rb, line 56
def view
  @view ||= ActionView::Base.new
end