yk_command 0.2.1 → 0.3.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
  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