appium_thor 1.1.6 → 2.0.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: 4d6566a07c7807fb22a8e9404fb880595c380f765c7da639fd702fe60bc58afe
4
- data.tar.gz: 69861affb47ecb5cda3220ddfe3bb76d4ade05a8c689bfbf739e7a69e09d5512
3
+ metadata.gz: cf2076f3692848707a188c8fd4894f6db4be3e9a3846c7ec968956bcff35996d
4
+ data.tar.gz: 9f7ae671336d09075b901b9d156d2472950ef6bf7bd576895aeb4e85600b83eb
5
5
  SHA512:
6
- metadata.gz: 97baa0a76b30b5e8af8d73c41a4b84a7dfa8104ef536e89bba76a04392f719f2914935b0878112c0cb6009a5ebf3cefd7061f891aec9d58267e306d64a525697
7
- data.tar.gz: f1b0d482be9d18761a0137558b327afd74641b411d59d0d172a29adef641283e7cca4983764ae22d4befcc6bbb506162a81035f290cf4e49abee10e5c027d86a
6
+ metadata.gz: cecba2f6985427e8c22512f1111a01d84f981e1ddb290d07af18e3a3aa91b5b9024e93742fa9ee9a61672b84a4022f9b587f5251c5251153630036f7d68fbec4
7
+ data.tar.gz: 63fe0809f01b8d8dc6ea4db7dd340a4644299199b7e673df187cccd748f88b1cb769637a32f75c3738bd6a9bdd9dacf96f161f373fd567d9d3fdb40a98306327
data/README.md CHANGED
@@ -14,10 +14,8 @@ Appium::Thor::Config.set do
14
14
  gem_name 'appium_thor'
15
15
  github_owner 'appium'
16
16
  github_name 'appium_thor'
17
+ branch 'master'
17
18
  version_file 'lib/appium_thor/version.rb'
18
- docs_block do
19
- run 'docs/helpers_docs.md', globs('/lib/appium_thor/helpers.rb')
20
- end
21
19
  end
22
20
 
23
21
  # Must use '::' otherwise Default will point to Thor::Sandbox::Default
@@ -35,14 +33,16 @@ end
35
33
 
36
34
  # Defaults
37
35
 
38
- Option | Default
39
- --:|:--
40
- gem_name | must be provided
41
- github_owner | `appium`
42
- github_name | `#{gem_name}`
43
- version_file | `lib/#{gem_name}/version.rb`
44
- docs_block | no docs are generated
36
+ |Option | Default|
37
+ |---:|:---|
38
+ |gem_name | must be provided|
39
+ |github_owner | `appium`|
40
+ |github_name | `#{gem_name}`|
41
+ |branch | `master`|
42
+ |version_file | `lib/#{gem_name}/version.rb`|
45
43
 
44
+ `branch` customises the target branch to push changes.
45
+ Defaults to `master`
46
46
 
47
47
  --
48
48
 
@@ -56,7 +56,6 @@ thor bump # Bump the z version number and update the date.
56
56
  thor bumpx # Bump the x version number, set y & z to zero, update the date.
57
57
  thor bumpy # Bump the y version number, set z to zero, update the date.
58
58
  thor byte # Remove non-ascii bytes from all *.rb files in the current dir
59
- thor docs # Update docs
60
59
  thor gem_install # Install gem
61
60
  thor gem_uninstall # Uninstall gem
62
61
  thor info # prints config info for this gem
@@ -64,19 +63,3 @@ thor notes # Update release notes
64
63
  thor publish # Build and release a new gem to rubygems.org
65
64
  thor release # Build and release a new gem to rubygems.org (same as publish)
66
65
  ```
67
-
68
- --
69
-
70
- # docs_block
71
-
72
- The `docs_block` method runs within the `docs.rb` context. Here's a more complex example:
73
-
74
- ```ruby
75
- common_globs = '/lib/appium_lib/*.rb', '/lib/appium_lib/device/*.rb', '/lib/appium_lib/common/**/*.rb'
76
- android_globs = common_globs + ['/lib/appium_lib/android/**/*.rb']
77
- ios_globs = common_globs + ['/lib/appium_lib/ios/**/*.rb']
78
-
79
- run 'docs/android_docs.md', globs(android_globs)
80
-
81
- run 'docs/ios_docs.md', globs(ios_globs)
82
- ```
data/Thorfile CHANGED
@@ -3,7 +3,4 @@ require File.expand_path '../lib/appium_thor', __FILE__
3
3
  Appium::Thor::Config.set do
4
4
  appium_thor = 'appium_thor'
5
5
  gem_name appium_thor
6
- docs_block do
7
- run 'docs/helpers_docs.md', globs("/lib/#{appium_thor}/helpers.rb")
8
- end
9
- end
6
+ end
data/appium_thor.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  require_relative 'lib/appium_thor/version'
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.required_ruby_version = '>= 2.2'
4
+ s.required_ruby_version = '>= 3.0'
5
5
 
6
6
  s.name = 'appium_thor'
7
7
  s.version = Appium::Thor::VERSION
@@ -13,8 +13,6 @@ Gem::Specification.new do |s|
13
13
  s.require_paths = ['lib']
14
14
 
15
15
  s.add_runtime_dependency 'redcarpet', '~> 3.1', '>= 3.1.2'
16
- s.add_runtime_dependency 'posix-spawn', '~> 0.3', '>= 0.3.8'
17
- s.add_runtime_dependency 'yard', '~> 0.9.11'
18
16
 
19
17
  s.files = `git ls-files`.split "\n"
20
18
  end
data/docs/helpers_docs.md CHANGED
@@ -1,4 +1,4 @@
1
- ##### [_build_gem](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L6) common
1
+ ##### [_build_gem](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L6) common
2
2
 
3
3
  > def _build_gem
4
4
 
@@ -7,7 +7,7 @@ Runs gem build gemspec
7
7
 
8
8
  --
9
9
 
10
- ##### [tag_exists](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L12) common
10
+ ##### [tag_exists](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L12) common
11
11
 
12
12
  > def tag_exists(tag_name)
13
13
 
@@ -15,7 +15,7 @@ Returns true if the tag exists on the master branch.
15
15
 
16
16
  --
17
17
 
18
- ##### [sh](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L18) common
18
+ ##### [sh](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L18) common
19
19
 
20
20
  > def sh(command)
21
21
 
@@ -23,7 +23,7 @@ Runs command. Raises an exception if the command doesn't execute successfully.
23
23
 
24
24
  --
25
25
 
26
- ##### [version_rgx](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L30) common
26
+ ##### [version_rgx](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L30) common
27
27
 
28
28
  > def version_rgx
29
29
 
@@ -31,7 +31,7 @@ Used to parse the version number from version_file
31
31
 
32
32
  --
33
33
 
34
- ##### [version](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L35) common
34
+ ##### [version](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L35) common
35
35
 
36
36
  > def version
37
37
 
@@ -39,7 +39,7 @@ Returns the version number from version_file as a string
39
39
 
40
40
  --
41
41
 
42
- ##### [_bump](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L46) common
42
+ ##### [_bump](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L46) common
43
43
 
44
44
  > def _bump(value)
45
45
 
@@ -55,7 +55,7 @@ __Parameters:__
55
55
 
56
56
  --
57
57
 
58
- ##### [update_release_notes](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L86) common
58
+ ##### [update_release_notes](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L86) common
59
59
 
60
60
  > def update_release_notes
61
61
 
@@ -64,7 +64,7 @@ Note that the first tag won't contain notes.
64
64
 
65
65
  --
66
66
 
67
- ##### [_install](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L150) common
67
+ ##### [_install](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L150) common
68
68
 
69
69
  > def _install
70
70
 
@@ -76,7 +76,7 @@ Installs the local gem. It's fast due to the flags
76
76
 
77
77
  --
78
78
 
79
- ##### [_uninstall](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L157) common
79
+ ##### [_uninstall](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L157) common
80
80
 
81
81
  > def _uninstall
82
82
 
@@ -84,7 +84,7 @@ Uninstalls all versions of the gem
84
84
 
85
85
  --
86
86
 
87
- ##### [_publish](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L168) common
87
+ ##### [_publish](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L168) common
88
88
 
89
89
  > def _publish
90
90
 
@@ -96,7 +96,7 @@ Publishes the gem to rubygems
96
96
 
97
97
  --
98
98
 
99
- ##### [remove_non_ascii_from_cwd](https://github.com/appium/appium_thor/blob/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50/lib/appium_thor/helpers.rb#L200) common
99
+ ##### [remove_non_ascii_from_cwd](https://github.com/appium/appium_thor/blob/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee/lib/appium_thor/helpers.rb#L200) common
100
100
 
101
101
  > def remove_non_ascii_from_cwd
102
102
 
@@ -6,6 +6,7 @@ class Default < Thor
6
6
  gem_name: #{gem_name}
7
7
  github_name: #{github_name}
8
8
  github_owner: #{github_owner}
9
+ branch: #{branch}
9
10
  version_file: #{version_file}
10
11
  MSG
11
12
  end
@@ -54,11 +55,6 @@ version_file: #{version_file}
54
55
  _install
55
56
  end
56
57
 
57
- desc 'docs', 'Update docs'
58
- def docs
59
- instance_eval &docs_block if docs_block
60
- end
61
-
62
58
  desc 'notes', 'Update release notes'
63
59
  def notes
64
60
  update_release_notes
@@ -68,4 +64,8 @@ version_file: #{version_file}
68
64
  def byte
69
65
  remove_non_ascii_from_cwd
70
66
  end
71
- end
67
+
68
+ def self.exit_on_failure?
69
+ true
70
+ end
71
+ end
@@ -2,7 +2,6 @@
2
2
  class Default < Thor
3
3
  extend Forwardable
4
4
  include Appium::Thor::Helpers
5
- include Appium::Thor::Docs
6
5
 
7
6
  # For each possible option method, delegate calls to the config instance
8
7
  no_commands do
@@ -11,6 +11,8 @@ module Appium
11
11
  @version_file ||= "lib/#{@gem_name}/version.rb"
12
12
  end
13
13
 
14
+ @branch ||= 'master'
15
+
14
16
  @github_owner ||= 'appium'
15
17
 
16
18
  # ensure all options are set
@@ -19,21 +21,14 @@ module Appium
19
21
  raise "version file doesn't exist #{@version_file}" unless File.exist?(@version_file)
20
22
  end
21
23
 
22
- # block of code to execute that contains documentation
23
- # generation logic
24
- def docs_block(&block)
25
- return @docs_block if @docs_block
26
- @docs_block = block
27
- end
28
-
29
24
  # Returns all options as symbols. Required for defining delegators in init.rb
30
25
  def self.options
31
- string_options + [:docs_block]
26
+ string_options
32
27
  end
33
28
 
34
29
  # the subset of options that operate on strings
35
30
  def self.string_options
36
- %w[gem_name github_name github_owner version_file].map(&:to_sym)
31
+ %w[gem_name github_name github_owner branch version_file].map(&:to_sym)
37
32
  end
38
33
 
39
34
  string_options.each do |option|
@@ -51,6 +46,7 @@ module Appium
51
46
  # gem_name 'appium_thor'
52
47
  # github_owner 'appium'
53
48
  # github_name 'appium_thor'
49
+ # branch 'master'
54
50
  # version_file 'path/to/version.rb'
55
51
  # end
56
52
  def self.set(&block)
@@ -11,19 +11,20 @@ module Appium
11
11
  # Returns true if the tag exists on the master branch.
12
12
  def tag_exists(tag_name)
13
13
  cmd = %Q(git branch -a --contains "#{tag_name}")
14
- POSIX::Spawn::Child.new(cmd).out.include? '* master'
14
+ stdout, status = Open3.capture2(cmd)
15
+ stdout.include? "* #{branch}"
16
+
15
17
  end
16
18
 
17
19
  # Runs command. Raises an exception if the command doesn't execute successfully.
18
20
  def sh(command)
19
- process = POSIX::Spawn::Child.new command
21
+ stdout, stderr, status = Open3.capture3(command)
20
22
 
21
- unless process.success?
22
- raise "Command #{command} failed. out: #{process.out}\nerr: #{process.err}"
23
+ unless status.success?
24
+ raise "Command #{command} failed. out: #{stdout}\nerr: #{stderr}"
23
25
  end
24
26
 
25
- out = process.out
26
- out ? out.strip : out
27
+ stdout.strip
27
28
  end
28
29
 
29
30
  # Used to parse the version number from version_file
@@ -166,8 +167,8 @@ module Appium
166
167
  # Builds the gem
167
168
  # Publishes the gem to rubygems
168
169
  def _publish
169
- unless `git branch`.include? '* master'
170
- puts 'Master branch required to release.'
170
+ unless `git branch`.include? "* #{branch}"
171
+ puts "'#{branch}' branch required to release."
171
172
  exit!
172
173
  end
173
174
 
@@ -187,9 +188,8 @@ module Appium
187
188
 
188
189
  # update notes now that there's a new tag
189
190
  notes rescue notes_failed = true
190
- docs
191
191
  sh "git commit --allow-empty -am 'Update release notes'" unless notes_failed
192
- sh 'git push origin master'
192
+ sh "git push origin #{branch}"
193
193
  sh "git push origin #{tag_name}"
194
194
  _build_gem
195
195
  puts "Please run 'gem push #{gem_name}-#{version}.gem'"
@@ -1,6 +1,6 @@
1
1
  module Appium
2
2
  module Thor
3
- VERSION = '1.1.6' unless defined? ::Appium::Thor::VERSION
4
- DATE = '2019-11-08' unless defined? ::Appium::Thor::DATE
3
+ VERSION = '2.0.0' unless defined? ::Appium::Thor::VERSION
4
+ DATE = '2024-04-26' unless defined? ::Appium::Thor::DATE
5
5
  end
6
6
  end
data/lib/appium_thor.rb CHANGED
@@ -2,15 +2,13 @@
2
2
  require 'forwardable' # commands.rb
3
3
  require 'singleton' # config.rb
4
4
  require 'fileutils'
5
+ require 'open3'
5
6
 
6
7
  # gems
7
8
  require 'rubygems'
8
- require 'yard' # docs.rb
9
- require 'posix-spawn' # helpers.rb
10
9
  require 'date' # helpers.rb Date.today
11
10
 
12
11
  # internal
13
- require_relative 'appium_thor/docs'
14
12
  require_relative 'appium_thor/helpers'
15
13
  require_relative 'appium_thor/version'
16
14
  require_relative 'appium_thor/config'
data/release_notes.md CHANGED
@@ -1,3 +1,17 @@
1
+ #### v2.0.0 2024-04-26
2
+
3
+ - [e83d36e](https://github.com/appium/appium_thor/commit/e83d36e65c48dcfc71b00d28837a4c57517cc6b2) Release 2.0.0
4
+ - [021199b](https://github.com/appium/appium_thor/commit/021199b3bb179432cac93709292a275470f4bca7) chore: remove posix-spawn
5
+ - [11848db](https://github.com/appium/appium_thor/commit/11848db549003ba9b267622eb3e2677c4b9a004d) chore: use ruby 3+
6
+ - [3b3cf1d](https://github.com/appium/appium_thor/commit/3b3cf1d278ec18923875c5469e4e1da31df92472) feat: remove docs (#8)
7
+
8
+
9
+ #### v1.2.0 2020-06-14
10
+
11
+ - [5c7025a](https://github.com/appium/appium_thor/commit/5c7025a14e9a6dba1ff0f69b733983d965e9c2ee) Release 1.2.0
12
+ - [d334d3a](https://github.com/appium/appium_thor/commit/d334d3af298f2bde9dd828d015ac8fd6a096a8e4) feat: Allow to customise the target branch (#7)
13
+
14
+
1
15
  #### v1.1.6 2019-11-08
2
16
 
3
17
  - [014fa19](https://github.com/appium/appium_thor/commit/014fa19e5a2cf8d2d8d85fbd3d139b9c7d67fb50) Release 1.1.6
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appium_thor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - code@bootstraponline.com
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-08 00:00:00.000000000 Z
11
+ date: 2024-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redcarpet
@@ -30,40 +30,6 @@ dependencies:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: 3.1.2
33
- - !ruby/object:Gem::Dependency
34
- name: posix-spawn
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '0.3'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 0.3.8
43
- type: :runtime
44
- prerelease: false
45
- version_requirements: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '0.3'
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 0.3.8
53
- - !ruby/object:Gem::Dependency
54
- name: yard
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: 0.9.11
60
- type: :runtime
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: 0.9.11
67
33
  description: Thor tasks for Appium gems.
68
34
  email:
69
35
  - code@bootstraponline.com
@@ -82,7 +48,6 @@ files:
82
48
  - lib/appium_thor/commands/commands.rb
83
49
  - lib/appium_thor/commands/init.rb
84
50
  - lib/appium_thor/config.rb
85
- - lib/appium_thor/docs.rb
86
51
  - lib/appium_thor/helpers.rb
87
52
  - lib/appium_thor/version.rb
88
53
  - release_notes.md
@@ -90,7 +55,7 @@ homepage: https://github.com/appium/appium_thor
90
55
  licenses:
91
56
  - http://www.apache.org/licenses/LICENSE-2.0.txt
92
57
  metadata: {}
93
- post_install_message:
58
+ post_install_message:
94
59
  rdoc_options: []
95
60
  require_paths:
96
61
  - lib
@@ -98,15 +63,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
63
  requirements:
99
64
  - - ">="
100
65
  - !ruby/object:Gem::Version
101
- version: '2.2'
66
+ version: '3.0'
102
67
  required_rubygems_version: !ruby/object:Gem::Requirement
103
68
  requirements:
104
69
  - - ">="
105
70
  - !ruby/object:Gem::Version
106
71
  version: '0'
107
72
  requirements: []
108
- rubygems_version: 3.0.3
109
- signing_key:
73
+ rubygems_version: 3.5.9
74
+ signing_key:
110
75
  specification_version: 4
111
76
  summary: Thor tasks for Appium gems.
112
77
  test_files: []
@@ -1,82 +0,0 @@
1
- module Appium
2
- module Thor
3
- module Docs
4
- def space amount
5
- '&nbsp;' * amount
6
- end
7
-
8
- def last_sha
9
- `git rev-parse --verify HEAD`.strip
10
- end
11
-
12
- def mobj_to_md obj
13
- out = ''
14
- # skip objects without method signatures
15
- sig = obj.signature
16
- return out unless sig
17
-
18
- # skip class vars
19
- if sig.start_with?('@@') ||
20
- # skip methods marked private
21
- obj.tag('private') ||
22
- # skip date and version from version.rb
23
- obj.name.match(/DATE|VERSION/)
24
-
25
- return out
26
- end
27
-
28
- method_path = obj.file.split('/lib/').last
29
- os = method_path.downcase.match(/ios|android/) || 'common'
30
- out.concat("##### [#{obj.name.to_s}](https://github.com/#{github_owner}/#{github_name}/blob/#{last_sha}/lib/#{method_path}#L#{obj.line}) #{os}\n\n")
31
- out.concat("> #{obj.signature}\n\n")
32
- out.concat("#{obj.docstring}\n\n")
33
-
34
-
35
- indent = space 5
36
- params = obj.tags.select { |tag| tag.tag_name == 'param' }
37
- unless params.empty?
38
- out.concat("__Parameters:__\n\n")
39
- params.each do |param|
40
- out.concat("#{indent}[#{param.types.join(', ') unless param.types.nil?}] ")
41
- out.concat("#{param.name} - #{param.text}\n\n")
42
- end
43
- end
44
-
45
- ret = obj.tag 'return'
46
- if ret
47
- out.concat("__Returns:__\n\n")
48
- out.concat("#{indent}[#{ret.types.join(', ') unless ret.types.nil?}] #{ret.text}\n\n")
49
- end
50
- out.concat("--\n\n")
51
-
52
- out
53
- end
54
-
55
- def run(out_file, globs)
56
- YARD::Registry.clear
57
- puts "Globbing: #{globs}"
58
- puts "Writing: #{out_file}"
59
- FileUtils.mkdir_p File.dirname out_file
60
- YARD::Parser::SourceParser.parse globs
61
- File.open(out_file, 'w') do |file|
62
- entries = YARD::Registry.entries
63
- entries_length = entries.length
64
- puts "Processing: #{entries_length} entries"
65
- raise 'No entries to process' if entries_length <= 0
66
- YARD::Registry.entries.each do |entry|
67
- file.write mobj_to_md entry
68
- end
69
- end
70
-
71
- raise 'Empty file generated' if File.size(out_file) <= 0
72
- end
73
-
74
- def globs(paths)
75
- # Convert single string to array for map
76
- paths = [paths] unless paths.kind_of? Array
77
- # Adjust path based on system
78
- paths.map! { |path| "#{Dir.pwd}#{path}" }
79
- end
80
- end
81
- end
82
- end