class AsciiBinder::DistroBranch

Attributes

dir[R]
distro[R]
distro_author[R]
distro_name[R]
id[R]
name[R]

Public Class Methods

new(branch_name,branch_config,distro) click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 9
def initialize(branch_name,branch_config,distro)
  @id            = branch_name
  @name          = branch_config['name']
  @dir           = branch_config['dir']
  @distro        = distro
  @distro_name   = distro.name
  @distro_author = distro.author
  if branch_config.has_key?('distro-overrides')
    if branch_config['distro-overrides'].has_key?('name')
      @distro_name = branch_config['distro-overrides']['name']
    end
    if branch_config['distro-overrides'].has_key?('author')
      @distro_author = branch_config['distro-overrides']['author']
    end
  end
end

Public Instance Methods

branch_image_dir() click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 42
def branch_image_dir
  @branch_image_dir ||= File.join(branch_path,IMAGE_DIRNAME)
end
branch_javascript_dir() click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 38
def branch_javascript_dir
  @branch_javascript_dir ||= File.join(branch_path,JAVASCRIPT_DIRNAME)
end
branch_path() click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 26
def branch_path
  @branch_path ||= File.join(preview_dir,@distro.id,@dir)
end
branch_stylesheet_dir() click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 34
def branch_stylesheet_dir
  @branch_stylesheet_dir ||= File.join(branch_path,STYLESHEET_DIRNAME)
end
branch_url_base() click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 30
def branch_url_base
  @branch_url_base ||= File.join('/',@dir)
end
errors() click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 50
def errors
  validate(true)
end
is_valid?() click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 46
def is_valid?
  validate
end

Private Instance Methods

validate(verbose=true) click to toggle source
# File lib/ascii_binder/distro_branch.rb, line 56
def validate(verbose=true)
  errors = []
  unless valid_string?(@id)
    if verbose
      errors << "Branch ID '#{@id}' is not a valid string."
    else
      return false
    end
  end
  unless valid_string?(@name)
    if verbose
      errors << "Branch name '#{@name}' for branch ID '#{@id}' is not a valid string."
    else
      return false
    end
  end
  unless valid_string?(@dir)
    if verbose
      errors << "Branch dir '#{@dir}' for branch ID '#{@id}' is not a valid string."
    else
      return false
    end
  end
  unless valid_string?(@distro_name)
    if verbose
      errors << "Branchwise distro name '#{@distro_name}' for branch ID '#{@id}' is not a valid string."
    else
      return false
    end
  end
  unless valid_string?(@distro_author)
    if verbose
      errors << "Branchwise distro author '#{@distro_author}' for branch ID '#{@id}' is not a valid string."
    else
      return false
    end
  end
  return errors if verbose
  return true
end