Class: PostfixAdmin::Runner

Inherits:
Thor
  • Object
show all
Defined in:
lib/postfix_admin/runner.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Runner

Returns a new instance of Runner.



8
9
10
11
# File 'lib/postfix_admin/runner.rb', line 8

def initialize(*args)
  super
  @cli = CLI.new
end

Instance Method Details

#account_passwd(user_name, password) ⇒ Object



45
46
47
# File 'lib/postfix_admin/runner.rb', line 45

def (user_name, password)
  runner{ @cli.(user_name, password) }
end

#add_account(address, password) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/postfix_admin/runner.rb', line 87

def (address, password)
  runner do
    if options[:scheme] == 'scheme'
      warn "Specify password scheme"
      help('add_account')
    else
      if options[:name] == 'name'
        warn "Specify name"
        help('add_account')
      else
        @cli.(address, password, options[:scheme], options[:name])
      end
    end
  end
end

#add_admin(user_name, password) ⇒ Object



125
126
127
128
129
130
131
132
133
134
# File 'lib/postfix_admin/runner.rb', line 125

def add_admin(user_name, password)
  runner do
    if options[:scheme] == 'scheme'
      warn "Specify password scheme"
      help('add_admin')
    else
      @cli.add_admin(user_name, password, options[:super], options[:scheme])
    end
  end
end

#add_admin_domain(user_name, domain_name) ⇒ Object



137
138
139
# File 'lib/postfix_admin/runner.rb', line 137

def add_admin_domain(user_name, domain_name)
  runner{ @cli.add_admin_domain(user_name, domain_name) }
end

#add_alias(address, goto) ⇒ Object



148
149
150
# File 'lib/postfix_admin/runner.rb', line 148

def add_alias(address, goto)
  runner{ @cli.add_alias(address, goto) }
end

#add_domain(domain_name) ⇒ Object



50
51
52
# File 'lib/postfix_admin/runner.rb', line 50

def add_domain(domain_name)
  runner{ @cli.add_domain(domain_name) }
end

#admin_passwd(user_name, password) ⇒ Object



40
41
42
# File 'lib/postfix_admin/runner.rb', line 40

def admin_passwd(user_name, password)
  runner{ @cli.change_admin_password(user_name, password) }
end

#delete_account(address) ⇒ Object



80
81
82
# File 'lib/postfix_admin/runner.rb', line 80

def (address)
  runner{ @cli.(address) }
end

#delete_admin(user_name) ⇒ Object



75
76
77
# File 'lib/postfix_admin/runner.rb', line 75

def delete_admin(user_name)
  runner{ @cli.delete_admin(user_name) }
end

#delete_admin_domain(user_name, domain_name) ⇒ Object



142
143
144
# File 'lib/postfix_admin/runner.rb', line 142

def delete_admin_domain(user_name, domain_name)
  runner{ @cli.delete_admin_domain(user_name, domain_name) }
end

#delete_alias(address) ⇒ Object



153
154
155
# File 'lib/postfix_admin/runner.rb', line 153

def delete_alias(address)
  runner{ @cli.delete_alias(address) }
end

#delete_domain(domain_name) ⇒ Object



70
71
72
# File 'lib/postfix_admin/runner.rb', line 70

def delete_domain(domain_name)
  runner{ @cli.delete_domain(domain_name) }
end

#dumpObject



158
159
160
# File 'lib/postfix_admin/runner.rb', line 158

def dump
  runner{ @cli.dump }
end

#edit_account(address) ⇒ Object



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/postfix_admin/runner.rb', line 106

def (address)
  runner do
    if options.size == 0
      warn "Use one or more options."
      help('edit_account')
    else
      if options[:name] == 'name'
        warn "Specify name"
        help('edit_account')
      else
        @cli.(address, options)
      end
    end
  end
end

#edit_domain(domain_name) ⇒ Object



58
59
60
61
62
63
64
65
66
67
# File 'lib/postfix_admin/runner.rb', line 58

def edit_domain(domain_name)
  runner do
    if options.size == 0
      warn "Use one or more options."
      help('edit_domain')
    else
      @cli.edit_domain(domain_name, options)
    end
  end
end

#schemesObject



19
20
21
# File 'lib/postfix_admin/runner.rb', line 19

def schemes
  runner{ puts PostfixAdmin::Doveadm.schemes.join(' ') }
end

#setup(domain_name, password) ⇒ Object



29
30
31
# File 'lib/postfix_admin/runner.rb', line 29

def setup(domain_name, password)
  runner{ @cli.setup_domain(domain_name, password) }
end

#show(name = nil) ⇒ Object



24
25
26
# File 'lib/postfix_admin/runner.rb', line 24

def show(name=nil)
  runner{ @cli.show(name) }
end

#summary(domain_name = nil) ⇒ Object



14
15
16
# File 'lib/postfix_admin/runner.rb', line 14

def summary(domain_name=nil)
  runner{ @cli.show_summary(domain_name) }
end

#super_admin(user_name) ⇒ Object



35
36
37
# File 'lib/postfix_admin/runner.rb', line 35

def super_admin(user_name)
  runner{ @cli.super_admin(user_name, options[:disable]) }
end

#versionObject



163
164
165
166
# File 'lib/postfix_admin/runner.rb', line 163

def version
  require 'postfix_admin/version'
  runner{ say "postfix_admin #{VERSION}" }
end