Sha256: a2145c67d1884bc9c7d9f758b197b6d332e7151c1ed699f1cc0a5b222bb8df97

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

module Pod
  class PlaygroundGenerator
    TEMPLATE_DIR = Pathname.new('Library/Xcode/Templates/File Templates/Source/Playground with Platform Choice.xctemplate')
    TEMPLATE_NAME = Pathname.new('___FILEBASENAME___.playground')

    def initialize(platform)
      @template = self.class.dir_for_platform(platform)
      fail "Could not find template for #{platform}" if @template.nil?
      @template += TEMPLATE_NAME
    end

    def generate(name)
      FileUtils.cp_r(@template, "#{name}.playground")
      Pathname.new("#{name}.playground")
    end

    def self.platforms
      Dir.entries(template_dir).map do |file|
        next if file.start_with?('.')
        next unless (template_dir + file).directory?
        platform_name(file)
      end.compact
    end

    def self.template_dir
      xcode = Pathname.new(`xcode-select -p`.strip)
      xcode + TEMPLATE_DIR
    end

    def self.platform_name(file)
      file.downcase.sub(' ', '').to_sym
    end

    def self.dir_for_platform(platform)
      Dir.foreach(template_dir) do |file|
        return (template_dir + file) if platform_name(file) == platform
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cocoapods-playgrounds-0.0.1 lib/cocoapods-playgrounds/generate.rb