class TokAccess::Generators::ModelGenerator
Public Instance Methods
create_migration_file()
click to toggle source
# File lib/generators/tok_access/model_generator.rb, line 11 def create_migration_file return unless options[:migration] && options[:parent].nil? attributes.each { |a| a.attr_options.delete(:index) if a.reference? && !a.has_index? } if options[:indexes] == false if behavior == :invoke if model_exists? or migration_exists?(table_name) migration_template "#{__FILE__}/../templates/migration_existing_for.rb", "db/migrate/add_tok_access_to_#{table_name}.rb", migration_version: migration_version else migration_template "#{__FILE__}/../templates/migration_for.rb", "db/migrate/tok_access_create_#{table_name}.rb", migration_version: migration_version end end if behavior == :revoke migration_template "#{__FILE__}/../templates/migration_existing_for.rb", "db/migrate/add_tok_access_to_#{table_name}.rb", migration_version: migration_version migration_template "#{__FILE__}/../templates/migration_for.rb", "db/migrate/tok_access_create_#{table_name}.rb", migration_version: migration_version end end
generate_tok_model()
click to toggle source
# File lib/generators/tok_access/model_generator.rb, line 27 def generate_tok_model tok_model_table_name = "#{table_name.singularize}_tok" tok_model_class_name = "#{table_name.singularize}_tok".camelize if behavior == :invoke if !File.exist?(Rails.root.join("app", "models", "#{tok_model_table_name}.rb")) invoke "active_record:model", [tok_model_class_name, "token:string","device_token:string", "object_id:integer"] end inject_into_class(Rails.root.join("app", "models", "#{table_name.singularize}.rb"), Object.const_get(table_name.singularize.camelize)) do %Q{\ttokify\n} end inject_into_class(Rails.root.join("app", "models", "#{tok_model_table_name}.rb"), Object.const_get(tok_model_class_name)) do %Q{\tdefine_toks :#{table_name.singularize}\n} end end if behavior == :revoke system "rails d model #{table_name.singularize.camelize}" system "rails d model #{tok_model_class_name}" end end