class StoryboardLint::Matcher

Constants

DEFAULT_REUSE_ID_PREFIX
DEFAULT_SEGUE_ID_PREFIX
DEFAULT_STORYBOARD_ID_PREFIX

Public Class Methods

new(options) click to toggle source
# File lib/storyboardlint.rb, line 200
def initialize(options)
  options ||= OpenStruct.new
  
  @storyboard_id_regex_source = create_source_regex(DEFAULT_STORYBOARD_ID_PREFIX, options.storyboard_prefix, options.storyboard_suffix)
  @storyboard_id_regex_sb = create_storyboard_regex(DEFAULT_STORYBOARD_ID_PREFIX, options.storyboard_prefix, options.storyboard_suffix)
  
  @segue_id_regex_source = create_source_regex(DEFAULT_SEGUE_ID_PREFIX, options.segue_prefix, options.segue_suffix)
  @segue_id_regex_sb = create_storyboard_regex(DEFAULT_SEGUE_ID_PREFIX, options.segue_prefix, options.segue_suffix)
  
  @reuse_id_regex_source = create_source_regex(DEFAULT_REUSE_ID_PREFIX, options.reuse_prefix, options.reuse_suffix)
  @reuse_id_regex_sb = create_storyboard_regex(DEFAULT_REUSE_ID_PREFIX, options.reuse_prefix, options.reuse_suffix)
end

Public Instance Methods

class_regex() click to toggle source
# File lib/storyboardlint.rb, line 213
def class_regex
  /@interface\s+([a-zA-Z_]+\w*)/
end

Private Instance Methods

create_source_regex(default_prefix, prefix, suffix) click to toggle source
# File lib/storyboardlint.rb, line 226
def create_source_regex(default_prefix, prefix, suffix)
  inner_regex_part = %{(?:\\\\"|[^"])+}
  if prefix.to_s.empty? and suffix.to_s.empty?
    return /@"(#{default_prefix}#{inner_regex_part})"/
  else
    return /@"(#{prefix}#{inner_regex_part}#{suffix})"/
  end
end
create_storyboard_regex(default_prefix, prefix, suffix) click to toggle source
# File lib/storyboardlint.rb, line 235
def create_storyboard_regex(default_prefix, prefix, suffix)
  inner_regex_part = %{(?:\\\\"|[^"])+}
  if prefix.to_s.empty? and suffix.to_s.empty?
    sb = /^#{default_prefix}/
  else        
    if !prefix.to_s.empty?
      if !suffix.to_s.empty?
        sb = /^#{prefix}[\w\s]*#{suffix}$/ 
      else !prefix.to_s.empty?
        sb = /^#{prefix}/
      end
    else
      sb = /#{suffix}$/
    end
  end
  
  sb
end