class Scenic::Generators::ModelGenerator

@api private

Public Instance Methods

inject_model_methods() click to toggle source
# File lib/generators/scenic/model/model_generator.rb, line 22
def inject_model_methods
  if materialized? && generating?
    inject_into_class "app/models/#{file_path.singularize}.rb", class_name do
      evaluate_template("model.erb")
    end
  end
end
invoke_rails_model_generator() click to toggle source
# File lib/generators/scenic/model/model_generator.rb, line 13
def invoke_rails_model_generator
  invoke "model",
    [file_path.singularize],
    options.merge(
      fixture_replacement: false,
      migration: false
    )
end
invoke_view_generator() click to toggle source
# File lib/generators/scenic/model/model_generator.rb, line 30
def invoke_view_generator
  invoke "scenic:view", [table_name], options
end

Private Instance Methods

evaluate_template(source) click to toggle source
# File lib/generators/scenic/model/model_generator.rb, line 36
def evaluate_template(source)
  source = File.expand_path(find_in_source_paths(source.to_s))
  context = instance_eval("binding", __FILE__, __LINE__)

  erb = ERB.new(
    ::File.binread(source),
    trim_mode: "-",
    eoutvar: "@output_buffer"
  )

  erb.result(context)
end
generating?() click to toggle source
# File lib/generators/scenic/model/model_generator.rb, line 49
def generating?
  behavior != :revoke
end