hammer_cli 0.0.18 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +3 -314
- data/bin/hammer +45 -6
- data/config/cli.modules.d/module_config_template.yml +4 -0
- data/config/cli_config.template.yml +9 -11
- data/doc/developer_docs.md +1 -0
- data/doc/i18n.md +85 -0
- data/doc/installation.md +321 -0
- data/lib/hammer_cli.rb +3 -0
- data/lib/hammer_cli/abstract.rb +15 -24
- data/lib/hammer_cli/apipie/command.rb +13 -7
- data/lib/hammer_cli/apipie/options.rb +14 -16
- data/lib/hammer_cli/apipie/read_command.rb +6 -1
- data/lib/hammer_cli/apipie/resource.rb +48 -58
- data/lib/hammer_cli/apipie/write_command.rb +5 -1
- data/lib/hammer_cli/completer.rb +77 -21
- data/lib/hammer_cli/connection.rb +44 -0
- data/lib/hammer_cli/exception_handler.rb +15 -4
- data/lib/hammer_cli/exceptions.rb +6 -0
- data/lib/hammer_cli/i18n.rb +95 -0
- data/lib/hammer_cli/logger.rb +3 -3
- data/lib/hammer_cli/main.rb +12 -11
- data/lib/hammer_cli/modules.rb +19 -6
- data/lib/hammer_cli/options/normalizers.rb +42 -7
- data/lib/hammer_cli/options/option_definition.rb +2 -2
- data/lib/hammer_cli/output.rb +1 -0
- data/lib/hammer_cli/output/adapter/abstract.rb +20 -0
- data/lib/hammer_cli/output/adapter/base.rb +49 -78
- data/lib/hammer_cli/output/adapter/csv.rb +5 -5
- data/lib/hammer_cli/output/adapter/table.rb +41 -10
- data/lib/hammer_cli/output/dsl.rb +1 -1
- data/lib/hammer_cli/output/field_filter.rb +21 -0
- data/lib/hammer_cli/output/fields.rb +44 -78
- data/lib/hammer_cli/output/formatters.rb +38 -0
- data/lib/hammer_cli/settings.rb +28 -6
- data/lib/hammer_cli/shell.rb +58 -57
- data/lib/hammer_cli/utils.rb +14 -0
- data/lib/hammer_cli/validator.rb +5 -5
- data/lib/hammer_cli/version.rb +1 -1
- data/locale/Makefile +64 -0
- data/locale/hammer-cli.pot +203 -0
- data/locale/zanata.xml +29 -0
- data/test/unit/apipie/command_test.rb +42 -25
- data/test/unit/apipie/read_command_test.rb +10 -7
- data/test/unit/apipie/write_command_test.rb +9 -8
- data/test/unit/completer_test.rb +206 -21
- data/test/unit/connection_test.rb +68 -0
- data/test/unit/fixtures/apipie/architectures.json +153 -0
- data/test/unit/fixtures/apipie/documented.json +79 -0
- data/test/unit/fixtures/json_input/invalid.json +12 -0
- data/test/unit/fixtures/json_input/valid.json +12 -0
- data/test/unit/history_test.rb +71 -0
- data/test/unit/main_test.rb +9 -0
- data/test/unit/modules_test.rb +22 -6
- data/test/unit/options/field_filter_test.rb +27 -0
- data/test/unit/options/normalizers_test.rb +53 -0
- data/test/unit/output/adapter/base_test.rb +162 -10
- data/test/unit/output/adapter/csv_test.rb +16 -3
- data/test/unit/output/adapter/table_test.rb +97 -13
- data/test/unit/output/dsl_test.rb +74 -6
- data/test/unit/output/fields_test.rb +93 -62
- data/test/unit/output/formatters_test.rb +47 -0
- data/test/unit/settings_test.rb +35 -4
- data/test/unit/utils_test.rb +45 -0
- metadata +85 -4
- data/test/unit/apipie/fake_api.rb +0 -101
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hammer_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Bačovský
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-03-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: clamp
|
@@ -95,6 +95,48 @@ dependencies:
|
|
95
95
|
- - '>='
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: fast_gettext
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :runtime
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: locale
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - <=
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 2.0.9
|
119
|
+
type: :runtime
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - <=
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 2.0.9
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: json
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :runtime
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - '>='
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
98
140
|
- !ruby/object:Gem::Dependency
|
99
141
|
name: fastercsv
|
100
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,6 +165,20 @@ dependencies:
|
|
123
165
|
- - ~>
|
124
166
|
- !ruby/object:Gem::Version
|
125
167
|
version: '1.0'
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
name: apipie-bindings
|
170
|
+
requirement: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - '>='
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: 0.0.6
|
175
|
+
type: :runtime
|
176
|
+
prerelease: false
|
177
|
+
version_requirements: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: 0.0.6
|
126
182
|
description: |
|
127
183
|
Hammer cli provides universal extendable CLI interface for ruby apps
|
128
184
|
email: mbacovsk@redhat.com
|
@@ -135,13 +191,18 @@ extra_rdoc_files:
|
|
135
191
|
- doc/developer_docs.md
|
136
192
|
- doc/creating_commands.md
|
137
193
|
- doc/option_normalizers.md
|
194
|
+
- doc/installation.md
|
138
195
|
- doc/design.png
|
139
196
|
- doc/design.uml
|
140
197
|
- doc/writing_a_plugin.md
|
198
|
+
- doc/i18n.md
|
141
199
|
- config/cli_config.template.yml
|
200
|
+
- config/cli.modules.d/module_config_template.yml
|
142
201
|
- README.md
|
143
202
|
files:
|
203
|
+
- lib/hammer_cli/connection.rb
|
144
204
|
- lib/hammer_cli/logger_watch.rb
|
205
|
+
- lib/hammer_cli/i18n.rb
|
145
206
|
- lib/hammer_cli/apipie/write_command.rb
|
146
207
|
- lib/hammer_cli/apipie/resource.rb
|
147
208
|
- lib/hammer_cli/apipie/read_command.rb
|
@@ -149,6 +210,7 @@ files:
|
|
149
210
|
- lib/hammer_cli/apipie/command.rb
|
150
211
|
- lib/hammer_cli/logger.rb
|
151
212
|
- lib/hammer_cli/messages.rb
|
213
|
+
- lib/hammer_cli/exceptions.rb
|
152
214
|
- lib/hammer_cli/abstract.rb
|
153
215
|
- lib/hammer_cli/apipie.rb
|
154
216
|
- lib/hammer_cli/version.rb
|
@@ -169,6 +231,7 @@ files:
|
|
169
231
|
- lib/hammer_cli/output/output.rb
|
170
232
|
- lib/hammer_cli/output/fields.rb
|
171
233
|
- lib/hammer_cli/output/record_collection.rb
|
234
|
+
- lib/hammer_cli/output/field_filter.rb
|
172
235
|
- lib/hammer_cli/options/option_definition.rb
|
173
236
|
- lib/hammer_cli/options/normalizers.rb
|
174
237
|
- lib/hammer_cli/completer.rb
|
@@ -177,11 +240,15 @@ files:
|
|
177
240
|
- lib/hammer_cli/exit_codes.rb
|
178
241
|
- lib/hammer_cli/main.rb
|
179
242
|
- lib/hammer_cli.rb
|
243
|
+
- test/unit/fixtures/apipie/documented.json
|
244
|
+
- test/unit/fixtures/apipie/architectures.json
|
245
|
+
- test/unit/fixtures/json_input/valid.json
|
246
|
+
- test/unit/fixtures/json_input/invalid.json
|
180
247
|
- test/unit/apipie/command_test.rb
|
181
248
|
- test/unit/apipie/write_command_test.rb
|
182
|
-
- test/unit/apipie/fake_api.rb
|
183
249
|
- test/unit/apipie/read_command_test.rb
|
184
250
|
- test/unit/validator_test.rb
|
251
|
+
- test/unit/history_test.rb
|
185
252
|
- test/unit/completer_test.rb
|
186
253
|
- test/unit/utils_test.rb
|
187
254
|
- test/unit/exception_handler_test.rb
|
@@ -201,6 +268,8 @@ files:
|
|
201
268
|
- test/unit/output/record_collection_test.rb
|
202
269
|
- test/unit/options/option_definition_test.rb
|
203
270
|
- test/unit/options/normalizers_test.rb
|
271
|
+
- test/unit/options/field_filter_test.rb
|
272
|
+
- test/unit/connection_test.rb
|
204
273
|
- test/unit/settings_test.rb
|
205
274
|
- bin/hammer
|
206
275
|
- doc/creating_apipie_commands.md
|
@@ -208,10 +277,16 @@ files:
|
|
208
277
|
- doc/developer_docs.md
|
209
278
|
- doc/creating_commands.md
|
210
279
|
- doc/option_normalizers.md
|
280
|
+
- doc/installation.md
|
211
281
|
- doc/design.png
|
212
282
|
- doc/design.uml
|
213
283
|
- doc/writing_a_plugin.md
|
284
|
+
- doc/i18n.md
|
214
285
|
- config/cli_config.template.yml
|
286
|
+
- config/cli.modules.d/module_config_template.yml
|
287
|
+
- locale/zanata.xml
|
288
|
+
- locale/hammer-cli.pot
|
289
|
+
- locale/Makefile
|
215
290
|
- LICENSE
|
216
291
|
- README.md
|
217
292
|
- hammer_cli_complete
|
@@ -240,11 +315,15 @@ signing_key:
|
|
240
315
|
specification_version: 4
|
241
316
|
summary: Universal command-line interface
|
242
317
|
test_files:
|
318
|
+
- test/unit/fixtures/apipie/documented.json
|
319
|
+
- test/unit/fixtures/apipie/architectures.json
|
320
|
+
- test/unit/fixtures/json_input/valid.json
|
321
|
+
- test/unit/fixtures/json_input/invalid.json
|
243
322
|
- test/unit/apipie/command_test.rb
|
244
323
|
- test/unit/apipie/write_command_test.rb
|
245
|
-
- test/unit/apipie/fake_api.rb
|
246
324
|
- test/unit/apipie/read_command_test.rb
|
247
325
|
- test/unit/validator_test.rb
|
326
|
+
- test/unit/history_test.rb
|
248
327
|
- test/unit/completer_test.rb
|
249
328
|
- test/unit/utils_test.rb
|
250
329
|
- test/unit/exception_handler_test.rb
|
@@ -264,5 +343,7 @@ test_files:
|
|
264
343
|
- test/unit/output/record_collection_test.rb
|
265
344
|
- test/unit/options/option_definition_test.rb
|
266
345
|
- test/unit/options/normalizers_test.rb
|
346
|
+
- test/unit/options/field_filter_test.rb
|
347
|
+
- test/unit/connection_test.rb
|
267
348
|
- test/unit/settings_test.rb
|
268
349
|
has_rdoc:
|
@@ -1,101 +0,0 @@
|
|
1
|
-
module FakeApi
|
2
|
-
module Resources
|
3
|
-
class Architecture
|
4
|
-
def initialize(attrs=nil)
|
5
|
-
end
|
6
|
-
def self.doc
|
7
|
-
{
|
8
|
-
"name"=>"Architecture",
|
9
|
-
"methods"=>[
|
10
|
-
{
|
11
|
-
"name"=>"some_action",
|
12
|
-
"examples"=>[],
|
13
|
-
"errors"=>[],
|
14
|
-
"params"=>[]
|
15
|
-
}
|
16
|
-
]
|
17
|
-
}
|
18
|
-
end
|
19
|
-
end
|
20
|
-
class CamelCaseName
|
21
|
-
def initialize(attrs=nil)
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.doc
|
25
|
-
{
|
26
|
-
"name"=>"CamelCaseName",
|
27
|
-
"methods"=>[]
|
28
|
-
}
|
29
|
-
end
|
30
|
-
end
|
31
|
-
class Documented
|
32
|
-
def initialize(attrs=nil)
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.doc
|
36
|
-
{
|
37
|
-
"name"=>"Documented",
|
38
|
-
"api_url"=>"/api",
|
39
|
-
"version"=>"v2",
|
40
|
-
"short_description"=>nil,
|
41
|
-
"full_description"=>nil,
|
42
|
-
"doc_url"=>"/apidoc/v2/documented",
|
43
|
-
"methods"=>[
|
44
|
-
{
|
45
|
-
"name"=>"index",
|
46
|
-
"examples"=>[],
|
47
|
-
"errors"=>[],
|
48
|
-
"params"=>
|
49
|
-
[{"allow_nil"=>false,
|
50
|
-
"name"=>"se_arch_val-ue",
|
51
|
-
"full_name"=>"se_arch_val-ue_full_name",
|
52
|
-
"validator"=>"Must be String",
|
53
|
-
"description"=>"<p>filter results</p>",
|
54
|
-
"expected_type"=>"string",
|
55
|
-
"required"=>false}],
|
56
|
-
"full_description"=>""},
|
57
|
-
{
|
58
|
-
|
59
|
-
"name"=>"create",
|
60
|
-
"examples"=>[],
|
61
|
-
"errors"=>[],
|
62
|
-
"params"=>
|
63
|
-
[{"allow_nil"=>false,
|
64
|
-
"name"=>"documented",
|
65
|
-
"full_name"=>"documented",
|
66
|
-
"validator"=>"Must be a Hash",
|
67
|
-
"description"=>"",
|
68
|
-
"expected_type"=>"hash",
|
69
|
-
"required"=>true,
|
70
|
-
"params"=>
|
71
|
-
[{"name"=>"name",
|
72
|
-
"allow_nil"=>false,
|
73
|
-
"full_name"=>"documented[name]",
|
74
|
-
"validator"=>"Must be String",
|
75
|
-
"expected_type"=>"string",
|
76
|
-
"description"=>"",
|
77
|
-
"required"=>false},
|
78
|
-
{"name"=>"provider",
|
79
|
-
"allow_nil"=>false,
|
80
|
-
"full_name"=>"documented[provider]",
|
81
|
-
"validator"=>"Must be String",
|
82
|
-
"expected_type"=>"string",
|
83
|
-
"description"=>
|
84
|
-
"<p>Providers include Libvirt, Ovirt, EC2, Vmware, Openstack, Rackspace</p>",
|
85
|
-
"required"=>false},
|
86
|
-
{"name"=>"array_param",
|
87
|
-
"allow_nil"=>false,
|
88
|
-
"full_name"=>"documented[array_param]",
|
89
|
-
"validator"=>"Must be Array",
|
90
|
-
"expected_type"=>"string",
|
91
|
-
"description"=>"",
|
92
|
-
"required"=>true},]
|
93
|
-
}],
|
94
|
-
"full_description"=>""
|
95
|
-
}
|
96
|
-
]
|
97
|
-
}
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|