module QuickShoulda::Main
Public Class Methods
included(base)
click to toggle source
# File lib/quick_shoulda/main.rb, line 5 def self.included(base) base.class_eval do attr_accessor :path, :spec_folder, :model_full_namespace, :spec_file_path, :validations_block, :associations_block end end
Public Instance Methods
configure_and_generate(path)
click to toggle source
# File lib/quick_shoulda/main.rb, line 11 def configure_and_generate(path) configure(path) generate end
Private Instance Methods
configure(path)
click to toggle source
# File lib/quick_shoulda/main.rb, line 18 def configure(path) @path = path @spec_folder = default_spec_folder if ConfigFileReader.config_file_exist? configs = ConfigFileReader.read @spec_folder = configs['spec_folder'].dup if configs['spec_folder'] @spec_folder << "/" if @spec_folder[-1].to_s != '/' end @model_full_namespace = _model_full_namespace @spec_file_path = _spec_file_path end
create_and_write_to_file()
click to toggle source
# File lib/quick_shoulda/main.rb, line 46 def create_and_write_to_file create_file_and_write_init_content unless spec_file_exist? clear_all_blocks write_block(validations_block + associations_block) end
default_spec_folder()
click to toggle source
# File lib/quick_shoulda/main.rb, line 32 def default_spec_folder 'spec/models/' end
generate()
click to toggle source
# File lib/quick_shoulda/main.rb, line 36 def generate generate_shoulda_content create_and_write_to_file end
generate_shoulda_content()
click to toggle source
# File lib/quick_shoulda/main.rb, line 41 def generate_shoulda_content @validations_block = shoulda_content(:validation, generate_validations(model_full_namespace)) @associations_block = shoulda_content(:association, generate_associations(model_full_namespace)) end