class GithubMembers::Options
Attributes
fields[RW]
github_org[RW]
github_token[RW]
help[RW]
help_shown[RW]
markdown_file[RW]
version[RW]
yaml_file[RW]
Public Class Methods
new(argv)
click to toggle source
# File lib/github_members/options.rb, line 16 def initialize(argv) self.github_token = ENV["GITHUB_TOKEN"].to_s args = parser.parse!(argv) self.help = parser.help + help_examples(parser.program_name) self.github_org = args.first self.markdown_file = Pathname(markdown_file || Defaults::MARKDOWN_FILE) self.yaml_file = Pathname(yaml_file || Defaults::YAML_FILE) rescue OptionParser::ParseError => e raise ParseError, e.message end
Private Instance Methods
help_examples(program_name)
click to toggle source
# File lib/github_members/options.rb, line 60 def help_examples(program_name) <<~HELP Examples: # By default #{program_name} <org> # Set a token GITHUB_TOKEN=*** #{program_name} <org> #{program_name} <org> -g *** # Specify files #{program_name} <org> -m README.md -y company_members.yml # Add fields #{program_name} <org> -f slack,note HELP end
parser()
click to toggle source
# File lib/github_members/options.rb, line 28 def parser @parser ||= OptionParser.new do |opts| opts.banner = "Usage: #{opts.program_name} [options] <org>" opts.on("-g", "--github-token GITHUB_TOKEN", "A GitHub access token. The `GITHUB_TOKEN` environment variable", "is also available.") do |v| self.github_token = v end opts.on("-m", "--markdown-file [FILE]", "A Markdown file path. Default: `#{Defaults::MARKDOWN_FILE}`") do |v| self.markdown_file = v end opts.on("-y", "--yaml-file [FILE]", "A YAML file path. Default: `#{Defaults::YAML_FILE}`") do |v| self.yaml_file = v end opts.on("-f", "--fields [FIELDS]", Array, "A comma-separated list of a member additional fields") do |v| self.fields = v end opts.on_tail("-h", "--help", "Show help") do self.help_shown = true end opts.on_tail("-v", "--version", "Show version") do self.version = VERSION end end end