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



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

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

#add_account(address, password) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/postfix_admin/runner.rb', line 82

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



135
136
137
138
139
140
141
142
143
144
# File 'lib/postfix_admin/runner.rb', line 135

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



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

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

#add_alias(address, goto) ⇒ Object



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

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

#add_domain(domain_name) ⇒ Object



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

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

#admin_passwd(user_name, password) ⇒ Object



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

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

#delete_account(address) ⇒ Object



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

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

#delete_admin(user_name) ⇒ Object



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

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

#delete_admin_domain(user_name, domain_name) ⇒ Object



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

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

#delete_alias(address) ⇒ Object



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

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

#delete_domain(domain_name) ⇒ Object



65
66
67
# File 'lib/postfix_admin/runner.rb', line 65

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

#dumpObject



168
169
170
# File 'lib/postfix_admin/runner.rb', line 168

def dump
  runner{ @cli.dump }
end

#edit_account(address) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/postfix_admin/runner.rb', line 102

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_admin(user_name) ⇒ Object



121
122
123
124
125
126
127
128
129
130
# File 'lib/postfix_admin/runner.rb', line 121

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

#edit_domain(domain_name) ⇒ Object



53
54
55
56
57
58
59
60
61
62
# File 'lib/postfix_admin/runner.rb', line 53

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

#versionObject



173
174
175
176
# File 'lib/postfix_admin/runner.rb', line 173

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