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