Class: Straptible::Rails::Builders::Api

Inherits:
Base
  • Object
show all
Defined in:
lib/straptible/rails/builders/api.rb

Instance Method Summary collapse

Methods inherited from Base

#db, #rakefile, #readme, #rspec, #vendor

Instance Method Details

#configObject



15
16
17
# File 'lib/straptible/rails/builders/api.rb', line 15

def config
  directory 'config.api', 'config'
end

#database_ymlObject



11
12
13
# File 'lib/straptible/rails/builders/api.rb', line 11

def database_yml
  # No-op (handled by :config step)
end

#gemfileObject



7
8
9
# File 'lib/straptible/rails/builders/api.rb', line 7

def gemfile
  copy_file 'Gemfile.api', 'Gemfile'
end

#leftoversObject



27
28
29
30
31
32
# File 'lib/straptible/rails/builders/api.rb', line 27

def leftovers
  travis_yml
  package_json
  restructure_app
  super
end

#libObject



19
20
21
# File 'lib/straptible/rails/builders/api.rb', line 19

def lib
  directory 'lib.api', 'lib'
end

#package_jsonObject



38
39
40
# File 'lib/straptible/rails/builders/api.rb', line 38

def package_json
  copy_file 'package.json'
end

#public_directoryObject



23
24
25
# File 'lib/straptible/rails/builders/api.rb', line 23

def public_directory
  directory 'public.api', 'public'
end

#restructure_appObject



42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/straptible/rails/builders/api.rb', line 42

def restructure_app
  remove_dir 'app/assets'
  remove_dir 'app/controllers/concerns'
  remove_dir 'app/helpers'
  remove_dir 'app/mailers'
  remove_dir 'app/models/concerns'
  remove_dir 'app/views/layouts'

  remove_file 'bin/setup'

  empty_directory 'app/decorators'
end

#travis_ymlObject



34
35
36
# File 'lib/straptible/rails/builders/api.rb', line 34

def travis_yml
  copy_file 'travis.yml.api', '.travis.yml'
end