Module: MSPRelease::Project
- Defined in:
- lib/msp_release/project.rb
Defined Under Namespace
Modules: Debian, Gem, Git, Ruby Classes: Base
Class Method Summary collapse
Class Method Details
.new_from_project_file(filename) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/msp_release/project.rb', line 3 def self.new_from_project_file(filename) config = YAML.load_file(filename) dirname = File.(File.dirname(filename)) project = Base.new(filename, dirname) # TODO: make it so that this doesn't have to know about all the possible # mixins. # If the directory has a debian folder, treat it as a debian project. if File.directory?(File.join(dirname, 'debian')) project.extend(Debian) elsif Dir.glob("#{dirname}/*.gemspec").count > 0 project.extend(Gem) # If its a gem project, it must also be a ruby project. project.extend(Ruby) end # If there is a ruby version file, we treat it as a if config[:ruby_version_file] project.extend(Ruby) end # Git project if File.directory?(File.join(dirname, '.git')) project.extend(Git) end project end |