Class: Enginizer::Extension

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/enginizer/extension.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject

Scoping for the files



43
44
45
# File 'lib/enginizer/extension.rb', line 43

def self.source_root
  File.expand_path("../templates", __FILE__)
end

Instance Method Details

#authorObject



59
60
61
# File 'lib/enginizer/extension.rb', line 59

def author
  `git config user.name`.chomp
end

#bundlerObject



30
31
32
33
34
# File 'lib/enginizer/extension.rb', line 30

def bundler
  if options.bundler?
    run "cd #{extension_path} && bundle install" 
  end
end

#configure_dependenciesObject



11
12
13
14
# File 'lib/enginizer/extension.rb', line 11

def configure_dependencies
  extension_path
  extension_name
end

#copy_extensionObject

Build the extension



17
18
19
# File 'lib/enginizer/extension.rb', line 17

def copy_extension
  directory "%namespaced_name%", extension_path
end

#emailObject



63
64
65
# File 'lib/enginizer/extension.rb', line 63

def email
  `git config user.email`.chomp
end

#extension_nameObject



55
56
57
# File 'lib/enginizer/extension.rb', line 55

def extension_name
  @extension_name ||= @namespaced_name.gsub("#{options.namespace}_", "")
end

#gitObject



36
37
38
39
40
# File 'lib/enginizer/extension.rb', line 36

def git
  if options.git?
    run "cd #{extension_path} && git init && git add ."
  end
end

#namespaceObject



51
52
53
# File 'lib/enginizer/extension.rb', line 51

def namespace
  options.namespace
end

#namespaced_nameObject



47
48
49
# File 'lib/enginizer/extension.rb', line 47

def namespaced_name
  @namespaced_name
end

#rvmObject



21
22
23
24
25
26
27
28
# File 'lib/enginizer/extension.rb', line 21

def rvm
  if options.rvm?
    ENV["rvm_trust_rvmrcs_flag"]="1"
    RVM.use_from_path! extension_path
  else
    run "rm #{extension_path}/.rvmrc"
  end
end