appium_thor
Appium Thor helpers for appium's gems (appium_lib, appium_capybara).
--
Example configuration
Appium::Thor::Config.set do
gem_name 'appium_thor'
github_owner 'appium'
github_name 'appium_thor'
branch 'master'
version_file 'lib/appium_thor/version.rb'
docs_block do
run 'docs/helpers_docs.md', globs('/lib/appium_thor/helpers.rb')
end
end
# Must use '::' otherwise Default will point to Thor::Sandbox::Default
# Debug by calling Thor::Base.subclass_files via Pry
#
# https://github.com/erikhuda/thor/issues/484
#
class ::Default < Thor
desc 'spec', 'Run RSpec tests'
def spec
exec 'rspec spec'
end
end
Defaults
Option | Default |
---|---|
gem_name | must be provided |
github_owner | appium |
github_name | #{gem_name} |
branch | master |
version_file | lib/#{gem_name}/version.rb |
docs_block | no docs are generated |
branch
customises the target branch to push changes.
Defaults to master
--
Available tasks
Note to see gem warnings, run gem build your_gem_name.gemspec
thor build # Build a new gem
thor bump # Bump the z version number and update the date.
thor bumpx # Bump the x version number, set y & z to zero, update the date.
thor bumpy # Bump the y version number, set z to zero, update the date.
thor byte # Remove non-ascii bytes from all *.rb files in the current dir
thor docs # Update docs
thor gem_install # Install gem
thor gem_uninstall # Uninstall gem
thor info # prints config info for this gem
thor notes # Update release notes
thor publish # Build and release a new gem to rubygems.org
thor release # Build and release a new gem to rubygems.org (same as publish)
--
docs_block
The docs_block
method runs within the docs.rb
context. Here's a more complex example:
common_globs = '/lib/appium_lib/*.rb', '/lib/appium_lib/device/*.rb', '/lib/appium_lib/common/**/*.rb'
android_globs = common_globs + ['/lib/appium_lib/android/**/*.rb']
ios_globs = common_globs + ['/lib/appium_lib/ios/**/*.rb']
run 'docs/android_docs.md', globs(android_globs)
run 'docs/ios_docs.md', globs(ios_globs)