idcfcloud 0.2.2 → 1.1.1
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.
- checksums.yaml +5 -5
- data/.codeclimate.yml +12 -0
- data/.rubocop.yml +12 -2
- data/README.md +30 -12
- data/idcfcloud.gemspec +12 -12
- data/lib/idcf/cli/command/morio.rb +4 -4
- data/lib/idcf/cli/conf/conf.yml +0 -6
- data/lib/idcf/cli/conf/const.rb +32 -29
- data/lib/idcf/cli/controller/base.rb +50 -23
- data/lib/idcf/cli/controller/compute.rb +15 -2
- data/lib/idcf/cli/controller/extend/command.rb +25 -2
- data/lib/idcf/cli/controller/extend/search_module.rb +0 -10
- data/lib/idcf/cli/controller/extend/util.rb +12 -0
- data/lib/idcf/cli/controller/include/client.rb +1 -1
- data/lib/idcf/cli/controller/include/command.rb +1 -1
- data/lib/idcf/cli/controller/include/util.rb +3 -5
- data/lib/idcf/cli/controller/include/validate.rb +1 -1
- data/lib/idcf/cli/extend/configure.rb +2 -4
- data/lib/idcf/cli/extend/update.rb +21 -21
- data/lib/idcf/cli/extend/update_file.rb +21 -10
- data/lib/idcf/cli/gem_ext/idcf/json_hyper_schema/expands/link_info_base_extension.rb +25 -9
- data/lib/idcf/cli/gem_ext/thor/init_util.rb +6 -3
- data/lib/idcf/cli/index.rb +17 -5
- data/lib/idcf/cli/lib/api.rb +5 -4
- data/lib/idcf/cli/lib/configure.rb +2 -2
- data/lib/idcf/cli/lib/convert/filter/field_filter.rb +9 -12
- data/lib/idcf/cli/lib/convert/filter/json_path_filter.rb +1 -1
- data/lib/idcf/cli/lib/convert/formatter/base.rb +1 -2
- data/lib/idcf/cli/lib/convert/formatter/csv_format.rb +15 -32
- data/lib/idcf/cli/lib/convert/formatter/json_format.rb +1 -1
- data/lib/idcf/cli/lib/convert/formatter/table_format.rb +2 -2
- data/lib/idcf/cli/lib/convert/formatter/xml_format.rb +1 -1
- data/lib/idcf/cli/lib/convert/helper.rb +16 -5
- data/lib/idcf/cli/lib/document.rb +45 -0
- data/lib/idcf/cli/lib/util/cli_file.rb +1 -1
- data/lib/idcf/cli/lib/util/cli_logger.rb +3 -3
- data/lib/idcf/cli/lib/util/ini_conf.rb +2 -2
- data/lib/idcf/cli/lib/util/input.rb +40 -5
- data/lib/idcf/cli/lib/util/yml_conf.rb +1 -1
- data/lib/idcf/cli/service/base.rb +6 -6
- data/lib/idcf/cli/service/ilb/base_server_for_protocol.rb +22 -18
- data/lib/idcf/cli/validate/custom/month_check_validator.rb +1 -1
- data/lib/idcf/cli/validate/custom/require_relation_validator.rb +2 -2
- data/lib/idcf/cli/validate/define/base.rb +3 -2
- data/lib/idcf/cli/version.rb +1 -1
- metadata +55 -68
- data/lib/idcf/cli/controller/cdn.rb +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2e85df53cf877b508edb0741ace4be89179fcd6b7186df2323a7d992dc91e53e
|
4
|
+
data.tar.gz: 9fb184070e033ad9fb6472a80eff05ff1d44a2cadde499afd8b53ad5868139a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b1f4a11375d35f81b6abc8dcbeb477bec8c5a3325fa92d334b233adf9e2cb2910d68d6f797084ce6788164df08386185cb118035be2e0609a4e5454efb8bba3
|
7
|
+
data.tar.gz: 7581a8ff47eef3af7a155c0faf9187580d3b3bb46f855a7bb7e26b8b13b6b379013e6510fb69f8527487926eb74542ce190e18bc2521884cfb9af0495353cbd5
|
data/.codeclimate.yml
CHANGED
@@ -12,11 +12,23 @@ engines:
|
|
12
12
|
enabled: true
|
13
13
|
rubocop:
|
14
14
|
enabled: true
|
15
|
+
structure:
|
16
|
+
exclude_paths:
|
17
|
+
- 'test/**/*'
|
15
18
|
ratings:
|
16
19
|
paths:
|
17
20
|
- "**.rb"
|
21
|
+
checks:
|
22
|
+
argument-count:
|
23
|
+
config:
|
24
|
+
threshold: 6
|
25
|
+
method-complexity:
|
26
|
+
config:
|
27
|
+
threshold: 9
|
28
|
+
|
18
29
|
exclude_paths:
|
19
30
|
- vendor/bundle
|
20
31
|
- .idea
|
21
32
|
- bin
|
22
33
|
- doc
|
34
|
+
- output
|
data/.rubocop.yml
CHANGED
@@ -28,7 +28,7 @@ LineLength:
|
|
28
28
|
Exclude:
|
29
29
|
- 'test/**/*'
|
30
30
|
Style/ClassLength:
|
31
|
-
Max:
|
31
|
+
Max: 160
|
32
32
|
Exclude:
|
33
33
|
- 'test/**/*'
|
34
34
|
Style/ModuleLength:
|
@@ -38,4 +38,14 @@ Style/ModuleLength:
|
|
38
38
|
ParameterLists:
|
39
39
|
Max: 6
|
40
40
|
Style/DoubleNegation:
|
41
|
-
Enabled: false
|
41
|
+
Enabled: false
|
42
|
+
Style/SymbolArray:
|
43
|
+
Exclude:
|
44
|
+
- 'test/**/*'
|
45
|
+
Style/IndentHeredoc:
|
46
|
+
EnforcedStyle: active_support
|
47
|
+
Style/PercentLiteralDelimiters:
|
48
|
+
Exclude:
|
49
|
+
- 'test/**/*'
|
50
|
+
Lint/InterpolationCheck:
|
51
|
+
Enabled: false
|
data/README.md
CHANGED
@@ -55,8 +55,9 @@ cat [attributes file path] | echo -e "'"$(cat)"'" | xargs -L1 idcfcloud |
|
55
55
|
| secret-key | | [Configuration file description] | Secret Key |
|
56
56
|
| no-ssl | | | Not using SSL |
|
57
57
|
| no-vssl | | | Not using Verify SSL |
|
58
|
-
| json-path |
|
59
|
-
| fields |
|
58
|
+
| json-path | j | | Narrowing the data part of a return value using json-path<br/>https://github.com/joshbuddy/jsonpath |
|
59
|
+
| fields | f | | Limiting the return value to be displayed (applied only to the latest hash)<br/>Punctuation: comma (",") |
|
60
|
+
| version | | [latest] | The API version to be used |
|
60
61
|
|
61
62
|
|
62
63
|
#### How to Narrow Down (Examples)
|
@@ -69,14 +70,22 @@ idcfcloud your list_billing_history --json-path '$.data[?(@.month=="2017-10")]'
|
|
69
70
|
|
70
71
|
[ILB](#ilb)
|
71
72
|
|
72
|
-
[CDN](#cdn)
|
73
|
-
|
74
73
|
[DNS](#dns)
|
75
74
|
|
76
75
|
[Your](#your)
|
77
76
|
|
78
|
-
###
|
79
|
-
|
77
|
+
### Common Features
|
78
|
+
|
79
|
+
versions
|
80
|
+
|
81
|
+
Get a supported API version.
|
82
|
+
|
83
|
+
```code
|
84
|
+
$ idcfcloud your versions
|
85
|
+
```
|
86
|
+
|
87
|
+
|
88
|
+
### Compute<a name="compute"></a>
|
80
89
|
|
81
90
|
http://docs.idcf.jp/cloud/api/
|
82
91
|
|
@@ -115,10 +124,6 @@ sslalgorithms_ids
|
|
115
124
|
$ idcfcloud ilb sslalgorithms_ids
|
116
125
|
```
|
117
126
|
|
118
|
-
### CDN<a name="cdn"></a>
|
119
|
-
|
120
|
-
https://www.idcf.jp/help/cache/docs/pdf/cache_api.pdf?cl=rd_0046
|
121
|
-
|
122
127
|
### DNS<a name="dns"></a>
|
123
128
|
|
124
129
|
http://docs.idcf.jp/cloud/dns/#s_fid=4FEB16B56007BA5C-0BFB42ABA668ADA8
|
@@ -127,16 +132,29 @@ http://docs.idcf.jp/cloud/dns/#s_fid=4FEB16B56007BA5C-0BFB42ABA668ADA8
|
|
127
132
|
|
128
133
|
http://docs.idcf.jp/cloud/billing/
|
129
134
|
|
130
|
-
## Development
|
135
|
+
## Development && Test
|
131
136
|
|
132
137
|
Running the following test code is possible, but not recommended nor supported. Run only a code of a target.
|
133
138
|
|
139
|
+
🚨NOTE 🚨
|
140
|
+
|
141
|
+
- Be sure to specify `test/run_test.rb` before the test target.
|
142
|
+
- The test environment is not standalone. You need to apply for services and prepare your own environment.
|
143
|
+
At least an [ILB](https://www.idcf.jp/cloud/ilb/) is required to pass all tests.
|
144
|
+
- If you do not specify the region properly with the environment variable `TEST_REGION (default: jp-east)`, the test will not pass.
|
145
|
+
|
134
146
|
```code
|
135
|
-
$ bundle exec ruby test/run_test.rb idcf/cli/controller/test_your.rb
|
147
|
+
$ TEST_REGION=your_region bundle exec ruby test/run_test.rb idcf/cli/controller/test_your.rb
|
136
148
|
```
|
137
149
|
|
138
150
|
In order to avoid collapsed setting in ILB, make sure you understand how things work before running a code.
|
139
151
|
|
152
|
+
#### environments
|
153
|
+
|
154
|
+
|name|description|
|
155
|
+
|----|-----------|
|
156
|
+
|`TEST_REGION`|Region used in the test. (jp-east・jp-east-2・jp-west)|
|
157
|
+
|
140
158
|
## Contributing
|
141
159
|
|
142
160
|
1. Fork it ( https://github.com/idcf/idcfcloud-cli/fork )
|
data/idcfcloud.gemspec
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
lib = File.expand_path('../lib', __FILE__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require 'idcf/cli/version'
|
@@ -23,23 +22,24 @@ Gem::Specification.new do |spec|
|
|
23
22
|
spec.bindir = 'exe'
|
24
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
25
24
|
spec.require_paths = ['lib']
|
25
|
+
spec.required_ruby_version = '>= 2.5.0'
|
26
26
|
|
27
|
-
spec.add_development_dependency 'bundler', '
|
28
|
-
spec.add_development_dependency 'rake', '
|
27
|
+
spec.add_development_dependency 'bundler', '>= 1.14'
|
28
|
+
spec.add_development_dependency 'rake', '>= 10.0'
|
29
29
|
spec.add_development_dependency 'test-unit', '~> 3.2', '>= 3.2.5'
|
30
30
|
spec.add_development_dependency 'test-unit-notify', '~> 1.0', '>= 1.0.4'
|
31
31
|
|
32
|
-
spec.add_dependency 'activemodel', '
|
33
|
-
spec.add_dependency 'activesupport', '
|
34
|
-
spec.add_dependency 'inifile', '~> 3.0', '>= 3.0.0'
|
35
|
-
spec.add_dependency 'thor', '~> 0.19.4'
|
32
|
+
spec.add_dependency 'activemodel', '>= 5.2.4.1'
|
33
|
+
spec.add_dependency 'activesupport', '>= 5.2.4.1'
|
36
34
|
spec.add_dependency 'builder', '~> 3.1'
|
35
|
+
spec.add_dependency 'CFPropertyList', '~> 2.3.5'
|
36
|
+
spec.add_dependency 'facter', '~> 2.5.1'
|
37
|
+
spec.add_dependency 'idcf-faraday_middleware', '~> 0.0.2'
|
38
|
+
spec.add_dependency 'idcf-json_hyper_schema', '~> 0.3.1'
|
39
|
+
spec.add_dependency 'inifile', '~> 3.0', '>= 3.0.0'
|
40
|
+
spec.add_dependency 'jsonpath', '~> 0.8.10'
|
37
41
|
spec.add_dependency 'kosi', '~> 1.0', '>= 1.0.0'
|
38
42
|
|
39
43
|
spec.add_dependency 'open_uri_redirections', '~> 0.2.1'
|
40
|
-
spec.add_dependency '
|
41
|
-
spec.add_dependency 'idcf-faraday_middleware', '~> 0.0.2'
|
42
|
-
spec.add_dependency 'jsonpath', '~> 0.8.10'
|
43
|
-
spec.add_dependency 'facter', '~> 2.5.1'
|
44
|
-
spec.add_dependency 'CFPropertyList', '~> 2.3.5'
|
44
|
+
spec.add_dependency 'thor', '~> 0.19.4'
|
45
45
|
end
|
@@ -11,7 +11,7 @@ module Idcf
|
|
11
11
|
module Command
|
12
12
|
# morio command
|
13
13
|
class Morio
|
14
|
-
MORIO_TXT = <<-
|
14
|
+
MORIO_TXT = <<-TEXT.freeze
|
15
15
|
-+sso+-
|
16
16
|
.... -ssssssso`
|
17
17
|
`-/ossssss+/. `ssssssso`
|
@@ -25,7 +25,7 @@ module Idcf
|
|
25
25
|
./osssssssssssssssssssssss+.
|
26
26
|
`-:+oosssssssssssso+:.
|
27
27
|
``````````
|
28
|
-
|
28
|
+
TEXT
|
29
29
|
ATTRIBUTES_OFF = "\e[0m".freeze
|
30
30
|
MORIO_COLOR = "\e[38;5;45m".freeze
|
31
31
|
TITLE_COLOR = "\e[38;5;45m".freeze
|
@@ -81,7 +81,7 @@ module Idcf
|
|
81
81
|
result << [k.to_s, data.body] if data.success?
|
82
82
|
end
|
83
83
|
end
|
84
|
-
rescue
|
84
|
+
rescue StandardError => _e
|
85
85
|
[]
|
86
86
|
end
|
87
87
|
|
@@ -108,7 +108,7 @@ module Idcf
|
|
108
108
|
if content && content.class == Array && content.size == 2
|
109
109
|
title = content[1].present? ? "#{content[0]} : " : content[0]
|
110
110
|
txt = content[1].present? ? content[1] : ''
|
111
|
-
add_str = format(" #{TITLE_COLOR}
|
111
|
+
add_str = format(" #{TITLE_COLOR}%<title>s#{TEXT_COLOR}%<txt>s", title: title, txt: txt)
|
112
112
|
end
|
113
113
|
"#{base_str}#{add_str}"
|
114
114
|
end
|
data/lib/idcf/cli/conf/conf.yml
CHANGED
data/lib/idcf/cli/conf/const.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'date'
|
2
1
|
require 'logger'
|
3
2
|
require 'idcf/cli/version'
|
4
3
|
module Idcf
|
@@ -6,32 +5,36 @@ module Idcf
|
|
6
5
|
module Conf
|
7
6
|
# const
|
8
7
|
class Const
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
DOCUMENT_URL = 'https://www.idcf.jp/api-docs/apis/'.freeze
|
9
|
+
DOCUMENT_ID_SEP = '_'.freeze
|
10
|
+
DOCUMENT_SPACE_CONVERSION = '-'.freeze
|
11
|
+
DOCUMENT_ID_PREFIX_FORMAT = 'docs_%<service>s_reference%<version>s'.freeze
|
12
|
+
VERSION_STR = "idcfcloud version #{Idcf::Cli::VERSION}".freeze
|
13
|
+
now = Time.now.strftime('%Y%m%d%H%M%S%6N')
|
14
|
+
dir_path = File.dirname(__FILE__)
|
15
|
+
BASE_PATH = File.expand_path("#{dir_path}/../../../")
|
16
|
+
LOCAL_ERROR_PREFIX = '[idcfcli]'.freeze
|
17
|
+
HEADERS =
|
15
18
|
{
|
16
19
|
'User-Agent': "IDCF CLI v#{Idcf::Cli::VERSION}"
|
17
20
|
}.freeze
|
18
|
-
USER_DIR_PATH
|
19
|
-
VALIDATOR_DIR_PATH
|
20
|
-
CODE_CONF_PATH
|
21
|
-
USER_CONF_PATH
|
22
|
-
USER_CONF_GLOBAL
|
23
|
-
REGIONS
|
24
|
-
GLOBAL_CONF_ITEMS
|
21
|
+
USER_DIR_PATH = '~/.idcfcloud'.freeze
|
22
|
+
VALIDATOR_DIR_PATH = 'idcf/cli/validate/define'.freeze
|
23
|
+
CODE_CONF_PATH = "#{BASE_PATH}/idcf/cli/conf/conf.yml".freeze
|
24
|
+
USER_CONF_PATH = "#{USER_DIR_PATH}/config.ini".freeze
|
25
|
+
USER_CONF_GLOBAL = "#{BASE_PATH}/../config/config.ini".freeze
|
26
|
+
REGIONS = %w[jp-east jp-east-2 jp-west].freeze
|
27
|
+
GLOBAL_CONF_ITEMS =
|
25
28
|
{
|
26
29
|
output_log: {
|
27
30
|
default: 'Y',
|
28
|
-
list: %w
|
31
|
+
list: %w[Y n]
|
29
32
|
},
|
30
33
|
log_path: {
|
31
34
|
default: '~/.idcfcloud/log'
|
32
35
|
}
|
33
36
|
}.freeze
|
34
|
-
USER_CONF_ITEMS
|
37
|
+
USER_CONF_ITEMS =
|
35
38
|
{
|
36
39
|
api_key: nil,
|
37
40
|
secret_key: nil,
|
@@ -39,22 +42,22 @@ module Idcf
|
|
39
42
|
list: REGIONS
|
40
43
|
}
|
41
44
|
}.freeze
|
42
|
-
FULL_HREF_REGEXP
|
43
|
-
CMD_FILE_DIR
|
44
|
-
CMD_FILE_EXT
|
45
|
-
SERVICE_PATH
|
46
|
-
TEMPLATE_DIR
|
47
|
-
OUT_DIR
|
48
|
-
COMP_PATHS
|
45
|
+
FULL_HREF_REGEXP = Regexp.new('\A[a-zA-Z]*:?//').freeze
|
46
|
+
CMD_FILE_DIR = "#{BASE_PATH}/idcf/cli/conf/service".freeze
|
47
|
+
CMD_FILE_EXT = 'json'.freeze
|
48
|
+
SERVICE_PATH = 'idcf/cli/service'.freeze
|
49
|
+
TEMPLATE_DIR = "#{BASE_PATH}/idcf/cli/templates".freeze
|
50
|
+
OUT_DIR = "#{BASE_PATH}/../output".freeze
|
51
|
+
COMP_PATHS = {
|
49
52
|
bash: '~/.bash_profile',
|
50
53
|
zsh: '~/.zprofile'
|
51
54
|
}.freeze
|
52
|
-
LOG_FILE_PREFIX
|
53
|
-
LOG_FILE_NAME
|
54
|
-
LOG_LEVEL
|
55
|
-
CLASSIFY_RULE
|
56
|
-
%w
|
57
|
-
%w
|
55
|
+
LOG_FILE_PREFIX = 'cli_log_'.freeze
|
56
|
+
LOG_FILE_NAME = "#{LOG_FILE_PREFIX}#{now}.log".freeze
|
57
|
+
LOG_LEVEL = Logger::INFO.freeze
|
58
|
+
CLASSIFY_RULE = [
|
59
|
+
%w[sslalgorithms_ids SslalgorithmsIds],
|
60
|
+
%w[dns Dns]
|
58
61
|
].freeze
|
59
62
|
end
|
60
63
|
end
|
@@ -11,6 +11,7 @@ require_relative './extend/init'
|
|
11
11
|
require_relative './include/init'
|
12
12
|
require 'jsonpath'
|
13
13
|
require 'idcf/cli/lib/include/recurring_calling'
|
14
|
+
require 'idcf/cli/lib/document'
|
14
15
|
|
15
16
|
module Idcf
|
16
17
|
module Cli
|
@@ -35,9 +36,13 @@ module Idcf
|
|
35
36
|
class_option :no_vssl,
|
36
37
|
desc: 'not use verify ssl'
|
37
38
|
class_option :json_path,
|
38
|
-
|
39
|
+
aliases: '-j',
|
40
|
+
desc: 'data filter json_path'
|
39
41
|
class_option :fields,
|
40
|
-
|
42
|
+
aliases: '-f',
|
43
|
+
desc: 'field filter'
|
44
|
+
class_option :version,
|
45
|
+
desc: 'api version'
|
41
46
|
|
42
47
|
attr_reader :config, :code_conf, :cmd, :m_classes
|
43
48
|
|
@@ -49,7 +54,11 @@ module Idcf
|
|
49
54
|
attr_accessor :links
|
50
55
|
|
51
56
|
def init(argv)
|
52
|
-
o
|
57
|
+
o = Thor::Options.new(class_options).parse(argv)
|
58
|
+
region = get_region(o)
|
59
|
+
version = service_version(o)
|
60
|
+
Idcf::Cli::Lib::Document.init(region: region, version: version)
|
61
|
+
|
53
62
|
register_schema_method(o)
|
54
63
|
|
55
64
|
make_module_classes.each do |cn, c|
|
@@ -83,28 +92,38 @@ module Idcf
|
|
83
92
|
name.underscore.split('/').last
|
84
93
|
end
|
85
94
|
|
86
|
-
# service version
|
95
|
+
# service version list
|
87
96
|
#
|
88
|
-
# @
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
+
# @return [Array]
|
98
|
+
def service_versions(region)
|
99
|
+
[].tap do |result|
|
100
|
+
sn = service_name
|
101
|
+
Idcf::Cli::Lib::Configure.get_code_conf(sn).each do |k, v|
|
102
|
+
v['region'].each_key do |reg|
|
103
|
+
next unless region == reg
|
104
|
+
result << k
|
105
|
+
break
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
97
109
|
end
|
98
110
|
end
|
99
111
|
|
112
|
+
desc 'versions', 'versions'
|
113
|
+
|
114
|
+
def versions
|
115
|
+
list = self.class.service_versions(self.class.get_region(options))
|
116
|
+
puts make_result_str(make_result_data(list, options), options)
|
117
|
+
end
|
118
|
+
|
100
119
|
protected
|
101
120
|
|
102
121
|
def execute(cmd, *args)
|
103
122
|
data = run(cmd, args, options)
|
104
|
-
puts make_result_str(data,
|
123
|
+
puts make_result_str(data, options)
|
105
124
|
Idcf::Cli::Lib::Util::CliLogger.delete
|
106
125
|
Idcf::Cli::Lib::Util::CliLogger.cleaning(options)
|
107
|
-
rescue => e
|
126
|
+
rescue StandardError => e
|
108
127
|
self.class.error_exit(e)
|
109
128
|
end
|
110
129
|
|
@@ -202,26 +221,34 @@ module Idcf
|
|
202
221
|
|
203
222
|
def make_result_data(data, o)
|
204
223
|
format = output_format(o, '')
|
205
|
-
table_flag = %w
|
224
|
+
table_flag = %w[csv table].include?(format)
|
206
225
|
helper = Idcf::Cli::Lib::Convert::Helper.new
|
207
226
|
|
208
|
-
if helper.filter_target?(o)
|
209
|
-
|
210
|
-
|
211
|
-
result = make_table_data(data)
|
212
|
-
else
|
213
|
-
result = make_base_response
|
214
|
-
result[:data] = data
|
227
|
+
return data_filter(data, o, table_flag) if helper.filter_target?(o)
|
228
|
+
if table_flag
|
229
|
+
return data.class == Hash ? make_table_data(data) : data
|
215
230
|
end
|
231
|
+
result = make_base_response
|
232
|
+
result[:data] = data
|
216
233
|
result
|
217
234
|
end
|
218
235
|
|
236
|
+
def data_filter(data, o, table_flag)
|
237
|
+
helper = Idcf::Cli::Lib::Convert::Helper.new
|
238
|
+
data = make_field_data(data) if helper.only_filter_fields?(o)
|
239
|
+
[Hash, Array].include?(data.class) ? helper.filter(data, o, table_flag) : data
|
240
|
+
end
|
241
|
+
|
219
242
|
# table data
|
220
243
|
# @param data [Hash]
|
221
244
|
# @return Hash
|
222
245
|
def make_table_data(data)
|
223
246
|
data
|
224
247
|
end
|
248
|
+
|
249
|
+
def make_field_data(data)
|
250
|
+
data
|
251
|
+
end
|
225
252
|
end
|
226
253
|
end
|
227
254
|
end
|