haveapi-client 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7def3ed26149ad70ddd462e40613e2d22ede68f1
4
- data.tar.gz: 3d92faed7f5607c99bd66f7f72a5725fbbeadd1b
3
+ metadata.gz: d9da0b977f9f71abb381d016bc92c0294accff85
4
+ data.tar.gz: b2de06f3dd320432dcbc1227c4fb810b09de9b39
5
5
  SHA512:
6
- metadata.gz: a7c3a69f74698746872447f3d8d42dbe8ce36d44d086596726c226d222dc5ce37afb7907d64cf8934b51cc8c5f724ed82466878c42c7219881012d0dc8eab135
7
- data.tar.gz: c6885e2833ec41bf051c7ef593c2aa39142797b040eab6836144049bf0ea045feb4df1dc53e3a758c11072cd8938641695e4f16c3fed5d024b3c0b42f6567449
6
+ metadata.gz: a7563807a8438187e214a465a65e2d66fb22e70d9096a455d4dad2dc5547caa13a18e0c2617ea969eda594eca62fcd3440572a934e6acce9e0003f36c914a01f
7
+ data.tar.gz: de48846f23d460b19408234b34f6c32f4c2343da479d71dd730ce26494878200d0947bbfa0ee596d0e088908d32cea21ff90297a6157320c3be084f661cec76c
data/CHANGELOG CHANGED
@@ -1,3 +1,10 @@
1
+ * Fri Feb 10 2017 - version 0.8.0
2
+ - Fix coercion of Text parameters
3
+ - Ask on input parameters on stdin if an argument isn't provided
4
+ - Protocol version set to 1.2
5
+ - CLI uses DateTime.iso8601 to parse dates
6
+ - Datetime parameters accept Time, DateTime and Date objects
7
+
1
8
  * Fri Nov 25 2016 - version 0.7.1
2
9
  - Do not require a concrete version of json
3
10
 
@@ -6,7 +6,7 @@ require 'haveapi/client/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'haveapi-client'
8
8
  spec.version = HaveAPI::Client::VERSION
9
- spec.date = '2016-11-25'
9
+ spec.date = '2017-02-10'
10
10
  spec.authors = ['Jakub Skokan']
11
11
  spec.email = ['jakub.skokan@vpsfree.cz']
12
12
  spec.summary =
@@ -3,6 +3,7 @@ require 'pp'
3
3
  require 'highline/import'
4
4
  require 'yaml'
5
5
  require 'time'
6
+ require 'date'
6
7
 
7
8
  module HaveAPI::CLI
8
9
  class Cli
@@ -308,7 +309,14 @@ module HaveAPI::CLI
308
309
 
309
310
  action.input[:parameters].each do |name, p|
310
311
  opts.on(param_option(name, p), p[:description] || p[:label] || '') do |*args|
311
- options[name] = args.first
312
+ arg = args.first
313
+
314
+ if arg.nil?
315
+ options[name] = read_param(name, p)
316
+
317
+ else
318
+ options[name] = args.first
319
+ end
312
320
  end
313
321
  end
314
322
 
@@ -354,12 +362,21 @@ module HaveAPI::CLI
354
362
  ret += "[no-]#{name}"
355
363
 
356
364
  else
357
- ret += "#{name} #{name.underscore.upcase}"
365
+ ret += "#{name} [#{name.underscore.upcase}]"
358
366
  end
359
367
 
360
368
  ret
361
369
  end
362
370
 
371
+ def read_param(name, p)
372
+ prompt = "#{p[:label] || name}: "
373
+
374
+ ask(prompt) do |q|
375
+ q.default = nil
376
+ q.echo = !p[:protected]
377
+ end
378
+ end
379
+
363
380
  def list_versions
364
381
  desc = @api.available_versions
365
382
 
@@ -707,7 +724,7 @@ module HaveAPI::CLI
707
724
  def format_date(date)
708
725
  return '' unless date
709
726
 
710
- t = Time.iso8601(date)
727
+ t = DateTime.iso8601(date).to_time
711
728
  ret = case @opts[:datetime]
712
729
  when :timestamp
713
730
  t.to_i
@@ -53,15 +53,23 @@ module HaveAPI::Client
53
53
  Boolean.to_b(raw)
54
54
 
55
55
  elsif type == 'Datetime'
56
- begin
57
- DateTime.iso8601(raw).to_time
56
+ if raw.is_a?(::Time)
57
+ raw
58
58
 
59
- rescue ArgumentError
60
- @errors << 'not in ISO 8601 format'
61
- nil
59
+ elsif raw.is_a?(::Date) || raw.is_a?(::DateTime)
60
+ raw.to_time
61
+
62
+ else
63
+ begin
64
+ DateTime.iso8601(raw).to_time
65
+
66
+ rescue ArgumentError
67
+ @errors << 'not in ISO 8601 format'
68
+ nil
69
+ end
62
70
  end
63
71
 
64
- elsif type == 'String'
72
+ elsif %w(String Text).include?(type)
65
73
  raw.to_s
66
74
 
67
75
  else
@@ -1,6 +1,6 @@
1
1
  module HaveAPI
2
2
  module Client
3
- PROTOCOL_VERSION = '1.1'
4
- VERSION = '0.7.1'
3
+ PROTOCOL_VERSION = '1.2'
4
+ VERSION = '0.8.0'
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,125 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haveapi-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Skokan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-25 00:00:00.000000000 Z
11
+ date: 2017-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 4.1.14
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 4.1.14
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: require_all
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.3.3
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.3.3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rest-client
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 1.8.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 1.8.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: highline
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: 1.7.8
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: 1.7.8
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: ruby-progressbar
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: 1.7.5
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 1.7.5
125
125
  description: Ruby API and CLI for HaveAPI
@@ -188,12 +188,12 @@ require_paths:
188
188
  - lib
189
189
  required_ruby_version: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - '>='
191
+ - - ">="
192
192
  - !ruby/object:Gem::Version
193
193
  version: '0'
194
194
  required_rubygems_version: !ruby/object:Gem::Requirement
195
195
  requirements:
196
- - - '>='
196
+ - - ">="
197
197
  - !ruby/object:Gem::Version
198
198
  version: '0'
199
199
  requirements: []