Class: FastTrack::Track

Inherits:
Object
  • Object
show all
Includes:
TrackMethods, Hooks
Defined in:
lib/fast_track/track.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from TrackMethods

#bundle_install, #config, #create_file, #db_migrate!, #g, #gem, #gem_group, #generate, #migration, #model, #rake, #read_file, #route, #run

Constructor Details

#initialize(generator) ⇒ Track

Returns a new instance of Track.



10
11
12
# File 'lib/fast_track/track.rb', line 10

def initialize(generator)
  @generator = generator
end

Instance Attribute Details

#generatorObject

Returns the value of attribute generator.



8
9
10
# File 'lib/fast_track/track.rb', line 8

def generator
  @generator
end

Class Method Details

.after_bundle(&block) ⇒ Object

After bundle



106
107
108
# File 'lib/fast_track/track.rb', line 106

def after_bundle(&block)
  @after_bundle_block = block
end

.after_bundle_blockObject



110
111
112
# File 'lib/fast_track/track.rb', line 110

def after_bundle_block
  @after_bundle_block
end

.after_migrate(&block) ⇒ Object Also known as: after_migration

Tasks before migration



95
96
97
# File 'lib/fast_track/track.rb', line 95

def after_migrate(&block)
  @after_migrate_block = block
end

.after_migrate_blockObject



99
100
101
# File 'lib/fast_track/track.rb', line 99

def after_migrate_block
  @after_migrate_block
end

.argsObject



19
20
21
# File 'lib/fast_track/track.rb', line 19

def args
  @args || []
end

.args=(other) ⇒ Object



15
16
17
# File 'lib/fast_track/track.rb', line 15

def args=(other)
  @args = other
end

.before_migrate(&block) ⇒ Object Also known as: before_migration

Tasks before migration



84
85
86
# File 'lib/fast_track/track.rb', line 84

def before_migrate(&block)
  @before_migrate_block = block
end

.before_migrate_blockObject



88
89
90
# File 'lib/fast_track/track.rb', line 88

def before_migrate_block
  @before_migrate_block
end

.description(arg = nil) ⇒ Object Also known as: desc



38
39
40
41
42
43
44
# File 'lib/fast_track/track.rb', line 38

def description(arg = nil)
  if arg.blank?
    @description
  else
    @description = arg
  end
end

.gemfile(&block) ⇒ Object

Describe a Gemfile using ‘gem` and `gem_group`



75
76
77
# File 'lib/fast_track/track.rb', line 75

def gemfile(&block)
  @gemfile_block = block
end

.gemfile_blockObject



79
80
81
# File 'lib/fast_track/track.rb', line 79

def gemfile_block
  @gemfile_block
end

.github_description(description) ⇒ Object



70
71
72
# File 'lib/fast_track/track.rb', line 70

def github_description(description)
  @github_description = description
end

.github_url(url) ⇒ Object



66
67
68
# File 'lib/fast_track/track.rb', line 66

def github_url(url)
  @github_url = url
end

.name(name = nil) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/fast_track/track.rb', line 29

def name(name = nil)
  if name.blank?
    # @name || name_from_args || ""
    name_from_args || ""
  else
    @name = name
  end
end

.name_from_argsObject



23
24
25
26
27
# File 'lib/fast_track/track.rb', line 23

def name_from_args
  if args.length == 1
    @args.first
  end
end

.requires(*args) ⇒ Object

The required tracks this track needs.



49
50
51
52
53
54
55
# File 'lib/fast_track/track.rb', line 49

def requires(*args)
  if args.blank?
    @requires
  else
    @requires = args
  end
end

.rubygem(name) ⇒ Object



57
58
59
# File 'lib/fast_track/track.rb', line 57

def rubygem(name)
  @rubygem = name
end

.tutorial_url(url) ⇒ Object



61
62
63
64
# File 'lib/fast_track/track.rb', line 61

def tutorial_url(url)
  @tutorial_urls ||= []
  @tutorial_urls << url
end