class Fastlane::Helper::PodspecHelper

def bump_version(bump_type)

def bump_version(bump_type)
  major = version_match[:major].to_i
  minor = version_match[:minor].to_i || 0
  patch = version_match[:patch].to_i || 0
  case bump_type
  when 'patch'
    patch += 1
  when 'minor'
    minor += 1
    patch = 0
  when 'major'
    major += 1
    minor = 0
    patch = 0
  end
  @version_value = "#{major}.#{minor}.#{patch}"
end

def initialize(path = nil)

def initialize(path = nil)
  version_var_name = 'version'
  @version_regex = /^(?<begin>[^#]*#{version_var_name}\s*=\s*['"])(?<value>(?<major>[0-9]+)(\.(?<minor>[0-9]+))?(\.(?<patch>[0-9]+))?)(?<end>['"])/i
  return unless (path || '').length > 0
  raise "Could not find podspec file at path '#{path}'".red unless File.exist?(path)
  @path = File.expand_path(path)
  podspec_content = File.read(path)
  parse(podspec_content)
end

def parse(podspec_content)

def parse(podspec_content)
  @podspec_content = podspec_content
  @version_match = @version_regex.match(@podspec_content)
  raise "Could not find version in podspec content '#{@podspec_content}'".red if @version_match.nil?
  @version_value = @version_match[:value]
end

def update_podspec(version = nil)

def update_podspec(version = nil)
  new_version = version || @version_value
  updated_podspec_content = @podspec_content.gsub(@version_regex, "#{@version_match[:begin]}#{new_version}#{@version_match[:end]}")
  File.open(@path, "w") {|file| file.puts updated_podspec_content} unless Helper.test?
  updated_podspec_content
end