class Concern::ModelGenerator
Public Instance Methods
copy_rspec_helper()
click to toggle source
# File lib/generators/concern/model/model_generator.rb, line 10 def copy_rspec_helper copy_file("mock_table_helper.rb", "spec/support/mock_table_helper.rb") if invoke? end
create_concerns()
click to toggle source
# File lib/generators/concern/model/model_generator.rb, line 4 def create_concerns setting_path = "models/concerns" template "concern.erb", File.join("app", setting_path, class_path, "#{file_name}.rb") template "model_spec.erb", File.join("spec", setting_path, class_path, "#{file_name}_spec.rb") end
inject_code()
click to toggle source
# File lib/generators/concern/model/model_generator.rb, line 14 def inject_code rspec_helper = Rails.root.join(*%w[spec rails_helper.rb]) inject_into_file rspec_helper, before: /^ActiveRecord::Migration\.maintain_test_schema!/ do <<-'CODE' Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f } CODE end if injectable?(rspec_helper) end
Private Instance Methods
injectable?(file_path)
click to toggle source
# File lib/generators/concern/model/model_generator.rb, line 28 def injectable?(file_path) if invoke? !(File.read(file_path) =~ /^Dir.+spec\/support\/.+\.rb.+require f/) end end
invoke?()
click to toggle source
# File lib/generators/concern/model/model_generator.rb, line 24 def invoke? self.behavior == :invoke end