Class: RpushMigrationGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/rpush_migration_generator.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.next_templateObject

Returns the value of attribute next_template.



6
7
8
# File 'lib/generators/rpush_migration_generator.rb', line 6

def next_template
  @next_template
end

Class Method Details

.new_migration_numberObject



18
19
20
21
22
23
# File 'lib/generators/rpush_migration_generator.rb', line 18

def new_migration_number
  @time ||= Time.now.utc
  @calls ||= -1
  @calls += 1
  (@time + @calls.seconds).strftime('%Y%m%d%H%M%S')
end

.next_migration_number(path) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/generators/rpush_migration_generator.rb', line 8

def next_migration_number(path)
  return new_migration_number unless next_template

  if existing_migration = migration_exists?(File.expand_path('db/migrate'), next_template)
    return File.basename(existing_migration).scan(/(\d+)_/).flatten.first
  end

  new_migration_number
end

Instance Method Details

#copy_migrationObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/generators/rpush_migration_generator.rb', line 26

def copy_migration
  if has_migration?('create_rapns_notifications')
    add_rpush_migration('create_rapns_feedback')
    add_rpush_migration('add_alert_is_json_to_rapns_notifications')
    add_rpush_migration('add_app_to_rapns')
    add_rpush_migration('create_rapns_apps')
    add_rpush_migration('add_gcm')
    add_rpush_migration('add_wpns')
    add_rpush_migration('add_adm')
    add_rpush_migration('rename_rapns_to_rpush')
    add_rpush_migration('add_fail_after_to_rpush_notifications')
  else
    add_rpush_migration('add_rpush')
  end

  add_rpush_migration('rpush_2_0_0_updates')
  add_rpush_migration('rpush_2_1_0_updates')
  add_rpush_migration('rpush_2_6_0_updates')
  add_rpush_migration('rpush_2_7_0_updates')
  add_rpush_migration('rpush_3_0_0_updates')
  add_rpush_migration('rpush_3_0_1_updates')
  add_rpush_migration('rpush_3_1_0_add_pushy')
  add_rpush_migration('rpush_3_1_1_updates')
  add_rpush_migration('rpush_3_2_0_add_apns_p8')
  add_rpush_migration('rpush_3_2_4_updates')
  add_rpush_migration('rpush_3_3_0_updates')
  add_rpush_migration('rpush_3_3_1_updates')
  add_rpush_migration('rpush_4_1_0_updates')
  add_rpush_migration('rpush_4_1_1_updates')
  add_rpush_migration('rpush_4_2_0_updates')
  add_rpush_migration('rpush_7_1_0_updates')
end