synx 0.0.52 → 0.0.53

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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YzdhZjY3ZjRkNjJkOTgzOTIzYTE1YmI2ZTBhY2JmNjMxNjA3NTU2Yw==
5
- data.tar.gz: !binary |-
6
- MjFmMzIxZjM1MjYzZTYzYWRjYzg5YTY2M2I4ZjA2NDY1YTQ1NThiMQ==
2
+ SHA1:
3
+ metadata.gz: 5043440d8edbbb67b2ef33b532a58059c61d12ed
4
+ data.tar.gz: c4fd56cb0af56f445ddc9756088b6c92c0cba029
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- Y2RhN2E4MmUwYjViNGQ0ZDgzYjM1MzVhN2M3NDE1MTFlM2FhOGE2MmZmOTQ0
10
- YmJjMzJlNDM1ZTNkMGIyZjY3MGI1NTVlYWY4NGFlMDljYmVlYzA0OGEzM2Mz
11
- ZWZmN2I1MzNjNWViN2NiYmJlODgyZTRiN2RlYWQ1N2FkNDJlZjA=
12
- data.tar.gz: !binary |-
13
- ZjMxMWMwNWY2OGEyNzMyZWRiN2Y3N2Y1NTRjODY2NjEzNTMwMjZlMjhkM2Qw
14
- N2UyZTJmN2Y3MDYxMDA2YWE2YjFlM2MwMGMyN2MzZDlhYjdkOTVjOTM0YTM3
15
- ODc5ZDI3Mjg2ZGE0OTY4ZTMzYTI0OGY1YzkzZTc5YjgwZDUyMjg=
6
+ metadata.gz: f7cfb4d9ca835d619aec07971e5ae968384a5c91140080528d563da18730957396ced3ca088b82a3859677ff6dfdfaacdf169ff4f84705fb1131b8cb5ee2811b
7
+ data.tar.gz: 08a25df38b0915f8cac88728f3c2d80f78624dfda690324c78d300fce5b6886cc79009ca3fdfa02d8dceae6bbdf6d91bb358950171361c7c452cff10ebba2243
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
+ ![synx logo](https://raw.githubusercontent.com/venmo/synx/marklarr/dev/docs/images/synx-logo.png?token=760261__eyJzY29wZSI6IlJhd0Jsb2I6dmVubW8vc3lueC9tYXJrbGFyci9kZXYvZG9jcy9pbWFnZXMvc3lueC1sb2dvLnBuZyIsImV4cGlyZXMiOjE0MDE5MzExNDF9--6c8a22318eaafed2185cb16d39189dcadb75c742)
2
+
1
3
  [![Gem Version](https://badge.fury.io/rb/synx.svg)](http://badge.fury.io/rb/synx)
2
4
  [![Build Status](https://travis-ci.org/venmo/synx.svg?branch=master)](https://travis-ci.org/venmo/synx)
3
5
 
4
- ![synx logo](https://raw.githubusercontent.com/venmo/synx/marklarr/dev/docs/images/synx-logo.png?token=760261__eyJzY29wZSI6IlJhd0Jsb2I6dmVubW8vc3lueC9tYXJrbGFyci9kZXYvZG9jcy9pbWFnZXMvc3lueC1sb2dvLnBuZyIsImV4cGlyZXMiOjE0MDE5MzExNDF9--6c8a22318eaafed2185cb16d39189dcadb75c742)
5
-
6
6
  A command-line tool that reorganizes your Xcode project folder to match your Xcode groups.
7
7
 
8
8
  ![synx gif](https://raw.githubusercontent.com/venmo/synx/marklarr/dev/docs/images/synx.gif?token=760261__eyJzY29wZSI6IlJhd0Jsb2I6dmVubW8vc3lueC9tYXJrbGFyci9kZXYvZG9jcy9pbWFnZXMvc3lueC5naWYiLCJleHBpcmVzIjoxNDAxODU2NzAyfQ%3D%3D--fc7d8546f3d4860df9024b1ee82ea13b86a2da88)
@@ -41,7 +41,9 @@ Synx supports the following options:
41
41
 
42
42
  ```
43
43
  --prune, -p remove source files and image resources that are not referenced by the the xcode project
44
+ --no-color removes all color from the output
44
45
  --no-default-exclusions doesn't use the default exclusions of /Libraries, /Frameworks, and /Products
46
+ --quiet, -q silence all output
45
47
  --exclusion, -e EXCLUSION ignore an Xcode group while syncing
46
48
  ```
47
49
 
@@ -53,11 +55,10 @@ if they wanted to not sync the `/OCMock/Core Mocks` and `/OCMockTests` groups, a
53
55
 
54
56
  ## Contributing
55
57
 
56
- 1. Fork it
57
- 2. Create your feature branch (`git checkout -b my-new-feature`)
58
- 3. Commit your changes (`git commit -am 'Add some feature'`)
59
- 4. Push to the branch (`git push origin my-new-feature`)
60
- 5. Create a new Pull Request
58
+ We'd love to see your ideas for improving this library! The best way to contribute is by submitting a pull request. We'll do our best to respond to your patch as soon as possible. You can also submit a [new Github issue](https://github.com/venmo/synx/issues/new) if you find bugs or have questions. :octocat:
59
+
60
+ Please make sure to follow our general coding style and add test coverage for new features!
61
+
61
62
 
62
63
  ## Contributors
63
64
 
data/bin/synx CHANGED
@@ -1,19 +1,20 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'clamp'
4
- require File.join(File.dirname(__FILE__), '..', 'lib', 'synx')
4
+ require 'synx'
5
5
 
6
6
  Clamp do
7
7
 
8
8
  parameter "xcodeproj", "Path to the xcodeproj", :attribute_name => :xcodeproj_path
9
9
  option ["--prune", "-p"], :flag, "remove source files and image resources that are not referenced by the the xcode project"
10
+ option "--no-color", :flag, "removes all color from the output"
10
11
  option "--no-default-exclusions", :flag, "doesn't use the default exclusions of /Libraries, /Frameworks, and /Products"
11
12
  option ["--quiet", "-q"], :flag, "silence all output"
12
13
  option ["--exclusion", "-e"], "EXCLUSION", "ignore an Xcode group while syncing", :multivalued => true
13
14
 
14
15
  def execute
15
16
  project = Synx::Project.open(xcodeproj_path)
16
- project.sync(:prune => prune?, :quiet => quiet?, :no_default_exclusions => no_default_exclusions?, :group_exclusions => exclusion_list)
17
+ project.sync(:prune => prune?, :quiet => quiet?, :no_color => no_color?, :no_default_exclusions => no_default_exclusions?, :group_exclusions => exclusion_list)
17
18
  end
18
19
 
19
20
  end
data/lib/synx.rb CHANGED
@@ -1,13 +1,6 @@
1
+ require "synx/xcodeproj_ext"
1
2
  require "synx/version"
2
3
  require "synx/project"
3
- require "synx/pbx_file_reference"
4
- require "synx/pbx_group"
5
- require "synx/abstract_object"
6
- require "synx/abstract_target"
7
- require "synx/pbx_variant_group"
8
4
  require "synx/tabber"
9
5
 
10
- require "colored"
11
-
12
- module Synx
13
- end
6
+ require "colorize"
data/lib/synx/project.rb CHANGED
@@ -7,7 +7,7 @@ module Synx
7
7
  SYNXRONIZE_DIR = File.join(ENV["HOME"], '.synx')
8
8
  private_constant :SYNXRONIZE_DIR
9
9
 
10
- DEFAULT_EXCLUSIONS = %W(/Libraries /Frameworks /Products)
10
+ DEFAULT_EXCLUSIONS = %W(/Libraries /Frameworks /Products /Pods)
11
11
  private_constant :DEFAULT_EXCLUSIONS
12
12
 
13
13
  attr_accessor :delayed_groups_set_path, :group_exclusions, :prune
@@ -18,7 +18,7 @@ module Synx
18
18
  Synx::Tabber.increase
19
19
  Synx::Tabber.puts "Syncing files that are included in Xcode project...".bold.white
20
20
  main_group.all_groups.each { |gr| gr.sync(main_group) }
21
- puts "\n\n" unless options[:quiet]
21
+ Synx::Tabber.puts "\n\n"
22
22
  Synx::Tabber.puts "Syncing files that are not included in Xcode project..".bold.white
23
23
  main_group.all_groups.each(&:move_entries_not_in_xcodeproj)
24
24
  transplant_work_project
@@ -49,7 +49,7 @@ module Synx
49
49
 
50
50
  self.group_exclusions |= options[:group_exclusions] if options[:group_exclusions]
51
51
 
52
- Synx::Tabber.quiet = options[:quiet]
52
+ Synx::Tabber.options = options
53
53
  end
54
54
  private :set_options
55
55
 
@@ -93,21 +93,20 @@ module Synx
93
93
  end
94
94
 
95
95
  def group_exclusions=(new_exclusions)
96
- new_exclusions.each do |exclusion|
96
+ @group_exclusions = new_exclusions.map do |exclusion|
97
97
  # Group paths always start with a '/', so put one there if it isn't already.
98
- exclusion.prepend("/") unless exclusion[0] == "/"
98
+ exclusion = "/" + exclusion unless exclusion[0] == "/"
99
99
  # Don't check our own default exclusions -- they may not have it in their project.
100
100
  unless DEFAULT_EXCLUSIONS.include?(exclusion)
101
101
  # remove leading '/' for this check
102
- exclusion = exclusion.dup
103
- exclusion[0] = ''
104
- unless self[exclusion]
105
- raise IndexError, "No group #{exclusion} exists"
102
+ exclusionCopy = exclusion.dup
103
+ exclusionCopy[0] = ''
104
+ unless self[exclusionCopy]
105
+ raise IndexError, "No group #{exclusionCopy} exists"
106
106
  end
107
107
  end
108
+ exclusion
108
109
  end
109
-
110
- @group_exclusions = new_exclusions
111
110
  end
112
111
 
113
112
  def has_object_for_pathname?(pathname)
data/lib/synx/tabber.rb CHANGED
@@ -1,38 +1,39 @@
1
1
  module Synx
2
2
  class Tabber
3
3
 
4
- @@quiet = false
5
- @@tabbing = 0
4
+ @options = {}
5
+ @tabbing = 0
6
6
 
7
7
  class << self
8
8
  def increase(n=1)
9
- @@tabbing += n
9
+ @tabbing += n
10
10
  end
11
11
 
12
12
  def decrease(n=1)
13
- @@tabbing -= n
14
- @@tabbing = 0 if @@tabbing < 0
13
+ @tabbing -= n
14
+ @tabbing = 0 if @tabbing < 0
15
15
  end
16
16
 
17
17
  def current
18
- @@tabbing
18
+ @tabbing
19
19
  end
20
20
 
21
21
  def reset
22
- @@tabbing = 0
23
- self.quiet = false
22
+ @tabbing = 0
23
+ self.options = {}
24
24
  end
25
25
 
26
- def quiet=(quiet)
27
- @@quiet = quiet
26
+ def options=(options = {})
27
+ @options = options
28
28
  end
29
29
 
30
- def quiet?
31
- @@quiet
30
+ def options
31
+ @options
32
32
  end
33
33
 
34
34
  def puts(str="")
35
- Kernel.puts (a_single_tab * @@tabbing) + str.to_s unless quiet?
35
+ str = str.uncolorize if options[:no_color]
36
+ output.puts (a_single_tab * @tabbing) + str.to_s unless options[:quiet]
36
37
  end
37
38
 
38
39
  def a_single_tab
@@ -40,6 +41,11 @@ module Synx
40
41
  end
41
42
  private :a_single_tab
42
43
 
44
+ def output
45
+ options.fetch(:output, $stdout)
46
+ end
47
+ private :output
48
+
43
49
  end
44
50
  end
45
51
  end
data/lib/synx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Synx
2
- VERSION = "0.0.52"
2
+ VERSION = "0.0.53"
3
3
  end
@@ -0,0 +1,7 @@
1
+ require "xcodeproj"
2
+
3
+ require "synx/xcodeproj_ext/project/object/pbx_file_reference"
4
+ require "synx/xcodeproj_ext/project/object/pbx_group"
5
+ require "synx/xcodeproj_ext/project/object/abstract_object"
6
+ require "synx/xcodeproj_ext/project/object/abstract_target"
7
+ require "synx/xcodeproj_ext/project/object/pbx_variant_group"
@@ -1,5 +1,3 @@
1
- require 'xcodeproj'
2
-
3
1
  module Xcodeproj
4
2
  class Project
5
3
  module Object
@@ -41,4 +39,4 @@ module Xcodeproj
41
39
  end
42
40
  end
43
41
  end
44
- end
42
+ end
@@ -1,5 +1,3 @@
1
- require 'xcodeproj'
2
-
3
1
  module Xcodeproj
4
2
  class Project
5
3
  module Object
@@ -12,4 +10,4 @@ module Xcodeproj
12
10
  end
13
11
  end
14
12
  end
15
- end
13
+ end
@@ -1,10 +1,8 @@
1
- require 'xcodeproj'
2
-
3
1
  module Xcodeproj
4
2
  class Project
5
3
  module Object
6
4
  class PBXFileReference
7
-
5
+
8
6
  def sync(group)
9
7
  if should_sync?
10
8
  if should_move?
@@ -25,10 +23,10 @@ module Xcodeproj
25
23
  end
26
24
 
27
25
  def output
28
- build_settings_ammended = "(build settings ammended: #{@setting_keys_changed.join(", ")})" if @setting_keys_changed.count > 0
26
+ build_settings_amended = "(build settings amended: #{@setting_keys_changed.join(", ")})" if @setting_keys_changed.count > 0
29
27
  removed_from_groups = "(had multiple parent groups, removed from groups: #{@removed_from_groups.join(", ")})" if @removed_from_groups.count > 0
30
- str_output = "#{basename} #{build_settings_ammended} #{removed_from_groups}"
31
- str_output = str_output.yellow if removed_from_groups || build_settings_ammended
28
+ str_output = "#{basename} #{build_settings_amended} #{removed_from_groups}"
29
+ str_output = str_output.yellow if removed_from_groups || build_settings_amended
32
30
  Synx::Tabber.puts str_output
33
31
  end
34
32
 
@@ -48,7 +46,7 @@ module Xcodeproj
48
46
  def change_build_settings_reference
49
47
  @setting_keys_changed = []
50
48
  return unless basename =~ /\.(pch|plist)$/
51
-
49
+
52
50
  project.targets.each do |t|
53
51
  t.each_build_settings do |bs|
54
52
  ["INFOPLIST_FILE", "GCC_PREFIX_HEADER"].each do |setting_key|
@@ -67,4 +65,4 @@ module Xcodeproj
67
65
  end
68
66
  end
69
67
  end
70
- end
68
+ end
@@ -1,10 +1,8 @@
1
- require 'xcodeproj'
2
-
3
1
  module Xcodeproj
4
2
  class Project
5
3
  module Object
6
4
  class PBXGroup
7
-
5
+
8
6
  def sync(group)
9
7
  ensure_internal_consistency(group)
10
8
  if excluded_from_sync?
@@ -61,7 +59,7 @@ module Xcodeproj
61
59
 
62
60
  def handle_unused_entry(entry_pathname)
63
61
  entries_to_ignore = %W(.DS_Store)
64
- unless entries_to_ignore.include?(entry_pathname.basename.to_s)
62
+ unless entries_to_ignore.include?(entry_pathname.basename.to_s)
65
63
  if entry_pathname.directory?
66
64
  work_entry_pathname = project.pathname_to_work_pathname(entry_pathname)
67
65
  # The directory may have already been created for one of two reasons
@@ -134,4 +132,4 @@ module Xcodeproj
134
132
  end
135
133
  end
136
134
  end
137
- end
135
+ end
@@ -1,10 +1,8 @@
1
- require 'xcodeproj'
2
-
3
1
  module Xcodeproj
4
2
  class Project
5
3
  module Object
6
4
  class PBXVariantGroup
7
-
5
+
8
6
  # Need to retain *.lproj files on the system
9
7
  def sync(group)
10
8
  ensure_internal_consistency(group)
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,9 @@
1
1
  require 'bundler/setup'
2
- Bundler.setup
3
-
4
2
  require 'synx'
5
3
  require 'pry'
6
4
 
7
- DUMMY_SYNX_PATH = File.join(File.dirname(__FILE__), 'dummy')
8
- DUMMY_SYNX_TEST_PATH = File.join(File.dirname(__FILE__), 'test_dummy')
5
+ DUMMY_SYNX_PATH = File.expand_path('../dummy', __FILE__)
6
+ DUMMY_SYNX_TEST_PATH = File.expand_path('../test_dummy', __FILE__)
9
7
  DUMMY_SYNX_TEST_PROJECT_PATH = File.join(DUMMY_SYNX_TEST_PATH, 'dummy.xcodeproj')
10
8
  FileUtils.rm_rf(DUMMY_SYNX_TEST_PATH)
11
9
  FileUtils.cp_r(DUMMY_SYNX_PATH, DUMMY_SYNX_TEST_PATH)
@@ -1,5 +1,4 @@
1
- require File.join(File.dirname(__FILE__), '..', 'spec_helper')
2
-
1
+ require 'spec_helper'
3
2
  require 'fileutils'
4
3
  require 'pathname'
5
4
  require 'yaml'
@@ -86,17 +85,17 @@ describe Synx::Project do
86
85
  end
87
86
 
88
87
  def expected_file_structure
89
- YAML::load_file(File.join(File.dirname(__FILE__), "expected_file_structure.yml"))
88
+ YAML::load_file(File.expand_path("../expected_file_structure.yml", __FILE__))
90
89
  end
91
90
 
92
91
  def expected_group_structure
93
- YAML::load_file(File.join(File.dirname(__FILE__), "expected_group_structure.yml"))
92
+ YAML::load_file(File.expand_path("../expected_group_structure.yml", __FILE__))
94
93
  end
95
94
 
96
95
  describe "with no additional options" do
97
96
 
98
97
  before(:all) do
99
- DUMMY_SYNX_TEST_PROJECT.sync
98
+ DUMMY_SYNX_TEST_PROJECT.sync(:output => StringIO.new)
100
99
  end
101
100
 
102
101
  it "should have the correct physical file structure" do
@@ -125,7 +124,7 @@ describe Synx::Project do
125
124
  describe "with the prune option toggled" do
126
125
 
127
126
  before(:all) do
128
- DUMMY_SYNX_TEST_PROJECT.sync(:prune => true)
127
+ DUMMY_SYNX_TEST_PROJECT.sync(:prune => true, :output => StringIO.new)
129
128
  end
130
129
 
131
130
  it "should remove unreferenced images and source files if the prune option is toggled" do
@@ -144,7 +143,7 @@ describe Synx::Project do
144
143
  describe "with the no_default_exclusions option toggled" do
145
144
 
146
145
  before(:all) do
147
- DUMMY_SYNX_TEST_PROJECT.sync(:no_default_exclusions => true)
146
+ DUMMY_SYNX_TEST_PROJECT.sync(:no_default_exclusions => true, :output => StringIO.new)
148
147
  end
149
148
 
150
149
  it "should have an empty array for default exclusions" do
@@ -155,11 +154,11 @@ describe Synx::Project do
155
154
  describe "with group_exclusions provided as options" do
156
155
 
157
156
  before(:all) do
158
- DUMMY_SYNX_TEST_PROJECT.sync(:group_exclusions => %W(/dummy /dummy/SuchGroup/VeryChildGroup))
157
+ DUMMY_SYNX_TEST_PROJECT.sync(:group_exclusions => %W(/dummy /dummy/SuchGroup/VeryChildGroup), :output => StringIO.new)
159
158
  end
160
159
 
161
160
  it "should add the group exclusions to the array" do
162
- expect(DUMMY_SYNX_TEST_PROJECT.group_exclusions.sort).to eq(%W(/Libraries /Products /Frameworks /dummy /dummy/SuchGroup/VeryChildGroup).sort)
161
+ expect(DUMMY_SYNX_TEST_PROJECT.group_exclusions.sort).to eq(%W(/Libraries /Products /Frameworks /Pods /dummy /dummy/SuchGroup/VeryChildGroup).sort)
163
162
  end
164
163
  end
165
164
 
@@ -1,11 +1,14 @@
1
- require File.join(File.dirname(__FILE__), '..', 'spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe Synx::Tabber do
4
4
 
5
5
  before(:each) do
6
6
  Synx::Tabber.reset
7
+ Synx::Tabber.options[:output] = output
7
8
  end
8
9
 
10
+ let(:output) { StringIO.new }
11
+
9
12
  describe "::increase" do
10
13
  it "should default to increasing tabbing by 1" do
11
14
  Synx::Tabber.increase
@@ -48,16 +51,33 @@ describe Synx::Tabber do
48
51
  end
49
52
 
50
53
  describe "::puts" do
51
- it "should call system's puts on the string, appending the appropraite indentation" do
54
+ it "should print to the output io with the appropriate indentation" do
52
55
  Synx::Tabber.increase(3)
53
- expect(Kernel).to receive(:puts).with(" Hello, world.")
54
56
  Synx::Tabber.puts("Hello, world.")
57
+ expect(output.string).to eq(" Hello, world.\n")
55
58
  end
56
59
 
57
60
  it "should not print anything if quiet is true" do
58
- Synx::Tabber.quiet = true
59
- Synx::Tabber.increase(3)
60
- expect(Kernel).to_not receive(:puts)
61
+ Synx::Tabber.options[:quiet] = true
62
+ Synx::Tabber.puts("Hello, world.")
63
+ expect(output.string).to eq("")
64
+ end
65
+
66
+ it "should print colors if no_color is false or not present" do
67
+ Synx::Tabber.puts("Hello, world.".red)
68
+ expect(output.string).to eq("\e[0;31;49mHello, world.\e[0m\n")
69
+ end
70
+
71
+ it "should not print colors if no_color is true" do
72
+ Synx::Tabber.options[:no_color] = true
73
+ Synx::Tabber.puts("Hello, world.".red)
74
+ expect(output.string).to eq("Hello, world.\n")
75
+ end
76
+
77
+ it "prints to stdout if no output is specified" do
78
+ expect($stdout).to receive(:puts).with(" Hello, world.")
79
+ Synx::Tabber.reset
80
+ Synx::Tabber.increase
61
81
  Synx::Tabber.puts("Hello, world.")
62
82
  end
63
83
  end
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), '..', 'spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe Xcodeproj::Project::Object::PBXGroup do
4
4
 
data/synx.gemspec CHANGED
@@ -27,6 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency "pry", "~> 0.9"
28
28
 
29
29
  spec.add_dependency "clamp", "~> 0.6"
30
- spec.add_dependency "colored", "~> 1.2"
30
+ spec.add_dependency "colorize", "~> 0.7"
31
31
  spec.add_dependency "xcodeproj", "~> 0.17"
32
32
  end
metadata CHANGED
@@ -1,116 +1,116 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.52
4
+ version: 0.0.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Larsen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-24 00:00:00.000000000 Z
11
+ date: 2014-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '2.14'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.14'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.9'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.9'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: clamp
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.6'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.6'
83
83
  - !ruby/object:Gem::Dependency
84
- name: colored
84
+ name: colorize
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.2'
89
+ version: '0.7'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.2'
96
+ version: '0.7'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: xcodeproj
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0.17'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.17'
111
- description: ! " A command-line tool that reorganizes your Xcode
112
- project folder to match your Xcode groups\n Synx parses your
113
- .xcodeproj to build the same group structure out on the file system.\n"
111
+ description: |2
112
+ A command-line tool that reorganizes your Xcode project folder to match your Xcode groups
113
+ Synx parses your .xcodeproj to build the same group structure out on the file system.
114
114
  email:
115
115
  - mark@venmo.com
116
116
  executables:
@@ -118,22 +118,23 @@ executables:
118
118
  extensions: []
119
119
  extra_rdoc_files: []
120
120
  files:
121
- - .gitignore
122
- - .travis.yml
121
+ - ".gitignore"
122
+ - ".travis.yml"
123
123
  - Gemfile
124
124
  - LICENSE.txt
125
125
  - README.md
126
126
  - Rakefile
127
127
  - bin/synx
128
128
  - lib/synx.rb
129
- - lib/synx/abstract_object.rb
130
- - lib/synx/abstract_target.rb
131
- - lib/synx/pbx_file_reference.rb
132
- - lib/synx/pbx_group.rb
133
- - lib/synx/pbx_variant_group.rb
134
129
  - lib/synx/project.rb
135
130
  - lib/synx/tabber.rb
136
131
  - lib/synx/version.rb
132
+ - lib/synx/xcodeproj_ext.rb
133
+ - lib/synx/xcodeproj_ext/project/object/abstract_object.rb
134
+ - lib/synx/xcodeproj_ext/project/object/abstract_target.rb
135
+ - lib/synx/xcodeproj_ext/project/object/pbx_file_reference.rb
136
+ - lib/synx/xcodeproj_ext/project/object/pbx_group.rb
137
+ - lib/synx/xcodeproj_ext/project/object/pbx_variant_group.rb
137
138
  - spec/dummy/dummy.xcodeproj/project.pbxproj
138
139
  - spec/dummy/dummy.xcodeproj/project.xcworkspace/contents.xcworkspacedata
139
140
  - spec/dummy/dummy.xcodeproj/xcuserdata/marklarsen.xcuserdatad/xcschemes/dummy.xcscheme
@@ -171,9 +172,9 @@ files:
171
172
  - spec/spec_helper.rb
172
173
  - spec/synx/expected_file_structure.yml
173
174
  - spec/synx/expected_group_structure.yml
174
- - spec/synx/pbx_group_spec.rb
175
175
  - spec/synx/project_spec.rb
176
176
  - spec/synx/tabber_spec.rb
177
+ - spec/synx/xcodeproj_ext/project/object/pbx_group_spec.rb
177
178
  - synx.gemspec
178
179
  homepage: https://github.com/venmo/synx
179
180
  licenses:
@@ -185,12 +186,12 @@ require_paths:
185
186
  - lib
186
187
  required_ruby_version: !ruby/object:Gem::Requirement
187
188
  requirements:
188
- - - ! '>='
189
+ - - ">="
189
190
  - !ruby/object:Gem::Version
190
191
  version: '0'
191
192
  required_rubygems_version: !ruby/object:Gem::Requirement
192
193
  requirements:
193
- - - ! '>='
194
+ - - ">="
194
195
  - !ruby/object:Gem::Version
195
196
  version: '0'
196
197
  requirements: []
@@ -238,7 +239,6 @@ test_files:
238
239
  - spec/spec_helper.rb
239
240
  - spec/synx/expected_file_structure.yml
240
241
  - spec/synx/expected_group_structure.yml
241
- - spec/synx/pbx_group_spec.rb
242
242
  - spec/synx/project_spec.rb
243
243
  - spec/synx/tabber_spec.rb
244
- has_rdoc:
244
+ - spec/synx/xcodeproj_ext/project/object/pbx_group_spec.rb