Sha256: 7512be386eb2af28683c5eb0ebce9d8a6dd4103a52eac616fca2fc309d89710f

Contents?: true

Size: 1.38 KB

Versions: 34

Compression:

Stored size: 1.38 KB

Contents

# takelage project module
module ProjectModule

  # takelage config class.
  class TakelageProject

    include LoggingModule
    include SystemModule
    include ConfigModule

    attr_accessor :active, :private, :main

    def initialize
      @active = Hash.new
      @private = Hash.new
      @main = Hash.new
    end
  end

  # Global singleton config
  @@project = TakelageProject.new

  # Initialze project
  def initialize_project

    rakefile, path = Rake.application.find_rakefile_location

    main_file = "#{path}/#{@@project.config.active['info_project_main']}"
    private_file = "#{path}/#{@@project.config.active['info_project_private']}"

    # read main project info
    if File.exist? main_file
      @@project.main = read_yaml_file(main_file) || Hash.new
      @@project.main = @@project.main.sort.to_h
    end

    # read private project info
    if File.exist? private_file
      @@project.private = read_yaml_file(private_file) || Hash.new
      @@project.private = @@project.private.sort.to_h
    end

    # make a clone or else we'll change the original hash
    main = @@project.main.clone
    private = @@project.private.clone

    # merge main and private to active
    # private wins against main
    @@project.active = main.merge!(private)
    @@project.active = @@project.active.sort.to_h
  end

  # @return [Object] global singleton project
  def project
    @@project
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
takelage-0.13.1 lib/takelage/lib/project.rb
takelage-0.13.0 lib/takelage/lib/project.rb
takelage-0.12.2 lib/takelage/lib/project.rb
takelage-0.12.1 lib/takelage/lib/project.rb
takelage-0.12.0 lib/takelage/lib/project.rb
takelage-0.11.1 lib/takelage/lib/project.rb
takelage-0.11.0 lib/takelage/lib/project.rb
takelage-0.10.0 lib/takelage/lib/project.rb
takelage-0.9.2 lib/takelage/lib/project.rb
takelage-0.9.1 lib/takelage/lib/project.rb
takelage-0.9.0 lib/takelage/lib/project.rb
takelage-0.8.1 lib/takelage/lib/project.rb
takelage-0.8.0 lib/takelage/lib/project.rb
takelage-0.7.2 lib/takelage/lib/project.rb
takelage-0.7.1 lib/takelage/lib/project.rb
takelage-0.7.0 lib/takelage/lib/project.rb
takelage-0.6.0 lib/takelage/lib/project.rb
takelage-0.5.1 lib/takelage/lib/project.rb
takelage-0.5.0 lib/takelage/lib/project.rb
takelage-0.4.5 lib/takelage/lib/project.rb