mayaml 4.0.4 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -13
  3. data/README.md +4 -4
  4. data/bin/mayaml-mutt-init +75 -0
  5. data/lib/mayaml/base.rb +19 -0
  6. data/lib/mayaml/mutt_account_alternates/generator.rb +29 -0
  7. data/lib/mayaml/mutt_account_alternates/presenter.rb +18 -0
  8. data/lib/mayaml/mutt_account_alternates/template.mustache +1 -0
  9. data/lib/mayaml/mutt_account_alternates/validator.rb +18 -0
  10. data/lib/mayaml/mutt_account_alternates.rb +32 -0
  11. data/lib/mayaml/mutt_account_creds/generator.rb +29 -0
  12. data/lib/mayaml/mutt_account_creds/presenter.rb +29 -0
  13. data/lib/mayaml/mutt_account_creds/template.mustache +8 -0
  14. data/lib/mayaml/mutt_account_creds/validator.rb +25 -0
  15. data/lib/mayaml/mutt_account_creds.rb +32 -0
  16. data/lib/mayaml/mutt_account_init/generator.rb +30 -0
  17. data/lib/mayaml/mutt_account_init/presenter.rb +37 -0
  18. data/lib/mayaml/mutt_account_init/template.mustache +3 -0
  19. data/lib/mayaml/mutt_account_init/validator.rb +24 -0
  20. data/lib/mayaml/mutt_account_init.rb +32 -0
  21. data/lib/mayaml/mutt_config_accounts.rb +19 -0
  22. data/lib/mayaml/mutt_config_default_account.rb +18 -0
  23. data/lib/mayaml/mutt_config_init.rb +20 -0
  24. data/lib/mayaml/mutt_config_static.rb +18 -0
  25. data/lib/mayaml/mutt_configs_accounts/handler.rb +30 -0
  26. data/lib/mayaml/mutt_configs_default_account/handler.rb +46 -0
  27. data/lib/mayaml/mutt_configs_init/handler.rb +37 -0
  28. data/lib/mayaml/mutt_configs_static/assets/account_chooser.sh +20 -0
  29. data/lib/mayaml/mutt_configs_static/assets/csk.muttrc +94 -0
  30. data/lib/mayaml/mutt_configs_static/assets/mailcap +4 -0
  31. data/lib/mayaml/mutt_configs_static/assets/muttrc +125 -0
  32. data/lib/mayaml/mutt_configs_static/handler.rb +40 -0
  33. data/lib/mayaml/version.rb +1 -18
  34. data/lib/mayaml.rb +3 -47
  35. metadata +82 -24
  36. data/bin/mayaml-check +0 -42
  37. data/lib/mayaml/error.rb +0 -23
  38. data/lib/mayaml/mail_account/builder.rb +0 -127
  39. data/lib/mayaml/mail_account/default_flag_validator.rb +0 -43
  40. data/lib/mayaml/mail_account/error.rb +0 -47
  41. data/lib/mayaml/mail_account/mailboxes_validator.rb +0 -53
  42. data/lib/mayaml/mail_account/port_validator.rb +0 -44
  43. data/lib/mayaml/mail_account/required_attributes_validator.rb +0 -91
  44. data/lib/mayaml/mail_account/smtp_protocol_validator.rb +0 -53
  45. data/lib/mayaml/mail_account/type_validator.rb +0 -53
  46. data/lib/mayaml/mail_account.rb +0 -47
  47. data/lib/mayaml/parser.rb +0 -29
data/bin/mayaml-check DELETED
@@ -1,42 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
5
- #
6
- # This file is part of Mayaml.
7
- #
8
- # This program is free software: you can redistribute it and/or modify
9
- # it under the terms of the GNU General Public License as published by
10
- # the Free Software Foundation, either version 3 of the License, or
11
- # (at your option) any later version.
12
- #
13
- # This program is distributed in the hope that it will be useful,
14
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- # GNU General Public License for more details.
17
- #
18
- # You should have received a copy of the GNU General Public License
19
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
20
- #
21
- require "mayaml"
22
-
23
- def puts_ussage_message
24
- puts <<-END_HELP
25
- Ussage: mayaml-check <path_to_yaml_file>
26
- END_HELP
27
- end
28
-
29
- def main(args)
30
- yaml_path = args.shift
31
- if yaml_path.nil?
32
- puts_ussage_message
33
- exit 1
34
- elsif File.exist? yaml_path
35
- Mayaml.accounts_from_file(yaml_path).each { |acc| puts acc.to_str }
36
- else
37
- puts "Could not find file: #{yaml_path}"
38
- exit 1
39
- end
40
- end
41
-
42
- main ARGV
data/lib/mayaml/error.rb DELETED
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- module Mayaml
21
- class Error < StandardError
22
- end
23
- end
@@ -1,127 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
- require "mayaml/mail_account"
20
- require "mayaml/mail_account/error"
21
- require "mayaml/mail_account/required_attributes_validator"
22
- require "mayaml/mail_account/type_validator"
23
- require "mayaml/mail_account/port_validator"
24
- require "mayaml/mail_account/mailboxes_validator"
25
- require "mayaml/mail_account/default_flag_validator"
26
- require "mayaml/mail_account/smtp_protocol_validator"
27
-
28
- module Mayaml
29
- class MailAccount
30
- class Builder
31
- def self.build
32
- builder = new
33
- yield(builder)
34
- builder.account
35
- end
36
-
37
- def initialize
38
- @account = ::Mayaml::MailAccount.new
39
- end
40
-
41
- def name(name)
42
- @account.name = name
43
- end
44
-
45
- def default(flag)
46
- if flag.nil? || flag == ""
47
- @account.set_default_flag
48
- else
49
- valid_attribute DefaultFlagValidator, WrongDefaultFlag, flag
50
- @account.default = (["true", true].include? flag)
51
- end
52
- end
53
-
54
- def realname(realname)
55
- @account.realname = realname
56
- end
57
-
58
- def type(str)
59
- valid_attribute TypeValidator, WrongAccountType, str
60
- @account.type = str.to_sym
61
- end
62
-
63
- def server(str)
64
- @account.server = str
65
- end
66
-
67
- def port(nr)
68
- valid_attribute PortValidator, WrongAccountPort, nr
69
- @account.port = nr.to_i
70
- end
71
-
72
- def user(str)
73
- @account.user = str
74
- end
75
-
76
- def pass(str)
77
- @account.pass = str
78
- end
79
-
80
- def mailboxes(arr)
81
- if arr.nil? || arr.empty?
82
- @account.set_default_mailboxes
83
- else
84
- valid_attribute MailboxesValidator, WrongAccountMailboxes, arr
85
- @account.mailboxes = arr
86
- end
87
- end
88
-
89
- def smtp_protocol(str)
90
- valid_attribute SmtpProtocolValidator, WrongAccountSmtpProtocol, str
91
- @account.smtp_protocol = str.to_sym
92
- end
93
-
94
- def smtp_port(nr)
95
- valid_attribute PortValidator, WrongAccountSmtpPort, nr
96
- @account.smtp_port = nr.to_i
97
- end
98
-
99
- def smtp_authenticator(str)
100
- @account.smtp_authenticator = str
101
- end
102
-
103
- def smtp_server(str)
104
- @account.smtp_server = str
105
- end
106
-
107
- def account
108
- obj = valid_account
109
- @account = ::Mayaml::MailAccount.new
110
- obj
111
- end
112
-
113
- private
114
-
115
- def valid_account
116
- validator = RequiredAttributesValidator.new @account
117
- raise MissingAttributes, validator.errors.join(" ") unless validator.valid?
118
- @account.dup
119
- end
120
-
121
- def valid_attribute(validator_class, error_class, attribute)
122
- validator = validator_class.new attribute
123
- raise error_class, validator.errors.join(" ") unless validator.valid?
124
- end
125
- end
126
- end
127
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- module Mayaml
21
- class MailAccount
22
- class DefaultFlagValidator
23
- def initialize(flag)
24
- @flag = flag
25
- errors << "Flag need to be 'true' or 'false'" unless valid_flag?
26
- end
27
-
28
- def valid?
29
- errors.empty?
30
- end
31
-
32
- def errors
33
- @errors ||= []
34
- end
35
-
36
- private
37
-
38
- def valid_flag?
39
- [true, false, "true", "false"].include? @flag
40
- end
41
- end
42
- end
43
- end
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
- require "mayaml/error"
20
-
21
- module Mayaml
22
- class MailAccount
23
- class Error < ::Mayaml::Error
24
- end
25
-
26
- class MissingAttributes < Error
27
- end
28
-
29
- class WrongDefaultFlag < Error
30
- end
31
-
32
- class WrongAccountType < Error
33
- end
34
-
35
- class WrongAccountPort < Error
36
- end
37
-
38
- class WrongAccountMailboxes < Error
39
- end
40
-
41
- class WrongAccountSmtpPort < Error
42
- end
43
-
44
- class WrongAccountSmtpProtocol < Error
45
- end
46
- end
47
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- module Mayaml
21
- class MailAccount
22
- class MailboxesValidator
23
- def initialize(mailboxes)
24
- @mailboxes = mailboxes
25
- errors << "Mailboxes should be array." unless right_mailboxes_type?
26
- errors << "Mailboxes can not be empty." unless mailboxes_exists?
27
- errors << "Mailboxes should all be strings." unless right_mailboxes_content?
28
- end
29
-
30
- def valid?
31
- errors.empty?
32
- end
33
-
34
- def errors
35
- @errors ||= []
36
- end
37
-
38
- private
39
-
40
- def right_mailboxes_type?
41
- @mailboxes.instance_of? Array
42
- end
43
-
44
- def mailboxes_exists?
45
- right_mailboxes_type? && !@mailboxes.empty?
46
- end
47
-
48
- def right_mailboxes_content?
49
- right_mailboxes_type? && @mailboxes.all? { |box| box.instance_of? String }
50
- end
51
- end
52
- end
53
- end
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- module Mayaml
21
- class MailAccount
22
- class PortValidator
23
- def initialize(port)
24
- port = conver_port(port)
25
- errors << "Mail account port is invalid." if port.zero?
26
- errors << "Mail account port could not be negative." if port.negative?
27
- end
28
-
29
- def valid?
30
- errors.empty?
31
- end
32
-
33
- def errors
34
- @errors ||= []
35
- end
36
-
37
- private
38
-
39
- def conver_port(port)
40
- port.respond_to?(:to_i) ? port.to_i : 0
41
- end
42
- end
43
- end
44
- end
@@ -1,91 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- module Mayaml
21
- class MailAccount
22
- class RequiredAttributesValidator
23
- attr_reader :errors
24
-
25
- def initialize(mail_account)
26
- @errors = []
27
- @mail_account = mail_account
28
- check_mail_account_attrs
29
- end
30
-
31
- def valid?
32
- @errors.empty?
33
- end
34
-
35
- private
36
-
37
- def check_mail_account_attrs
38
- check_missing_name
39
- check_missing_realname
40
- check_missing_type
41
- check_missing_server
42
- check_missing_user
43
- check_missing_pass
44
- check_missing_smtp_protocol
45
- check_missing_smtp_port
46
- check_missing_smtp_authenticator
47
- check_missing_smtp_server
48
- end
49
-
50
- def check_missing_name
51
- @errors << "Missing name attribute." if @mail_account.name.nil?
52
- end
53
-
54
- def check_missing_realname
55
- @errors << "Missing realname attribute." if @mail_account.realname.nil?
56
- end
57
-
58
- def check_missing_type
59
- @errors << "Missing type attribute." if @mail_account.type.nil?
60
- end
61
-
62
- def check_missing_server
63
- @errors << "Missing server attribute." if @mail_account.server.nil?
64
- end
65
-
66
- def check_missing_user
67
- @errors << "Missing user attribute." if @mail_account.user.nil?
68
- end
69
-
70
- def check_missing_pass
71
- @errors << "Missing pass attribute." if @mail_account.pass.nil?
72
- end
73
-
74
- def check_missing_smtp_protocol
75
- @errors << "Missing smtp_protocol attribute." if @mail_account.smtp_protocol.nil?
76
- end
77
-
78
- def check_missing_smtp_port
79
- @errors << "Missing smtp_port attribute." if @mail_account.smtp_port.nil?
80
- end
81
-
82
- def check_missing_smtp_authenticator
83
- @errors << "Missing smtp_authenticator attribute." if @mail_account.smtp_authenticator.nil?
84
- end
85
-
86
- def check_missing_smtp_server
87
- @errors << "Missing smtp_server attribute." if @mail_account.smtp_server.nil?
88
- end
89
- end
90
- end
91
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- module Mayaml
21
- class MailAccount
22
- class SmtpProtocolValidator
23
- VALID_TYPES = %i[smtp smtps].freeze
24
-
25
- def initialize(type)
26
- @type = convert_type(type)
27
- errors << "Mail account smtp_protocol is invalid. Allowed: #{types}." unless valid_type?
28
- end
29
-
30
- def valid?
31
- errors.empty?
32
- end
33
-
34
- def errors
35
- @errors ||= []
36
- end
37
-
38
- private
39
-
40
- def convert_type(type)
41
- type.to_sym if type.respond_to? :to_sym
42
- end
43
-
44
- def valid_type?
45
- VALID_TYPES.include? @type
46
- end
47
-
48
- def types
49
- VALID_TYPES.join(", ")
50
- end
51
- end
52
- end
53
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- module Mayaml
21
- class MailAccount
22
- class TypeValidator
23
- VALID_TYPES = %i[imap pop3 imapssl pop3ssl].freeze
24
-
25
- def initialize(type)
26
- @type = convert_type(type)
27
- errors << "Mail account type is invalid. Allowed types: #{valid_types}." unless valid_type?
28
- end
29
-
30
- def valid?
31
- errors.empty?
32
- end
33
-
34
- def errors
35
- @errors ||= []
36
- end
37
-
38
- private
39
-
40
- def convert_type(type)
41
- type.to_sym if type.respond_to? :to_sym
42
- end
43
-
44
- def valid_type?
45
- VALID_TYPES.include? @type
46
- end
47
-
48
- def valid_types
49
- VALID_TYPES.join(", ")
50
- end
51
- end
52
- end
53
- end
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- module Mayaml
21
- class MailAccount
22
- attr_accessor :name, :default, :realname, :type, :server, :port, :user, :pass, \
23
- :mailboxes, :smtp_protocol, :smtp_port, :smtp_authenticator, :smtp_server
24
-
25
- def initialize
26
- set_default_flag
27
- set_default_mailboxes
28
- end
29
-
30
- def set_default_flag
31
- @default = false
32
- end
33
-
34
- def set_default_mailboxes
35
- @mailboxes = []
36
- end
37
-
38
- def to_str
39
- default_mark = @default ? "*" : ""
40
- <<-DESC
41
- Account#{default_mark}: #{@name}<#{@realname}> | user: #{@user}:#{@pass}
42
- #{@type} - #{@server}:#{@port} [#{@mailboxes.join(",")}]
43
- #{@smtp_protocol} - #{@smtp_server}:#{@smtp_port} [auth: #{@smtp_authenticator}]
44
- DESC
45
- end
46
- end
47
- end
data/lib/mayaml/parser.rb DELETED
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright (C) 2016, 2017, 2018 Szymon Kopciewski
4
- #
5
- # This file is part of Mayaml.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
- require "yaml"
20
-
21
- module Mayaml
22
- class Parser
23
- def self.get_accounts(json_file)
24
- YAML.load_file json_file
25
- rescue Errno::ENOENT, Psych::SyntaxError
26
- []
27
- end
28
- end
29
- end