Class: PleaseValidate::CLI
- Inherits:
-
Object
- Object
- PleaseValidate::CLI
- Defined in:
- lib/please_validate/cli.rb
Class Method Summary collapse
-
.execute(stdout, arguments = []) ⇒ Object
Execute the CLI.
Instance Method Summary collapse
-
#display ⇒ Object
Displays the request’s results.
-
#initialize(arguments, options) ⇒ CLI
constructor
Takes the arguments, passes it to validate for validation and displays the result.
-
#msg ⇒ Object
Displays the message for the command line result.
-
#validate(items) ⇒ Object
Creates a new request object and returns its result.
Constructor Details
#initialize(arguments, options) ⇒ CLI
Takes the arguments, passes it to validate for validation and displays the result
41 42 43 44 |
# File 'lib/please_validate/cli.rb', line 41 def initialize(arguments, ) @result, @options = validate(arguments), @msg = display end |
Class Method Details
.execute(stdout, arguments = []) ⇒ Object
Execute the CLI
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/please_validate/cli.rb', line 8 def execute(stdout, arguments=[]) = { :quiet => false } = %w( ) parser = OptionParser.new do |opts| opts. = <<-BANNER.gsub(/^ /,'') Please Validate does some lovely markup validation of your (X)HTML files. Usage: #{File.basename($0)} /path/to/file [options] Options are: BANNER opts.separator "" # opts.on("-p", "--path=PATH", String, # "This is a sample message.", # "For multiple lines, add more strings.", # "Default: ~") { |arg| options[:path] = arg } opts.on("-q", "--quiet", "Hide invalid file notices.") { [:quiet] = true } opts.on("-h", "--help", "Show this help message.") { stdout.puts opts; exit } opts.parse!(arguments) if && .find { |option| [option.to_sym].nil? } stdout.puts opts; exit end end validation = new(arguments, ) stdout.puts validation.msg end |
Instance Method Details
#display ⇒ Object
Displays the request’s results
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/please_validate/cli.rb', line 53 def display @result.inject('') do |msg,result| if result.is_a? String next msg if [:quiet] && result =~ /^Validation failed:/ msg += result elsif result.is_a? Hash msg += result end "#{msg}\n\n" end end |
#msg ⇒ Object
Displays the message for the command line result
66 67 68 |
# File 'lib/please_validate/cli.rb', line 66 def msg @msg end |
#validate(items) ⇒ Object
Creates a new request object and returns its result
47 48 49 50 |
# File 'lib/please_validate/cli.rb', line 47 def validate(items) request = PleaseValidate::Request.new(items) request.result end |