class Learn::TeamMembers::Parser
Attributes
full_args[R]
members_list[RW]
Public Class Methods
new(full_args)
click to toggle source
# File lib/learn/team_members/parser.rb, line 7 def initialize(full_args) @full_args = full_args end
Public Instance Methods
execute()
click to toggle source
# File lib/learn/team_members/parser.rb, line 11 def execute parse_full_args sanitize_members return_message end
Private Instance Methods
every_member_starts_with_at_symbol?()
click to toggle source
# File lib/learn/team_members/parser.rb, line 58 def every_member_starts_with_at_symbol? members_list.all? {|m| m.start_with?('@')} end
parse_full_args()
click to toggle source
# File lib/learn/team_members/parser.rb, line 19 def parse_full_args index = (full_args.index('-t') || full_args.index('--t') || full_args.index('--team') || full_args.index('-team')) + 1 message_index = full_args.index('-m') || full_args.index('--message') self.members_list = if !message_index || (message_index && (index > message_index)) full_args[index..-1] else full_args[index...message_index] end end
prepend_at_symbols!()
click to toggle source
# File lib/learn/team_members/parser.rb, line 62 def prepend_at_symbols! members_list.each {|m| m.prepend('@') if !m.start_with?('@')} end
remove_trailing_commas!()
click to toggle source
# File lib/learn/team_members/parser.rb, line 54 def remove_trailing_commas! members_list.map! {|m| m.chomp(',').strip} end
return_message()
click to toggle source
# File lib/learn/team_members/parser.rb, line 66 def return_message "team: #{self.members_list.join(' ')}" end
sanitize_members()
click to toggle source
# File lib/learn/team_members/parser.rb, line 30 def sanitize_members remove_trailing_commas! if members_list.any? {|m| m.include?(',')} split_members_list! end if !every_member_starts_with_at_symbol? prepend_at_symbols! end end
split_members_list!()
click to toggle source
# File lib/learn/team_members/parser.rb, line 42 def split_members_list! members_list.map! do |m| if m.include?(',') m.split(',') else m end end members_list.flatten! end