Class: Compass::Commands::PrintVersion

Inherits:
Base
  • Object
show all
Defined in:
lib/compass/commands/print_version.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#working_path

Attributes included from Actions

#logger

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#failed!, #perform, register, #successful?

Methods included from Actions

#basename, #copy, #directory, #log_action, #process_erb, #relativize, #remove, #separate, #strip_trailing_separator, #write_file

Constructor Details

#initialize(working_path, options) ⇒ PrintVersion

Returns a new instance of PrintVersion.



73
74
75
# File 'lib/compass/commands/print_version.rb', line 73

def initialize(working_path, options)
  self.options = options
end

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



71
72
73
# File 'lib/compass/commands/print_version.rb', line 71

def options
  @options
end

Class Method Details

.description(command) ⇒ Object



49
50
51
# File 'lib/compass/commands/print_version.rb', line 49

def description(command)
  "Print out version information"
end

.long_output_stringObject



57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/compass/commands/print_version.rb', line 57

def long_output_string
  lines = []
  lines << "Compass #{::Compass.version[:string]}"
  if name = ::Compass.version[:name]
    lines.last << " (#{name})"
  end
  lines << "Copyright (c) 2008-#{Time.now.year} Chris Eppstein"
  lines << "Released under the MIT License."
  lines << "Compass is charityware."
  lines << "Please make a tax deductable donation for a worthy cause: http://umdf.org/compass"
  lines.join("\n")
end

.option_parser(arguments) ⇒ Object



42
43
44
45
# File 'lib/compass/commands/print_version.rb', line 42

def option_parser(arguments)
  parser = Compass::Exec::CommandOptionParser.new(arguments)
  parser.extend(VersionOptionsParser)
end

.parse!(arguments) ⇒ Object



52
53
54
55
56
# File 'lib/compass/commands/print_version.rb', line 52

def parse!(arguments)
  parser = option_parser(arguments)
  parser.parse!
  parser.options
end

.usageObject



46
47
48
# File 'lib/compass/commands/print_version.rb', line 46

def usage
  option_parser([]).to_s
end

Instance Method Details

#executeObject



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/compass/commands/print_version.rb', line 77

def execute
  if options[:custom]
    version = ""
    version << "#{Compass.version[:major]}" if options[:major]
    version << ".#{Compass.version[:minor]}" if options[:minor]
    version << ".#{Compass.version[:teeny]}" if options[:patch]
    if options[:revision]
      if version.size > 0
        version << " [#{Compass.version[:rev][0..6]}]"
      else
        version << Compass.version[:rev]
      end
    end
    puts version
  elsif options[:quiet]
    puts ::Compass.version[:string]
  else
    puts self.class.long_output_string
  end
end