Class: FastTrack::Track

Inherits:
Object
  • Object
show all
Includes:
TrackMethods
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, #db_migrate!, #migration, #model

Constructor Details

#initialize(generator) ⇒ Track



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

def initialize(generator)
  @generator = generator
end

Instance Attribute Details

#generatorObject

Returns the value of attribute generator.



5
6
7
# File 'lib/fast_track/track.rb', line 5

def generator
  @generator
end

Class Method Details

.before_migrate(&block) ⇒ Object

Tasks before migration



21
22
23
# File 'lib/fast_track/track.rb', line 21

def self.before_migrate(&block)
  @before_migrate_block = block
end

.before_migrate_blockObject



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

def self.before_migrate_block
  @before_migrate_block
end

.gemfile(&block) ⇒ Object

Describe a Gemfile using ‘gem` and `gem_group`



12
13
14
# File 'lib/fast_track/track.rb', line 12

def self.gemfile(&block)
  @gemfile_block = block
end

.gemfile_blockObject



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

def self.gemfile_block
  @gemfile_block
end

Instance Method Details

#create_file(*args) ⇒ Object

Add a file



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

def create_file(*args)
  g.create_file(*args)
end

#gObject

If you need to get the base-level generator object, it’s available here.



31
32
33
# File 'lib/fast_track/track.rb', line 31

def g
  generator
end

#gem(*args) ⇒ Object

Add a gem

TODO: Find a way to consolidate all gems at once, so we only have to run ‘bundle install` once.



39
40
41
# File 'lib/fast_track/track.rb', line 39

def gem(*args)
  g.gem(*args)
end

#gem_group(*args, &block) ⇒ Object

Create a gem group



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

def gem_group(*args, &block)
  generator.gem_group(*args, &block)
end

#generate(*args) ⇒ Object



55
56
57
# File 'lib/fast_track/track.rb', line 55

def generate(*args)
  g.generate(*args)
end

#rake(*args) ⇒ Object

Run rake



44
45
46
# File 'lib/fast_track/track.rb', line 44

def rake(*args)
  g.rake(*args)
end

#read_file(file_name) ⇒ Object

Read a file from the templates directory



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

def read_file(file_name)
  File.read(File.join(FastTrack.template_root, template_directory, file_name))
end

#route(*args) ⇒ Object

Add a route to config/routes.rb



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

def route(*args)
  g.route(*args)
end

#run(*args) ⇒ Object

Run any command



49
50
51
# File 'lib/fast_track/track.rb', line 49

def run(*args)
  g.run(*args)
end