Sha256: f852e353c66ef8635c99a38053b9cb439f7fbd9aeca244d9549256326762eb00
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
require "rails/generators" require "rails/generators/rails/model/model_generator" require "generators/scenic/view/view_generator" require "generators/scenic/materializable" module Scenic module Generators # @api private class ModelGenerator < Rails::Generators::NamedBase include Scenic::Generators::Materializable source_root File.expand_path("templates", __dir__) def invoke_rails_model_generator invoke "model", [file_path.singularize], options.merge( fixture_replacement: false, migration: false ) end 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 def invoke_view_generator invoke "scenic:view", [table_name], options end private 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 def generating? behavior != :revoke end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
scenic-1.8.0 | lib/generators/scenic/model/model_generator.rb |