Sha256: 8decc820c6b89d3e6b099701243b8aae05af662c8672ce0625aa31b80af5c716

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

require 'cocoapods'

module CocoaPodsKeys
    class NameWhisperer

      def self.get_project_name()
        podfile = Pod::Podfile.from_file("Podfile") rescue nil
        if podfile
          user_xcodeproj = xcodeproj_from_podfile(podfile)
        end
        user_xcodeproj ||= self.search_folders_for_xcodeproj
        user_xcodeproj.gsub(".xcodeproj", "")
      end

    :private

      def self.xcodeproj_from_podfile(podfile)
        if podfile.target_definition_list.length > 0
          return podfile.target_definition_list[0].user_project_path
        end
        nil
      end

      def self.search_folders_for_xcodeproj
        xcodeprojects = Dir.glob("**/**/*.xcodeproj")
        if xcodeprojects.length == 1
          Pathname.new(xcodeprojects[0]).basename.to_s
        else
          error_message = (xcodeprojects.length > 1) ? "found too many" : "couldn't find any"
          puts "CocoaPods-Keys " + error_message + " Xcode projects. Please give a name for this project."

          answer = ""
          loop do
            print " > "
            answer = STDIN.gets.chomp
            break if answer.length > 0
          end
          answer

        end
      end

    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cocoapods-keys-1.2.1 lib/name_whisperer.rb
cocoapods-keys-1.2.0 lib/name_whisperer.rb
cocoapods-keys-1.1.0 lib/name_whisperer.rb