Sha256: ef845b4ec0162822e1879161b4b12985fbdf47b6be124a19bd158048eb48b44f
Contents?: true
Size: 1.57 KB
Versions: 5
Compression:
Stored size: 1.57 KB
Contents
require "bard/server" module Bard class Config def initialize project_name, path: nil, source: nil @project_name = project_name @servers = { local: Server.new( project_name, :local, false, "./", false, ), gubs: Server.new( project_name, :gubs, "botandrose@cloud.hackett.world:22022", "Sites/#{project_name}", false, ), ci: Server.new( project_name, :ci, "jenkins@ci.botandrose.com:22022", "jobs/#{project_name}/workspace", false, ), staging: Server.new( project_name, :staging, "www@#{project_name}.botandrose.com:22022", ), } if path && File.exist?(path) source = File.read(path) end if source instance_eval source end end attr_reader :project_name, :servers def server key, &block key = key.to_sym @servers[key] = Server.define(project_name, key, &block) end def [] key key = key.to_sym if @servers[key].nil? && key == :production key = :staging end @servers[key] end def data *paths if paths.length == 0 Array(@data) else @data = paths end end def backup *args if args.length == 1 @backup = args.first elsif args.length == 0 return @backup if defined?(@backup) @backup = true else raise ArgumentError end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
bard-1.0.6 | lib/bard/config.rb |
bard-1.0.5 | lib/bard/config.rb |
bard-1.0.4 | lib/bard/config.rb |
bard-1.0.3 | lib/bard/config.rb |
bard-1.0.2 | lib/bard/config.rb |