Sha256: 8ffe374321a85c0a86be0176174d1c086cdc4096010bfb858e8c5f91546216c2

Contents?: true

Size: 967 Bytes

Versions: 9

Compression:

Stored size: 967 Bytes

Contents

module Jack
  class Settings
    def initialize(root=nil)
      @root = root || '.'
    end

    def data
      return @settings_yaml if @settings_yaml

      project_file = "#{@root}/jack/settings.yml"
      project = File.exist?(project_file) ? YAML.load_file(project_file) : {}

      user_file = "#{home}/.jack/settings.yml"
      user = File.exist?(user_file) ? YAML.load_file(user_file) : {}

      default_file = File.expand_path("../default/settings.yml", __FILE__)
      default = YAML.load_file(default_file)

      @settings_yaml = default.merge(project.merge(user))
    end

    def home
      # hack but fast
      ENV['TEST'] ? "spec/fixtures/home" : ENV['HOME']
    end

    def create_flags
      create.inject("") {|s,(k,v)| s << %{--#{k} "#{v}" } ; s }.strip
    end

    def create
      data["create"]
    end

    def app_name_pattern
      conventions["app_name_pattern"]
    end

    def conventions
      data["conventions"]
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
jack-eb-1.3.0 lib/jack/settings.rb
jack-eb-1.2.1 lib/jack/settings.rb
jack-eb-1.2.0 lib/jack/settings.rb
jack-eb-1.1.2 lib/jack/settings.rb
jack-eb-1.1.1 lib/jack/settings.rb
jack-eb-1.1.0 lib/jack/settings.rb
jack-eb-1.0.1 lib/jack/settings.rb
jack-eb-1.0.0 lib/jack/settings.rb
jack-eb-0.3.0 lib/jack/settings.rb