Class: Generators::DraftBox::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/draft_box/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#createObject



11
12
13
14
15
16
17
# File 'lib/generators/draft_box/install_generator.rb', line 11

def create
  timestamp = Time.zone.now.to_s.tr('^0-9', '')[0..13]
  template "emails_migration.rb", "db/migrate/#{timestamp}_create_draft_box_emails.rb"

  timestamp = (Time.zone.now + 1).to_s.tr('^0-9', '')[0..13]
  template "attachments_migration.rb", "db/migrate/#{timestamp}_create_draft_box_attachments.rb"
end

#db_adapterObject



40
41
42
# File 'lib/generators/draft_box/install_generator.rb', line 40

def db_adapter
  ActiveRecord::Base.configurations.configs_for(env_name: Rails.env, name: "primary").adapter_class.to_s
end

#migration_versionObject



19
20
21
# File 'lib/generators/draft_box/install_generator.rb', line 19

def migration_version
  "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
end

#mysql?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/generators/draft_box/install_generator.rb', line 36

def mysql?
  db_adapter.match?(/mysql/i)
end

#primary_key_stringObject



27
28
29
30
# File 'lib/generators/draft_box/install_generator.rb', line 27

def primary_key_string
  key_string = options[:primary_key_type]
  ", id: :#{key_string}" if key_string
end

#primary_key_typeObject



23
24
25
# File 'lib/generators/draft_box/install_generator.rb', line 23

def primary_key_type
  primary_key_string
end

#sqlite?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/generators/draft_box/install_generator.rb', line 32

def sqlite?
  db_adapter.match?(/sqlite/i)
end