xcode-project-renamer 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in xcode-project-renamer.gemspec
4
+ gemspec
data/README.textile ADDED
@@ -0,0 +1,19 @@
1
+ h1. XCodeProjectRenamer
2
+
3
+ Use this gem to deep rename any XCode project.
4
+
5
+ h2. Install
6
+
7
+ @gem install xcode-project-renamer@
8
+
9
+ h2. Usage
10
+
11
+ # Navigate into you project, right where you @*.xcodeproj@ file is located
12
+ # @xcode-project-renamer oldname newname@
13
+
14
+ h2. Example
15
+
16
+ You are having a project called @FaceTime@.
17
+
18
+ # Navigate to where the @FaceTime@ directory and the @FaceTime.xcodeproj@ is located.
19
+ # @xcode-project-renamer FaceTime Messages@
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'xcode-project-renamer'
5
+
6
+ Xcode::Project::Renamer::Rename.new.rename!
@@ -0,0 +1,89 @@
1
+ require "xcode-project-renamer/version"
2
+
3
+ module Xcode
4
+ module Project
5
+ module Renamer
6
+
7
+ class Rename
8
+
9
+ # Initialize renamer with the oldname and the new name as arguments
10
+ def initialize
11
+ @from, @to = ARGV
12
+ @files, @allFiles = [], []
13
+ check_arguments
14
+ end
15
+
16
+ # Check weather both arguments are given, otherways we can't do nothing
17
+ def check_arguments
18
+ if @from.nil? or @to.nil?
19
+ puts ""
20
+ puts "Sorry, missing the names!"
21
+ puts "-> Usage: xcodeprojectrenamer oldname newname"
22
+ puts ""
23
+ exit 1
24
+ end
25
+ end
26
+
27
+ # Start the actual renaming consisting of two tasks:
28
+ # * Rename the files in the directories
29
+ # * Rename the files contents to reflect the new files names
30
+ def rename!
31
+ puts ""
32
+ puts "Renaming from #{@from} to #{@to}"
33
+
34
+ rename_files
35
+ rename_contents
36
+ end
37
+
38
+ private
39
+ def rename_files
40
+
41
+ # Collect files
42
+ Dir.glob("#{@from}/**/*.*").each { |file| @files << file }
43
+ Dir.glob("#{@from}.xcodeproj/**/*.*").each { |file| @files << file }
44
+ @files << @from if File.exists? @from
45
+ @files << "#{@from}.xcodeproj" if File.exists? @from
46
+
47
+ # Rename
48
+ @files.each { |file| rename(file) }
49
+
50
+ # Done
51
+ puts @files.empty? ? "-> Nothing to rename" : "Done."
52
+ puts ""
53
+ end
54
+
55
+ def rename_contents
56
+
57
+ # Collect all files
58
+ Dir.glob("#{@to}/**/*.*").each { |file| @allFiles << file }
59
+ Dir.glob("#{@to}.xcodeproj/**/*.*").each { |file| @allFiles << file }
60
+
61
+ # Replace @from with @to
62
+ @allFiles.each do |file|
63
+ next if File.directory? file
64
+ content = File.read file
65
+ puts "Replacing #{@from} -> #{@to} in: #{file}"
66
+ new_content = content.gsub @from, @to rescue next
67
+ File.open(file, "w") { |new_file| new_file.puts new_content}
68
+ end
69
+
70
+ # Done
71
+ puts "Done."
72
+ puts ""
73
+ end
74
+
75
+ def rename old_name
76
+ dirname = File.dirname old_name
77
+ basename = File.basename old_name
78
+ new_basename = basename.gsub @from, @to
79
+ new_name = "#{dirname}/#{new_basename}"
80
+
81
+ puts "Renaming -> #{old_name} -> #{new_name}"
82
+ File.rename old_name, new_name
83
+ end
84
+
85
+ end
86
+
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,7 @@
1
+ module Xcode
2
+ module Project
3
+ module Renamer
4
+ VERSION = "0.0.1"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "xcode-project-renamer/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "xcode-project-renamer"
7
+ s.version = Xcode::Project::Renamer::VERSION
8
+ s.authors = ["Thomas Fankhauser"]
9
+ s.email = ["tommylefunk@googlemail.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Deep rename your whole XCode project with a single command}
12
+ s.description = %q{Project renaming is a pain with XCode. Use this gem to rename any XCode project in a very simple way}
13
+
14
+ s.rubyforge_project = "xcode-project-renamer"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+ # s.add_runtime_dependency "rest-client"
24
+ end
metadata ADDED
@@ -0,0 +1,55 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xcode-project-renamer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Thomas Fankhauser
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-02-26 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Project renaming is a pain with XCode. Use this gem to rename any XCode
15
+ project in a very simple way
16
+ email:
17
+ - tommylefunk@googlemail.com
18
+ executables:
19
+ - xcode-project-renamer
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - .gitignore
24
+ - Gemfile
25
+ - README.textile
26
+ - Rakefile
27
+ - bin/xcode-project-renamer
28
+ - lib/xcode-project-renamer.rb
29
+ - lib/xcode-project-renamer/version.rb
30
+ - xcode-project-renamer.gemspec
31
+ homepage: ''
32
+ licenses: []
33
+ post_install_message:
34
+ rdoc_options: []
35
+ require_paths:
36
+ - lib
37
+ required_ruby_version: !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ! '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ required_rubygems_version: !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ! '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ requirements: []
50
+ rubyforge_project: xcode-project-renamer
51
+ rubygems_version: 1.8.15
52
+ signing_key:
53
+ specification_version: 3
54
+ summary: Deep rename your whole XCode project with a single command
55
+ test_files: []