yk_command 0.2.1 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd092ee6d2dff5ae8fd6ebd28051abe07523e6e6972b0ad5f23c7852d36d5a13
4
- data.tar.gz: 4606370a6257ddc2cf5082618cfa525291a8be619d96d888ce190743ee6eb0cf
3
+ metadata.gz: '09f298ea39bbf5583da6754e78bd75ba35bd9eb427bfcc1fbcaa4e8081f64684'
4
+ data.tar.gz: 495609aec6ee33450a5e176cea96766263e7b0257fec891171ae39be05f57bec
5
5
  SHA512:
6
- metadata.gz: 997b9707ed9ef9eeabf2c5d78a60166e90892bf8b40de5b63803dc60bc98a632cd48d367e956286e8d5b25647df2af3b81cf28c68b96f860138dd37965a1c5fa
7
- data.tar.gz: 61cc345a8a6f0fc9638e29781af31685f199d86b68652ff1d21cc0ab356fc3f1f2950c66e33abe08209a2c99292a783a77572b20163ae887fb828469930dde76
6
+ metadata.gz: f889ff17f4b84cba81fc5749ad432c60a6c160595b1caad6f80ba4c34a5b95e62a03fd53b6279dd2c133a02ebe2ab3128dfc03e88b526bc99787cd2afbfa6ef2
7
+ data.tar.gz: d193874649d597236bc5e07e795bb543d61b30fa12f4b6152240d1ccfda9c7ba203b9ef0147562ea89f20cb157f0d4dcef31d3457bca2d0a27c29f537a67b797
@@ -0,0 +1,5 @@
1
+ ---
2
+ :project: SYTHomeModule
3
+ :language: objc
4
+ :class_prefix: YK
5
+ :author: Tom.Liu
data/.idea/vcs.xml CHANGED
@@ -4,6 +4,8 @@
4
4
  <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
5
  <mapping directory="$PROJECT_DIR$/CXFApp" vcs="Git" />
6
6
  <mapping directory="$PROJECT_DIR$/CXFAppHome" vcs="Git" />
7
+ <mapping directory="$PROJECT_DIR$/MerchantHome" vcs="Git" />
7
8
  <mapping directory="$PROJECT_DIR$/SUHome3" vcs="Git" />
9
+ <mapping directory="$PROJECT_DIR$/SYTHomeModule" vcs="Git" />
8
10
  </component>
9
11
  </project>
data/.idea/yk_command.iml CHANGED
@@ -15,6 +15,7 @@
15
15
  <orderEntry type="library" scope="PROVIDED" name="activesupport (v5.2.7, RVM: ruby-2.7.2) [gem]" level="application" />
16
16
  <orderEntry type="library" scope="PROVIDED" name="addressable (v2.8.0, RVM: ruby-2.7.2) [gem]" level="application" />
17
17
  <orderEntry type="library" scope="PROVIDED" name="algoliasearch (v1.27.5, RVM: ruby-2.7.2) [gem]" level="application" />
18
+ <orderEntry type="library" scope="PROVIDED" name="ast (v2.4.2, RVM: ruby-2.7.2) [gem]" level="application" />
18
19
  <orderEntry type="library" scope="PROVIDED" name="atomos (v0.1.3, RVM: ruby-2.7.2) [gem]" level="application" />
19
20
  <orderEntry type="library" scope="PROVIDED" name="bundler (v2.2.33, RVM: ruby-2.7.2) [gem]" level="application" />
20
21
  <orderEntry type="library" scope="PROVIDED" name="claide (v1.1.0, RVM: ruby-2.7.2) [gem]" level="application" />
@@ -44,7 +45,11 @@
44
45
  <orderEntry type="library" scope="PROVIDED" name="nanaimo (v0.3.0, RVM: ruby-2.7.2) [gem]" level="application" />
45
46
  <orderEntry type="library" scope="PROVIDED" name="nap (v1.1.0, RVM: ruby-2.7.2) [gem]" level="application" />
46
47
  <orderEntry type="library" scope="PROVIDED" name="netrc (v0.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
48
+ <orderEntry type="library" scope="PROVIDED" name="parallel (v1.21.0, RVM: ruby-2.7.2) [gem]" level="application" />
49
+ <orderEntry type="library" scope="PROVIDED" name="parser (v2.7.2.0, RVM: ruby-2.7.2) [gem]" level="application" />
50
+ <orderEntry type="library" scope="PROVIDED" name="powerpack (v0.1.3, RVM: ruby-2.7.2) [gem]" level="application" />
47
51
  <orderEntry type="library" scope="PROVIDED" name="public_suffix (v4.0.6, RVM: ruby-2.7.2) [gem]" level="application" />
52
+ <orderEntry type="library" scope="PROVIDED" name="rainbow (v2.2.2, RVM: ruby-2.7.2) [gem]" level="application" />
48
53
  <orderEntry type="library" scope="PROVIDED" name="rake (v13.0.6, RVM: ruby-2.7.2) [gem]" level="application" />
49
54
  <orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.5, RVM: ruby-2.7.2) [gem]" level="application" />
50
55
  <orderEntry type="library" scope="PROVIDED" name="rspec (v3.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
@@ -52,32 +57,35 @@
52
57
  <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
53
58
  <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
54
59
  <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
60
+ <orderEntry type="library" scope="PROVIDED" name="rubocop (v0.50.0, RVM: ruby-2.7.2) [gem]" level="application" />
55
61
  <orderEntry type="library" scope="PROVIDED" name="ruby-macho (v2.5.1, RVM: ruby-2.7.2) [gem]" level="application" />
62
+ <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
56
63
  <orderEntry type="library" scope="PROVIDED" name="thor (v1.2.1, RVM: ruby-2.7.2) [gem]" level="application" />
57
64
  <orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.6, RVM: ruby-2.7.2) [gem]" level="application" />
58
65
  <orderEntry type="library" scope="PROVIDED" name="typhoeus (v1.4.0, RVM: ruby-2.7.2) [gem]" level="application" />
59
66
  <orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.9, RVM: ruby-2.7.2) [gem]" level="application" />
67
+ <orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v1.8.0, RVM: ruby-2.7.2) [gem]" level="application" />
60
68
  <orderEntry type="library" scope="PROVIDED" name="xcodeproj (v1.21.0, RVM: ruby-2.7.2) [gem]" level="application" />
61
69
  </component>
62
70
  <component name="RakeTasksCache">
63
71
  <option name="myRootTask">
64
72
  <RakeTaskImpl id="rake">
65
73
  <subtasks>
66
- <RakeTaskImpl description="Build yk_command-0.1.1.gem into the pkg directory" fullCommand="build" id="build" />
74
+ <RakeTaskImpl description="Build yk_command-0.2.1.gem into the pkg directory" fullCommand="build" id="build" />
67
75
  <RakeTaskImpl id="build">
68
76
  <subtasks>
69
- <RakeTaskImpl description="Generate SHA512 checksum if yk_command-0.1.1.gem into the checksums directory" fullCommand="build:checksum" id="checksum" />
77
+ <RakeTaskImpl description="Generate SHA512 checksum if yk_command-0.2.1.gem into the checksums directory" fullCommand="build:checksum" id="checksum" />
70
78
  </subtasks>
71
79
  </RakeTaskImpl>
72
80
  <RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
73
81
  <RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
74
- <RakeTaskImpl description="Build and install yk_command-0.1.1.gem into system gems" fullCommand="install" id="install" />
82
+ <RakeTaskImpl description="Build and install yk_command-0.2.1.gem into system gems" fullCommand="install" id="install" />
75
83
  <RakeTaskImpl id="install">
76
84
  <subtasks>
77
- <RakeTaskImpl description="Build and install yk_command-0.1.1.gem into system gems without network access" fullCommand="install:local" id="local" />
85
+ <RakeTaskImpl description="Build and install yk_command-0.2.1.gem into system gems without network access" fullCommand="install:local" id="local" />
78
86
  </subtasks>
79
87
  </RakeTaskImpl>
80
- <RakeTaskImpl description="Create tag v0.1.1 and build and push yk_command-0.1.1.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
88
+ <RakeTaskImpl description="Create tag v0.2.1 and build and push yk_command-0.2.1.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
81
89
  <RakeTaskImpl description="" fullCommand="default" id="default" />
82
90
  <RakeTaskImpl description="" fullCommand="release" id="release" />
83
91
  <RakeTaskImpl id="release">
data/Gemfile CHANGED
@@ -1,8 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source "https://rubygems.org"
3
+ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in yk_command.gemspec
6
6
  gemspec
7
7
 
8
- gem "rake", "~> 13.0"
8
+ gem 'rake', '~> 13.0'
9
+ gem 'rubocop', require: false
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- yk_command (0.2.1)
4
+ yk_command (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -18,6 +18,7 @@ GEM
18
18
  algoliasearch (1.27.5)
19
19
  httpclient (~> 2.8, >= 2.8.3)
20
20
  json (>= 1.5.1)
21
+ ast (2.4.2)
21
22
  atomos (0.1.3)
22
23
  claide (1.1.0)
23
24
  cocoapods (1.11.3)
@@ -77,7 +78,13 @@ GEM
77
78
  nanaimo (0.3.0)
78
79
  nap (1.1.0)
79
80
  netrc (0.11.0)
81
+ parallel (1.21.0)
82
+ parser (2.7.2.0)
83
+ ast (~> 2.4.1)
84
+ powerpack (0.1.3)
80
85
  public_suffix (4.0.6)
86
+ rainbow (2.2.2)
87
+ rake
81
88
  rake (13.0.6)
82
89
  rexml (3.2.5)
83
90
  rspec (3.11.0)
@@ -93,13 +100,22 @@ GEM
93
100
  diff-lcs (>= 1.2.0, < 2.0)
94
101
  rspec-support (~> 3.11.0)
95
102
  rspec-support (3.11.0)
103
+ rubocop (0.50.0)
104
+ parallel (~> 1.10)
105
+ parser (>= 2.3.3.1, < 3.0)
106
+ powerpack (~> 0.1)
107
+ rainbow (>= 2.2.2, < 3.0)
108
+ ruby-progressbar (~> 1.7)
109
+ unicode-display_width (~> 1.0, >= 1.0.1)
96
110
  ruby-macho (2.5.1)
111
+ ruby-progressbar (1.11.0)
97
112
  thor (1.2.1)
98
113
  thread_safe (0.3.6)
99
114
  typhoeus (1.4.0)
100
115
  ethon (>= 0.9.0)
101
116
  tzinfo (1.2.9)
102
117
  thread_safe (~> 0.1)
118
+ unicode-display_width (1.8.0)
103
119
  xcodeproj (1.21.0)
104
120
  CFPropertyList (>= 2.3.3, < 4.0)
105
121
  atomos (~> 0.1.3)
@@ -119,6 +135,7 @@ DEPENDENCIES
119
135
  colored2
120
136
  rake (~> 13.0)
121
137
  rspec (~> 3.2)
138
+ rubocop
122
139
  thor
123
140
  xcodeproj
124
141
  yk_command!
data/README.md CHANGED
@@ -1,12 +1,39 @@
1
1
  # YkCommand
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/yk_command`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ ## Pre install
4
+
5
+ 准备好Ruby环境 ,依赖于RVM做ruby环境管理
6
+
7
+ ```shell
8
+ \curl -sSL https://get.rvm.io | bash -s stable
9
+ ```
10
+
11
+ ```shell
12
+ source ~/.zshrc
13
+ ```
14
+
15
+ ```shell
16
+ rvm install 2.7.2
17
+ ```
18
+
19
+ ```shell
20
+ rvm gemset create rails23
21
+ ```
22
+
23
+ ```shell
24
+ rvm use 2.7.2@tom
25
+ ```
4
26
 
5
- TODO: Delete this and the text above, and describe your gem
6
27
 
7
28
  ## Installation
8
29
 
9
- Add this line to your application's Gemfile:
30
+ $ gem install cocoapods thor colored2
31
+
32
+ install it yourself as:
33
+
34
+ $ gem install yk_command
35
+
36
+ Or Add this line to your application's Gemfile:
10
37
 
11
38
  ```ruby
12
39
  gem 'yk_command'
@@ -16,13 +43,17 @@ And then execute:
16
43
 
17
44
  $ bundle install
18
45
 
19
- Or install it yourself as:
20
-
21
- $ gem install yk_command
22
46
 
23
47
  ## Usage
24
48
 
25
- TODO: Write usage instructions here
49
+ ```shell
50
+ cd < you folder >
51
+ ```
52
+
53
+ ```shell
54
+ yk_command create
55
+ ```
56
+
26
57
 
27
58
  ## Development
28
59
 
@@ -30,6 +61,4 @@ After checking out the repo, run `bin/setup` to install dependencies. You can al
30
61
 
31
62
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
63
 
33
- ## Contributing
34
-
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/yk_command.
64
+
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
3
+ require 'bundler/gem_tasks'
4
4
  task default: %i[]
data/bin/console CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require "bundler/setup"
5
- require "yk_command"
4
+ require 'bundler/setup'
5
+ require 'yk_command'
6
6
 
7
7
  # You can add fixtures and/or initialization code here to make experimenting
8
8
  # with your gem easier. You can also use a different console, if you like.
@@ -11,5 +11,5 @@ require "yk_command"
11
11
  # require "pry"
12
12
  # Pry.start
13
13
 
14
- require "irb"
14
+ require 'irb'
15
15
  IRB.start(__FILE__)
data/bin/yk_command CHANGED
@@ -4,5 +4,4 @@ $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
4
4
 
5
5
  require 'yk_command'
6
6
 
7
-
8
7
  YkCommand::CLI.start
@@ -8,70 +8,21 @@ module YkCommand
8
8
  class CLI < Thor
9
9
  include Thor::Actions
10
10
 
11
- desc 'hello', 'hello a world'
12
- method_option :name, aliases: '-n'
13
- def hello_world(name)
14
- say "hello world #{name}", :yellow
15
- end
16
-
17
- CONFIG_FILE = '.YKModuleFilesConfig.yml'
18
-
19
- desc 'read_config', '读取配置'
20
- def read_config(path)
21
- config_file_path = "#{path}/#{CONFIG_FILE}"
22
- config = File.exists?(config_file_path) ? YAML.load_file(config_file_path) : {}
23
-
24
- project = @name
25
- say "语言:",:green
26
- language = ask("Project language [#{config[:language]}] ?", :limited_to => ["objc", "swift", ""])
27
- say "类名前缀:",:green
28
- class_prefix = ask("Class prefix [#{config[:class_prefix]}] ?")
29
- say "文件作者:",:green
30
- author = ask("Author [#{config[:author]}] ?")
31
-
32
- config[:project] = project.empty? ? config[:project] || '' : project
33
- config[:language] = language.empty? ? config[:language] || 'objc' : language
34
- config[:class_prefix] = class_prefix.empty? ? config[:class_prefix] || '' : class_prefix
35
- config[:author] = author.empty? ? config[:author] || '' : author
36
-
37
- File.open(config_file_path, 'w') do |f|
38
- f.write config.to_yaml
39
- # f.write YAML.to_yaml(config)
40
- end
41
-
42
- @module = @name
43
- @class_prefix = config[:class_prefix]
44
- @prefixed_module = config[:class_prefix] + @module
45
- @project = config[:project]
46
- @author = config[:author]
47
- @date = Time.now.strftime('%d/%m/%y')
48
- @lang = config[:language]
49
- @prefixed_module = "YK#{@name}"
50
-
51
- end
52
-
53
-
11
+ CONFIG_FILE = '.YKModuleFilesConfig.yml'.freeze
54
12
 
55
13
  desc 'create', '开始配置'
56
14
  method_option :create, aliases: '-c'
57
- def create(path=nil)
58
-
59
- if path == nil
60
- path = Dir.pwd
61
- end
62
-
63
- say "模块名:",:green
15
+ def create(path = nil)
16
+ path = Dir.pwd if path.nil?
64
17
 
18
+ say '模块名:', :green
65
19
  config_file_path = "#{path}/#{CONFIG_FILE}"
20
+ config = File.exist?(config_file_path) ? YAML.load_file(config_file_path) : {}
21
+ input_name = ask("Project name [#{config[:project]}] ?")
66
22
 
67
- config = File.exists?(config_file_path) ? YAML.load_file(config_file_path) : {}
68
-
69
- input_name = ask("Project name [#{config[:project]}] ?")
70
- if input_name != ""
23
+ if input_name != ''
71
24
  @name = input_name
72
- if input_name != config[:project]
73
- config[:project] = input_name
74
- end
25
+ config[:project] = input_name if input_name != config[:project]
75
26
  else
76
27
  @name = config[:project]
77
28
  end
@@ -82,91 +33,141 @@ module YkCommand
82
33
 
83
34
  @final_path = "#{path}/#{@name}"
84
35
 
85
- if File.exist?("#{@final_path}")
86
- say "#{@final_path} 已存在:",:red
36
+ if File.exist?(@final_path.to_s)
37
+ say "#{@final_path} 已存在:", :red
87
38
  else
88
39
  prepare_folder
89
40
  read_config(path)
90
41
 
91
42
  if File.exist?("#{@final_path}/configure")
92
- system("#{@final_path}/configure", @name, @lang ,@class_prefix , *@additional_args)
43
+ system("#{@final_path}/configure", @name, @lang, @class_prefix, *@additional_args)
93
44
  else
94
- say "Template does not have a configure file", :red
45
+ say 'Template does not have a configure file', :red
95
46
  end
96
47
 
97
48
  yk_module_folders
98
49
  yk_template_files
99
50
 
100
51
  end
52
+ end
101
53
 
54
+ no_commands do
55
+ def read_config(path)
56
+ config_file_path = "#{path}/#{CONFIG_FILE}"
57
+ config = File.exist?(config_file_path) ? YAML.load_file(config_file_path) : {}
58
+
59
+ project = @name
60
+ say '语言:', :green
61
+ language = ask("Project language [#{config[:language]}] ?", limited_to: ['objc', 'swift', ''])
62
+ say '类名前缀:', :green
63
+ class_prefix = ask("Class prefix [#{config[:class_prefix]}] ?")
64
+ say '文件作者:', :green
65
+ author = ask("Author [#{config[:author]}] ?")
66
+
67
+ config[:project] = project.empty? ? config[:project] || '' : project
68
+ config[:language] = language.empty? ? config[:language] || 'objc' : language
69
+ config[:class_prefix] = class_prefix.empty? ? config[:class_prefix] || '' : class_prefix
70
+ config[:author] = author.empty? ? config[:author] || '' : author
71
+
72
+ File.open(config_file_path, 'w') do |f|
73
+ f.write config.to_yaml
74
+ # f.write YAML.to_yaml(config)
75
+ end
102
76
 
77
+ @module = @name
78
+ @class_prefix = config[:class_prefix]
79
+ @prefixed_module = config[:class_prefix] + @module
80
+ @project = config[:project]
81
+ @author = config[:author]
82
+ @date = Time.now.strftime('%d/%m/%y')
83
+ @lang = config[:language]
84
+ @prefixed_module = "YK#{@name}"
85
+ end
103
86
 
104
- end
87
+ def prepare_folder
88
+ host_a = 'yeah'
89
+ host_b = 'ka'
90
+ template_repo_url = "http://gitlab.#{host_a}#{host_b}.com/App/iOS/YKComponents/YKProjectTemplate.git"
91
+ system("git clone #{template_repo_url} #{@final_path}")
105
92
 
106
- def prepare_folder
107
- host_a = "yeah"
108
- host_b = "ka"
109
- template_repo_url = "http://gitlab.#{host_a}#{host_b}.com/App/iOS/YKComponents/YKProjectTemplate.git"
110
- system("git clone #{template_repo_url} #{@final_path}")
93
+ # FileUtils.remove_dir(@final_path, true)
94
+ # FileUtils.cp_r('/Users/imacn24/Documents/dev/YKProjectTemplate', @final_path)
95
+ # FileUtils.remove_dir("#{@final_path}/.git", true)
96
+ end
111
97
 
112
- # FileUtils.remove_dir(@final_path, true)
113
- # FileUtils.cp_r('/Users/imacn24/Documents/dev/YKProjectTemplate', @final_path)
114
- # FileUtils.remove_dir("#{@final_path}/.git", true)
98
+ def yk_module_folders
99
+ class_folder_path = "#{@final_path}/#{@name}/Classes"
115
100
 
101
+ first_level_folders = %w[Public Private]
102
+ public_level_folders = ['Register']
103
+ private_level_folders = %w[Business Category Vendor Tools]
116
104
 
117
- end
105
+ first_level_folders.each do |folder|
106
+ path = "#{class_folder_path}/#{folder}"
107
+ empty_directory path
108
+ end
118
109
 
119
- def yk_module_folders
110
+ public_level_folders.each do |folder|
111
+ path = "#{class_folder_path}/Public/#{folder}"
112
+ empty_directory path
113
+ end
120
114
 
121
- class_folder_path = "#{@final_path}/#{@name}/Classes"
115
+ private_level_folders.each do |folder|
116
+ path = "#{class_folder_path}/Private/#{folder}"
117
+ empty_directory path
118
+ if folder == 'Business'
122
119
 
123
- first_level_folders = ["Public","Private"]
124
- public_level_folders = ["Register"]
125
- private_level_folders = ["Category","Vendor","Tools"]
120
+ else
121
+ system "touch \"#{path}/EmptyFile.m\""
122
+ end
126
123
 
127
124
 
128
- first_level_folders.each do |folder|
129
- path = "#{class_folder_path}/#{folder}"
130
- empty_directory path
125
+ end
131
126
  end
132
127
 
133
- public_level_folders.each do |folder|
134
- path = "#{class_folder_path}/Public/#{folder}"
135
- empty_directory path
136
- end
128
+ CLI.source_root(File.dirname(__FILE__))
137
129
 
138
- private_level_folders.each do |folder|
139
- path = "#{class_folder_path}/Private/#{folder}"
140
- empty_directory path
141
- system "touch \"#{path}/EmptyFile.m\""
142
- end
130
+ def yk_template_files
131
+ register_path = "#{@final_path}/#{@name}/Classes/Public/Register"
132
+ registger = {
133
+ 'RouterRegister.h' => 'RouterRegister',
134
+ 'RouterRegister.m' => 'RouterRegister',
135
+ 'ServiceRegister.h' => 'ServiceRegister',
136
+ 'ServiceRegister.m' => 'ServiceRegister'
137
+ }
143
138
 
144
- end
139
+ registger.each do |file_name, _folder|
140
+ final_file = "#{register_path}/#{@prefixed_module}#{file_name}"
141
+ template "#{__dir__}/template/objc/#{file_name}", final_file
142
+ end
145
143
 
146
- CLI.source_root(File.dirname(__FILE__))
144
+ template_code_filename = ['ServiceProtocol.h','RouterDefine.h']
145
+ public_folder_path = "#{@final_path}/#{@name}/Classes/Public"
146
+ template_code_filename.each do |file_name|
147
+ final_file = "#{public_folder_path}/#{@prefixed_module}#{file_name}"
148
+ source = "#{__dir__}/template/objc/#{file_name}"
149
+ template source, final_file
150
+ end
147
151
 
148
- def yk_template_files
149
- register_path = "#{@final_path}/#{@name}/Classes/Public/Register"
150
- registger = {
151
- 'RouterRegister.h' => 'RouterRegister',
152
- 'RouterRegister.m' => 'RouterRegister',
153
- 'ServiceRegister.h' => 'ServiceRegister',
154
- 'ServiceRegister.m' => 'ServiceRegister',
155
- }
156
152
 
153
+ business_demo_path = "#{@final_path}/#{@name}/Classes/Private/Business"
154
+ demo_replace_file = ['DemoViewController.h','DemoViewController.m','DemoViewModel.h','DemoViewModel.m']
155
+ demo_replace_file.each do |file_name|
156
+ final_file = "#{business_demo_path}/#{@prefixed_module}#{file_name}"
157
+ source = "#{__dir__}/template/objc/demo/#{file_name}"
158
+ template source, final_file
159
+ end
157
160
 
158
- registger.each do |file_name, folder|
159
- final_file = "#{register_path}/#{@prefixed_module}#{file_name}"
160
- template "#{__dir__}/template/objc/#{file_name}",final_file
161
- end
162
161
 
163
- Dir.chdir("#{@final_path}/Example") do
164
- system "pod install --silent"
165
- system "open './#{@name}.xcworkspace'"
166
162
 
163
+ Dir.chdir("#{@final_path}/Example") do
164
+ system 'pod install --silent'
165
+ system "open './#{@name}.xcworkspace'"
166
+ end
167
167
  end
168
168
 
169
169
  end
170
170
 
171
+
171
172
  end
172
- end
173
+ end
@@ -0,0 +1,14 @@
1
+ //
2
+ // <%= @prefixed_module %>RouterDefine.h
3
+ // <%= @project %>
4
+ //
5
+ // Created by <%= @author %> on <%= @date %>.
6
+ //
7
+ //
8
+
9
+ #ifndef <%= @prefixed_module %>RouterDefine_h
10
+ #define <%= @prefixed_module %>RouterDefine_h
11
+
12
+ static NSString *kDemoRouterString = @"<%= @prefixed_module %>DemoPage";
13
+
14
+ #endif /* <%= @prefixed_module %>RouterDefine_h */
@@ -8,6 +8,25 @@
8
8
 
9
9
  #import "<%= @prefixed_module %>RouterRegister.h"
10
10
 
11
+ #import <YKRouterComponent/YKRouterComponentHeader.h>
12
+ #import <YKCategoryComponent/YKCategoriesComponentHeader.h>
13
+
14
+ #import "<%= @prefixed_module %>RouterDefine.h"
15
+
16
+ #import "<%= @prefixed_module %>DemoViewController.h"
17
+
18
+
11
19
  @implementation <%= @prefixed_module %>RouterRegister
12
20
 
21
+ @YKRouterRegister() {
22
+
23
+ [[YKRouterComponent shareInstance] ykRegisterUrlPartterns:kDemoRouterString error:nil action:^(YKRouterUrlRequest * _Nonnull urlRequest, YKRouterUrlCompletion _Nonnull completetion) {
24
+
25
+ <%= @prefixed_module %>DemoViewController *vc = [[<%= @prefixed_module %>DemoViewController alloc] init];
26
+ [[UIViewController yk_topViewController].navigationController pushViewController:vc animated:YES];
27
+
28
+ }];
29
+
30
+ }
31
+
13
32
  @end
@@ -0,0 +1,15 @@
1
+ //
2
+ // <%= @prefixed_module %>ServiceProtocol.h
3
+ // <%= @project %>
4
+ //
5
+ // Created by <%= @author %> on <%= @date %>.
6
+ //
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ @protocol <%= @prefixed_module %>ServiceProtocol <NSObject>
12
+
13
+ - (void)replaceThisMethod;
14
+
15
+ @end
@@ -9,7 +9,7 @@
9
9
  #import <Foundation/Foundation.h>
10
10
 
11
11
  /**
12
- Router Register for the <%= @module %> module.
12
+ Service Register for the <%= @module %> module.
13
13
  */
14
14
  @interface <%= @prefixed_module %>ServiceRegister : NSObject
15
15
 
@@ -7,7 +7,19 @@
7
7
  //
8
8
 
9
9
  #import "<%= @prefixed_module %>ServiceRegister.h"
10
+ #import <YKModuleServiceComponent/YKModuleServiceComponentHeader.h>
11
+
12
+ #import "<%= @prefixed_module %>ServiceProtocol.h"
13
+
14
+
15
+ #import "<%= @prefixed_module %>DemoViewModel.h"
16
+
10
17
 
11
18
  @implementation <%= @prefixed_module %>ServiceRegister
12
19
 
20
+ @YKModuleServiceRegister(){
21
+ YKModuleServiceRegisterExecute(<%= @prefixed_module %>DemoViewModel.class, @protocol(<%= @prefixed_module %>ServiceProtocol), nil);
22
+ }
23
+
24
+
13
25
  @end
@@ -0,0 +1,17 @@
1
+ //
2
+ // <%= @prefixed_module %>DemoViewController.h
3
+ // <%= @project %>
4
+ //
5
+ // Created by <%= @author %> on <%= @date %>.
6
+ //
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ @interface <%= @prefixed_module %>DemoViewController : UIViewController
14
+
15
+ @end
16
+
17
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,28 @@
1
+ //
2
+ // <%= @prefixed_module %>DemoViewController.m
3
+ // <%= @project %>
4
+ //
5
+ // Created by <%= @author %> on <%= @date %>.
6
+ //
7
+ //
8
+
9
+
10
+ #import "<%= @prefixed_module %>DemoViewController.h"
11
+
12
+ @interface <%= @prefixed_module %>DemoViewController ()
13
+
14
+ @end
15
+
16
+ @implementation <%= @prefixed_module %>DemoViewController
17
+
18
+ - (void)viewDidLoad {
19
+ [super viewDidLoad];
20
+ // Do any additional setup after loading the view from its nib.
21
+ NSLog(@"----- viewDidLoad -----");
22
+ self.view.backgroundColor = [UIColor colorWithRed:0.3 green:0.4 blue:0.35 alpha:1.0];
23
+ self.navigationItem.title = @"<%= @prefixed_module %>DemoViewController";
24
+ }
25
+
26
+
27
+
28
+ @end
@@ -0,0 +1,14 @@
1
+ //
2
+ // <%= @prefixed_module %>DemoViewModel.h
3
+ // <%= @project %>
4
+ //
5
+ // Created by <%= @author %> on <%= @date %>.
6
+ //
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ #import "<%= @prefixed_module %>ServiceProtocol.h"
12
+ @interface <%= @prefixed_module %>DemoViewModel : NSObject <<%= @prefixed_module %>ServiceProtocol>
13
+
14
+ @end
@@ -0,0 +1,19 @@
1
+ //
2
+ // <%= @prefixed_module %>DemoViewModel.m
3
+ // <%= @project %>
4
+ //
5
+ // Created by <%= @author %> on <%= @date %>.
6
+ //
7
+ //
8
+
9
+ #import "<%= @prefixed_module %>DemoViewModel.h"
10
+
11
+
12
+ @implementation <%= @prefixed_module %>DemoViewModel
13
+
14
+ - (void)replaceThisMethod {
15
+ NSLog(@"----- replace me -----");
16
+ }
17
+
18
+
19
+ @end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module YkCommand
4
- VERSION = "0.2.1"
4
+ VERSION = '0.3.0'.freeze
5
5
  end
data/lib/yk_command.rb CHANGED
@@ -6,5 +6,4 @@ require 'yk_command/commands'
6
6
  module YkCommand
7
7
  class Error < StandardError; end
8
8
  # Your code goes here...
9
-
10
9
  end
data/yk_command.gemspec CHANGED
@@ -1,22 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "lib/yk_command/version"
3
+ require_relative 'lib/yk_command/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "yk_command"
6
+ spec.name = 'yk_command'
7
7
  spec.version = YkCommand::VERSION
8
- spec.authors = ["Major Tom"]
9
- spec.email = ["v2top1@163.com"]
8
+ spec.authors = ['Major Tom']
9
+ spec.email = ['v2top1@163.com']
10
10
 
11
- spec.summary = "a short summary, because RubyGems requires one."
12
- spec.description = "a longer description or delete this line."
13
- spec.homepage = "https://github.com/lyleLH"
14
- spec.required_ruby_version = ">= 2.6.0"
11
+ spec.summary = 'a short summary, because RubyGems requires one.'
12
+ spec.description = 'a longer description or delete this line.'
13
+ spec.homepage = 'https://github.com/lyleLH'
14
+ spec.required_ruby_version = '>= 2.6.0'
15
15
 
16
16
  # spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
17
17
 
18
- spec.metadata["homepage_uri"] = spec.homepage
19
- spec.metadata["source_code_uri"] = "https://github.com/lyleLH/yk_command"
18
+ spec.metadata['homepage_uri'] = spec.homepage
19
+ spec.metadata['source_code_uri'] = 'https://github.com/lyleLH/yk_command'
20
20
 
21
21
  # Specify which files should be added to the gem when it is released.
22
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -25,23 +25,21 @@ Gem::Specification.new do |spec|
25
25
  (f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
26
26
  end
27
27
  end
28
- spec.bindir = "bin"
28
+ spec.bindir = 'bin'
29
29
  spec.executables = spec.files.grep(%r{\Abin/}) { |f| File.basename(f) }
30
- spec.require_paths = ["lib"]
30
+ spec.require_paths = ['lib']
31
31
 
32
32
  # Uncomment to register a new dependency of your gem
33
33
  # spec.add_dependency "example-gem", "~> 1.0"
34
34
 
35
- spec.add_development_dependency "bundler", "~> 2.2.5"
36
- spec.add_development_dependency "thor"
37
- spec.add_development_dependency "colored"
38
- spec.add_development_dependency "colored2"
39
- spec.add_development_dependency "rspec", "~> 3.2"
40
- spec.add_development_dependency "xcodeproj"
41
- spec.add_development_dependency "cocoapods"
42
- spec.add_development_dependency "cocoapods-core"
43
-
44
-
35
+ spec.add_development_dependency 'bundler', '~> 2.2.5'
36
+ spec.add_development_dependency 'thor'
37
+ spec.add_development_dependency 'colored'
38
+ spec.add_development_dependency 'colored2'
39
+ spec.add_development_dependency 'rspec', '~> 3.2'
40
+ spec.add_development_dependency 'xcodeproj'
41
+ spec.add_development_dependency 'cocoapods'
42
+ spec.add_development_dependency 'cocoapods-core'
45
43
 
46
44
  # For more information and examples about making a new gem, checkout our
47
45
  # guide at: https://bundler.io/guides/creating_gem.html
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yk_command
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Major Tom
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-30 00:00:00.000000000 Z
11
+ date: 2022-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -132,6 +132,7 @@ executables:
132
132
  extensions: []
133
133
  extra_rdoc_files: []
134
134
  files:
135
+ - ".YKModuleFilesConfig.yml"
135
136
  - ".idea/.gitignore"
136
137
  - ".idea/misc.xml"
137
138
  - ".idea/modules.xml"
@@ -146,10 +147,16 @@ files:
146
147
  - bin/yk_command
147
148
  - lib/yk_command.rb
148
149
  - lib/yk_command/commands.rb
150
+ - lib/yk_command/template/objc/RouterDefine.h
149
151
  - lib/yk_command/template/objc/RouterRegister.h
150
152
  - lib/yk_command/template/objc/RouterRegister.m
153
+ - lib/yk_command/template/objc/ServiceProtocol.h
151
154
  - lib/yk_command/template/objc/ServiceRegister.h
152
155
  - lib/yk_command/template/objc/ServiceRegister.m
156
+ - lib/yk_command/template/objc/demo/DemoViewController.h
157
+ - lib/yk_command/template/objc/demo/DemoViewController.m
158
+ - lib/yk_command/template/objc/demo/DemoViewModel.h
159
+ - lib/yk_command/template/objc/demo/DemoViewModel.m
153
160
  - lib/yk_command/version.rb
154
161
  - sig/yk_command.rbs
155
162
  - yk_command.gemspec