class BlogIo::Generators::InstallGenerator
Public Instance Methods
add_models_data(source = Rails.root, user_data = @get_data)
click to toggle source
# File lib/generators/blog_io/install_generator.rb, line 59 def add_models_data(source = Rails.root, user_data = @get_data) user_data.each do |name, field| field_name = field['name'] @user_data, @name, @field = user_data, name, field_name template "#{field_name}_template.rb","#{source}/app/models/#{field_name}.rb" end template "db_connector_template.rb","#{source}/lib/blog_db_connect.rb" end
blog_settings()
click to toggle source
# File lib/generators/blog_io/install_generator.rb, line 21 def blog_settings if @connection_flag Rails::Generators.invoke("model", [ "BlogSettings", "original_table_name:string", "model_name:string", "primary_key_field:string", "--no-test-framework"] ) %x[rake db:migrate] end end
check_db_connection(source = Rails.root)
click to toggle source
# File lib/generators/blog_io/install_generator.rb, line 12 def check_db_connection(source = Rails.root) @data = YAML.load_file "#{source}/config/database.yml" ActiveRecord::Base.establish_connection @data['blog_db_connector'] ActiveRecord::Base.connection @connection_flag = ActiveRecord::Base.connected? ActiveRecord::Base.remove_connection if @connection_flag @connection_flag end
create_records()
click to toggle source
# File lib/generators/blog_io/install_generator.rb, line 45 def create_records BlogSettings.establish_connection(@data['#{Rails.env}']) if BlogSettings.all.empty? @get_data.each do |name, field| BlogSettings.create(original_table_name: name, model_name: field['name'], primary_key_field: field['pkey']) end else say(BlogIo::RECORD_CHECK) end BlogSettings.remove_connection end
get_user_data()
click to toggle source
# File lib/generators/blog_io/install_generator.rb, line 34 def get_user_data @get_data = {} BlogIo::REMOTE_TABLES.each do |table_name| name = ask("Enter model name for #{table_name}:") pkey = ask("Enter primary key for #{table_name}:") name = table_name if name.blank? pkey = "id" if pkey.blank? @get_data[table_name] = {'name' => name, 'pkey' => pkey} end end