class Pod::GDSpecBuilder

Public Class Methods

new(spec, source, embedded, dynamic, git_sources) click to toggle source
# File lib/cocoapods-gd/spec_builder.rb, line 3
def initialize(spec, source, embedded, dynamic, git_sources)
  @spec = spec
  @source = source.nil? ? '{ :path => \'.\' }' : source
  @embedded = embedded
  @dynamic = dynamic
  @git_sources = git_sources
end

Public Instance Methods

framework_path() click to toggle source
# File lib/cocoapods-gd/spec_builder.rb, line 11
def framework_path
  if @embedded
    @spec.name + '.embeddedframework' + '/' + @spec.name + '.framework'
  else
    @spec.name + '.framework'
  end
end
spec_close() click to toggle source
# File lib/cocoapods-gd/spec_builder.rb, line 51
def spec_close
  "end\n"
end
spec_metadata() click to toggle source
# File lib/cocoapods-gd/spec_builder.rb, line 46
def spec_metadata
  spec = spec_header
  spec
end
spec_platform(platform) click to toggle source
# File lib/cocoapods-gd/spec_builder.rb, line 19
    def spec_platform(platform)
      fwk_base = platform.name.to_s + '/' + framework_path
      if File.exist?("#{Dir.pwd}/ios/#{@spec.name}.bundle")
              spec = <<RB
  s.#{platform.name}.deployment_target    = '#{platform.deployment_target}'
  s.#{platform.name}.vendored_framework   = '#{@spec.name}-#{@spec.version}/#{fwk_base}'
  s.#{platform.name}.resource   = '#{@spec.name}-#{@spec.version}/#{platform.name.to_s}/#{@spec.name}.bundle'
RB
      else
              spec = <<RB
  s.#{platform.name}.deployment_target    = '#{platform.deployment_target}'
  s.#{platform.name}.vendored_framework   = '#{@spec.name}-#{@spec.version}/#{fwk_base}'
RB
      end

      %w(frameworks weak_frameworks libraries requires_arc xcconfig).each do |attribute|
        attributes_hash = @spec.attributes_hash[platform.name.to_s]
        next if attributes_hash.nil?
        value = attributes_hash[attribute]
        next if value.nil?

        value = "'#{value}'" if value.class == String
        spec += "  s.#{platform.name}.#{attribute} = #{value}\n"
      end
      spec
    end

Private Instance Methods

spec_header() click to toggle source
# File lib/cocoapods-gd/spec_builder.rb, line 57
def spec_header
  spec = "Pod::Spec.new do |s|\n"

  %w(name version summary license authors homepage description social_media_url
     docset_url documentation_url screenshots frameworks weak_frameworks libraries requires_arc
     deployment_target xcconfig).each do |attribute|
    value = @spec.attributes_hash[attribute]
    if attribute.include?("version")
      value = "#{@spec.version}.1"
    end
    next if value.nil?
    value = value.dump if value.class == String
    spec += "  s.#{attribute} = #{value}\n"
  end
  
  spec + "  s.source = { :http => '#{@git_sources}/#{@spec.name}/#{@spec.name}-#{@spec.version}.zip' }\n\n"
end