Module: Pressy::Command

Defined in:
lib/pressy/command.rb

Defined Under Namespace

Modules: ChangesetHelpers, ClassMethods Classes: Registry, Runner

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#consoleObject (readonly)

Returns the value of attribute console



26
27
28
# File 'lib/pressy/command.rb', line 26

def console
  @console
end

#envObject (readonly)

Returns the value of attribute env



26
27
28
# File 'lib/pressy/command.rb', line 26

def env
  @env
end

#siteObject (readonly)

Returns the value of attribute site



26
27
28
# File 'lib/pressy/command.rb', line 26

def site
  @site
end

Class Method Details

.define(command_name, &definition) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/pressy/command.rb', line 2

def self.define(command_name, &definition)
  class_name = command_name.capitalize
  command_class = Class.new
  self.const_set(class_name, command_class)
  command_class.class_eval %{
    def self.name
      #{command_name.inspect}
    end
  }
  command_class.include self
  command_class.class_eval(&definition)
  Registry.default.register(command_class)
end

.included(base) ⇒ Object



16
17
18
# File 'lib/pressy/command.rb', line 16

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#initialize(site, console, env) ⇒ Object



20
21
22
23
24
# File 'lib/pressy/command.rb', line 20

def initialize(site, console, env)
  @site = site
  @console = console
  @env = env
end

#stderrObject



36
37
38
# File 'lib/pressy/command.rb', line 36

def stderr
  console.error
end

#stdinObject



28
29
30
# File 'lib/pressy/command.rb', line 28

def stdin
  console.input
end

#stdoutObject



32
33
34
# File 'lib/pressy/command.rb', line 32

def stdout
  console.output
end