lhj-tools 0.1.36 → 0.1.37

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
  SHA256:
3
- metadata.gz: 224052a6a416f97ba5b9827cd4fdcb49d345d2ff30721062d3f7fbe6e3a7693a
4
- data.tar.gz: f605d6eff40aa500c863e4dddf8dc532584e1ee4abf7505112679aa629888dab
3
+ metadata.gz: 00bcfbfc57ef29c17ccb992fe52decd1dc169a2f4595c6c291edc99e8d5516b4
4
+ data.tar.gz: 48ea09b1938d81b27293719247d9382d1b92627ccb4e9544a312d0c00029a942
5
5
  SHA512:
6
- metadata.gz: d6388d57ad1fee26262cbca46c2cf472059c27557b6c7ff5512299a89f75ee97093bf29792756ed5bb8072c0b86dceae68589408ab3cfd1fb3db5dcfa25a2e05
7
- data.tar.gz: f8d1d882382c5853eb495a7a3cb9d75953c27c9bfe1af7a2a1f1d1ee6e3cb012648f22fb859554fd2bc0c845642d55bc56c9b26b913cc4a00766f052a24dee3a
6
+ metadata.gz: 19fa3572c6c8cf794f74299710c5b2a0a0e24d4ac25abec6a7d0e5bce4ef339d039aa86418a228c039b999fb63b2e00423674c584e9e1ee8cc476597da5cb180
7
+ data.tar.gz: d65ecfea427f73d635670475c9b811e4f998358de57ac1a27e9091489bf877d998008c9454e2e207e6661e74a8201192701c3e1c9d97998e61a665b84e38d90d
@@ -5,8 +5,8 @@ module Lhj
5
5
  self.description = '生成的代码模板'
6
6
 
7
7
  CODE_TEMPLATE_INDEX = [{ name: 'dispatch Source 模板', template: 'dispatch_source.erb' },
8
- { name: '另一个 模板', template: 'fffaaa' },
9
- { name: '代码模板', template: 'fffbbb' }].freeze
8
+ { name: '消息队列', template: 'message_query.erb' },
9
+ { name: '代码模板', template: 'test.erb' }].freeze
10
10
 
11
11
  def initialize(argv)
12
12
  @cli = HighLine.new
@@ -1,12 +1,12 @@
1
1
  @implementation ODOrderTimerManager
2
2
 
3
3
  + (instancetype)sharedInstance {
4
- static dispatch_once_t onceToken;
5
- static ODOrderTimerManager *instance = nil;
6
- dispatch_once(&onceToken,^{
7
- instance = [[ODOrderTimerManager alloc] init];
8
- });
9
- return instance;
4
+ static dispatch_once_t onceToken;
5
+ static ODOrderTimerManager *instance = nil;
6
+ dispatch_once(&onceToken,^{
7
+ instance = [[ODOrderTimerManager alloc] init];
8
+ });
9
+ return instance;
10
10
  }
11
11
 
12
12
  - (void)calcOrderPay:(NSString *)orderId timeout:(NSInteger)timeout
@@ -0,0 +1,58 @@
1
+ - (void)handleWithBlock:(void (^)(AMGoodsSellingMessageModel *, void(^completion)(BOOL finished, AMGoodsSellingMessageModel *current)))block completion:(void (^)(AMGoodsSellingMessageModel *, void(^)(BOOL)))completion
2
+ {
3
+ dispatch_once(&onceMessageQueueManagerToken, ^{
4
+ [self processWithPreModel:nil block:block completion:completion];
5
+ });
6
+ }
7
+
8
+ - (void)processWithPreModel:(AMGoodsSellingMessageModel *)preModel block:(void (^)(AMGoodsSellingMessageModel *, void(^completion)(BOOL finished, AMGoodsSellingMessageModel *current)))block completion:(void (^)(AMGoodsSellingMessageModel *, void(^)(BOOL)))completion
9
+ {
10
+ AMGoodsSellingMessageModel *next = [self popModel];
11
+ if(next && block){
12
+ __weak __typeof(self)weakSelf = self;
13
+ if(preModel){
14
+ if(![next isEqual:preModel]){
15
+ next.animationType = AMMessageAnimationTypeReShowAndAnimation;
16
+ next.currentNum = MAX(1, [next.sellingNumber integerValue]);
17
+ }else{
18
+ next.animationType = AMMessageAnimationTypeAnimation;
19
+ NSInteger num = MAX(1, [next.sellingNumber integerValue]);
20
+ next.currentNum = preModel.currentNum + num;
21
+ }
22
+ }else{
23
+ next.animationType = AMMessageAnimationTypeShowAndAnimation;
24
+ next.currentNum = MAX(1, [next.sellingNumber integerValue]);
25
+ }
26
+ next.displayNumber = [NSString stringWithFormat:@"%ld", next.currentNum];
27
+ block(next, ^(BOOL finished, AMGoodsSellingMessageModel *current){
28
+ if(finished){
29
+ [weakSelf processWithPreModel:next block:block completion:completion];
30
+ }
31
+ });
32
+ }else{
33
+ if(completion){
34
+ completion(preModel, ^(BOOL finished){
35
+ onceMessageQueueManagerToken = 0;
36
+ });
37
+ }
38
+ }
39
+ }
40
+
41
+ -(void)beginProductSoldOutAnimation
42
+ {
43
+ __weak __typeof(self)weakSelf = self;
44
+ [[AMMessageQueueManager sharedInstance] handleWithBlock:^(AMGoodsSellingMessageModel * model, void (^ _Nonnull completion)(BOOL ,AMGoodsSellingMessageModel *)) {
45
+ if(model){
46
+ [weakSelf productSoldOutViewAnimation:model completion:^(BOOL finished, AMGoodsSellingMessageModel *current) {
47
+ completion(finished, current);
48
+ }];
49
+ }
50
+ } completion:^(AMGoodsSellingMessageModel *preModel, void (^ _Nonnull finishCallback)(BOOL)) {
51
+ NSInteger des = preModel ? preModel.dismissSec : 3;
52
+ [[AMMessageTimerManager sharedInstance] scheduledWithMessageType:AMCustomMessageTypeGoodsSelling timeout:des completion:^{
53
+ [weakSelf hideProductSoldOutView:^(BOOL finished) {
54
+ finishCallback(finished);
55
+ }];
56
+ }];
57
+ }];
58
+ }
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  require 'lhj/helper/oss_helper'
3
+ require 'highline'
3
4
 
4
5
  module Lhj
5
6
  class Command
@@ -7,42 +8,24 @@ module Lhj
7
8
  class Del < OSS
8
9
  self.summary = '删除OSS的key'
9
10
 
10
- self.arguments = [
11
- CLAide::Argument.new('--key=XX', true),
12
- CLAide::Argument.new('--type=XX', true)
13
- ]
14
-
15
- def self.options
16
- [
17
- %w[--key OSS对应的key],
18
- %w[--type OSS对应的类型]
19
- ]
20
- end
21
-
22
11
  def initialize(argv)
23
- @key = argv.option('key')
24
- @type = argv.option('type')
25
- super
26
- end
27
-
28
- def validate!
29
- help! '请输入key或者类型' unless @key || @type
12
+ @cli = HighLine.new
30
13
  super
31
14
  end
32
15
 
33
16
  def handle
34
- if @type
35
- objects = Lhj::OSS::Helper.instance.list
36
- objects.each do |o|
37
- if /#{@type}/ =~ o.key
38
- puts "成功删除#{o.key}"
39
- Lhj::OSS::Helper.instance.delete(o.key)
40
- end
41
- end
42
- else
43
- Lhj::OSS::Helper.instance.delete(@key)
17
+ objects = Lhj::OSS::Helper.instance.list
18
+ obj_keys = []
19
+ objects.each_with_index do |o, i|
20
+ obj_keys << o.key
21
+ puts "#{i}.#{o.key}".yellow
44
22
  end
23
+ idx = @cli.ask('请选择删除的key: '.green).strip.to_i
24
+ oss_key = obj_keys[idx]
25
+ puts "删除的key为:#{oss_key}".red
26
+ Lhj::OSS::Helper.instance.delete(oss_key)
45
27
  end
28
+
46
29
  end
47
30
  end
48
31
  end
@@ -10,8 +10,8 @@ module Lhj
10
10
  def handle
11
11
  objects = Lhj::OSS::Helper.instance.list
12
12
  rows = []
13
- objects.each do |o|
14
- path = "#{Lhj::OSS::Helper.instance.url_path}/#{o.key}"
13
+ objects.each_with_index do |o, i|
14
+ path = "#{i}.#{Lhj::OSS::Helper.instance.url_path}/#{o.key}"
15
15
  rows << [path]
16
16
  end
17
17
  table = Terminal::Table.new title: 'OSS List', headings: ['URL'], rows: rows
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'lhj/helper/oss_helper'
4
+ require 'highline'
4
5
 
5
6
  module Lhj
6
7
  class Command
@@ -10,41 +11,34 @@ module Lhj
10
11
  self.summary = '上传文件'
11
12
 
12
13
  self.arguments = [
13
- CLAide::Argument.new('type', false),
14
- CLAide::Argument.new('name', false),
15
14
  CLAide::Argument.new('tag', false)
16
15
  ]
17
16
 
18
17
  def self.options
19
18
  [
20
- %w[--type 文件类型],
21
- %w[--name 文件名],
22
19
  %w[--tag 标签]
23
20
  ]
24
21
  end
25
22
 
26
- def validate!
27
- super
28
- help! '类型或名字必须输入' unless @name || @type
29
- end
30
-
31
23
  def initialize(argv)
32
24
  @current_path = argv.shift_argument || Dir.pwd
33
- @type = argv.option('type')
34
- @name = argv.option('name')
35
25
  @tag = argv.option('tag')
26
+ @cli = HighLine.new
36
27
  super
37
28
  end
38
29
 
39
30
  def handle
40
- Dir.glob("#{@current_path}/*").each do |f|
41
- file_name = File.basename(f)
42
- if @name && /#{@name}/ =~ file_name
43
- upload(f, file_name)
44
- elsif @type && /#{@type}/ =~ file_name
45
- upload(f, file_name)
46
- end
31
+ file_list = []
32
+ file_name_list = []
33
+ Dir.glob("#{@current_path}/*").each_with_index do |f, i|
34
+ file_base_name = File.basename(f)
35
+ file_list << f
36
+ file_name_list << file_base_name
37
+ puts "#{i}.#{file_base_name}".yellow
47
38
  end
39
+ idx = @cli.ask('请选择上传文件序号: '.green).strip.to_i
40
+ puts "上传的文件名:#{file_name_list[idx]}".yellow
41
+ upload(file_list[idx], file_name_list[idx])
48
42
  end
49
43
 
50
44
  private
@@ -54,7 +48,7 @@ module Lhj
54
48
  oss_key = "#{@tag}/#{file_name}" if @tag
55
49
  Lhj::OSS::Helper.instance.upload(oss_key, file)
56
50
  url = Lhj::OSS::Helper.instance.object_url(oss_key)
57
- puts "云端上传成功:#{url}\n"
51
+ puts "云端上传成功:#{url}\n".yellow
58
52
  end
59
53
  end
60
54
  end
@@ -53,6 +53,8 @@ module Lhj
53
53
 
54
54
  def modify_file(file)
55
55
  File.chmod(0o644, file)
56
+ # arr = File.open(file, 'r+').readlines
57
+ # lines = arr.size
56
58
  str = file_string(file)
57
59
  File.open(file, 'w+') do |f|
58
60
  f.write(str)
@@ -26,7 +26,8 @@ module Lhj
26
26
  end
27
27
 
28
28
  def handler_files
29
- Dir.glob("#{@current_path}/**/*.{#{@file_type}}").each do |f|
29
+ search_type = @file_type.gsub('.', '')
30
+ Dir.glob("#{@current_path}/**/*.{#{search_type}}").each do |f|
30
31
  handler_file f
31
32
  end
32
33
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lhj
4
4
  module Tools
5
- VERSION = "0.1.36"
5
+ VERSION = "0.1.37"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhj-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.36
4
+ version: 0.1.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-12 00:00:00.000000000 Z
11
+ date: 2022-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -296,6 +296,7 @@ files:
296
296
  - lib/lhj/command.rb
297
297
  - lib/lhj/command/code/code_template.rb
298
298
  - lib/lhj/command/code/template/dispatch_source.erb
299
+ - lib/lhj/command/code/template/message_query.erb
299
300
  - lib/lhj/command/code/view.rb
300
301
  - lib/lhj/command/config.rb
301
302
  - lib/lhj/command/config/info.rb