idcfcloud 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -0
  3. data/.gitignore +5 -3
  4. data/.rubocop.yml +16 -1
  5. data/README.md +61 -6
  6. data/exe/idcfcloud +9 -1
  7. data/idcfcloud.gemspec +9 -7
  8. data/lib/idcf/cli/conf/conf.yml +39 -5
  9. data/lib/idcf/cli/conf/const.rb +42 -17
  10. data/lib/idcf/cli/controller/base.rb +130 -60
  11. data/lib/idcf/cli/controller/extend/command.rb +18 -16
  12. data/lib/idcf/cli/controller/extend/init.rb +2 -0
  13. data/lib/idcf/cli/controller/extend/override.rb +1 -8
  14. data/lib/idcf/cli/controller/extend/search_module.rb +14 -0
  15. data/lib/idcf/cli/controller/ilb.rb +5 -34
  16. data/lib/idcf/cli/controller/include/command.rb +7 -80
  17. data/lib/idcf/cli/controller/include/init.rb +2 -4
  18. data/lib/idcf/cli/controller/include/util.rb +20 -63
  19. data/lib/idcf/cli/controller/include/validate.rb +7 -1
  20. data/lib/idcf/cli/controller/your.rb +0 -33
  21. data/lib/idcf/cli/error/cli_error.rb +7 -5
  22. data/lib/idcf/cli/extend/configure.rb +38 -33
  23. data/lib/idcf/cli/extend/update.rb +139 -54
  24. data/lib/idcf/cli/extend/update_file.rb +113 -18
  25. data/lib/idcf/cli/gem_ext/thor/init_util.rb +20 -7
  26. data/lib/idcf/cli/index.rb +21 -11
  27. data/lib/idcf/cli/lib/convert/formatter/base.rb +1 -1
  28. data/lib/idcf/cli/lib/convert/formatter/xml_format.rb +1 -1
  29. data/lib/idcf/cli/lib/convert/helper.rb +43 -7
  30. data/lib/idcf/cli/lib/util/ini_conf.rb +30 -8
  31. data/lib/idcf/cli/lib/util/yml_conf.rb +13 -2
  32. data/lib/idcf/cli/service/base.rb +121 -21
  33. data/lib/idcf/cli/service/ilb/add_server_for_protocol.rb +8 -3
  34. data/lib/idcf/cli/service/ilb/base_server_for_protocol.rb +21 -35
  35. data/lib/idcf/cli/service/ilb/delete_server_for_protocol.rb +9 -4
  36. data/lib/idcf/cli/validate/define/base.rb +3 -1
  37. data/lib/idcf/cli/validate/define/ilb/base.rb +0 -5
  38. data/lib/idcf/cli/version.rb +1 -1
  39. metadata +62 -23
  40. data/lib/idcf/cli/conf/service/.gitkeep +0 -0
  41. data/lib/idcf/cli/controller/include/override.rb +0 -30
  42. data/lib/idcf/cli/controller/include/sdk.rb +0 -94
@@ -1,94 +0,0 @@
1
- module Idcf
2
- module Cli
3
- module Controller
4
- module Include
5
- # sdk
6
- module Sdk
7
- protected
8
-
9
- def do_sdk(client, command, *args, _o)
10
- result = client_send(client, command, *args)
11
- return result if result.is_a?(Hash)
12
-
13
- if result.class == Array
14
- result_arr = []
15
- result.each do |v|
16
- result_arr << resource_ext(v)
17
- end
18
-
19
- return result_arr
20
- end
21
-
22
- resource_ext(result)
23
- end
24
-
25
- def client_send(client, command, *args)
26
- method = client.public_method(command.to_sym)
27
- arg = set_headers(method, args.dup)
28
- arg = check_job_arg(method, arg) if command.to_s == 'check_job'
29
- client.__send__(command.to_sym, *arg)
30
- end
31
-
32
- def set_headers(method, args)
33
- method.parameters.each_with_index do |v, k|
34
- case v[1].to_s
35
- when 'attributes', 'headers'
36
- args[k] = {} unless args[k].class == Hash
37
- args[k].merge!(Idcf::Cli::Conf::Const::HEADERS) if v[1].to_s == 'headers'
38
- end
39
- end
40
- args
41
- end
42
-
43
- def check_job_arg(method, args)
44
- method.parameters.each_with_index do |v, k|
45
- case v[1].to_s
46
- when 'specify_res_id'
47
- args[k] = false
48
- when 'callback_and_args'
49
- args[k] = []
50
- end
51
- end
52
- args
53
- end
54
-
55
- def resource_ext(val)
56
- return val unless classes?(val, resource_classes)
57
- return val.body if classes?(val, responce_classes)
58
- result = {}
59
- val.instance_variables.each do |pn_sym|
60
- pn = pn_sym.to_s
61
- next if pn == '@client'
62
- result[pn.gsub(/\A@+/, '')] = val.instance_variable_get(pn)
63
- end
64
- result
65
- end
66
-
67
- def classes?(val, classes)
68
- classes.each do |cl|
69
- return true if val.is_a?(cl)
70
- end
71
- false
72
- end
73
-
74
- def resource_classes
75
- []
76
- end
77
-
78
- def responce_classes
79
- []
80
- end
81
-
82
- def base_options(o)
83
- {}.tap do |result|
84
- sec = get_profile(o)
85
- [:api_key, :secret_key].each do |v|
86
- result[v] = o.key?(v) ? o[v] : get_user_conf(v.to_s, sec)
87
- end
88
- end
89
- end
90
- end
91
- end
92
- end
93
- end
94
- end