cocoapods-repo-sq 0.0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +13 -0
  4. data/CHANGES.md +0 -0
  5. data/CONTRIBUTING.md +4 -0
  6. data/Gemfile +12 -0
  7. data/LICENSE.txt +202 -0
  8. data/README.md +84 -0
  9. data/Rakefile +34 -0
  10. data/cocoapods-repo-sq.gemspec +45 -0
  11. data/doc/CocoapodsRepoSq/Downloader/Extensions.html +225 -0
  12. data/doc/CocoapodsRepoSq/Downloader.html +352 -0
  13. data/doc/CocoapodsRepoSq/DownloaderExtensions.html +227 -0
  14. data/doc/CocoapodsRepoSq/Repository.html +970 -0
  15. data/doc/CocoapodsRepoSq/RepositoryStore.html +962 -0
  16. data/doc/CocoapodsRepoSq/Source.html +342 -0
  17. data/doc/CocoapodsRepoSq/SquareExtensions.html +227 -0
  18. data/doc/CocoapodsRepoSq.html +149 -0
  19. data/doc/Pod/Command/RepoSq/Add.html +436 -0
  20. data/doc/Pod/Command/RepoSq/List.html +256 -0
  21. data/doc/Pod/Command/RepoSq/Remove.html +378 -0
  22. data/doc/Pod/Command/RepoSq/Update.html +380 -0
  23. data/doc/Pod/Command/RepoSq.html +157 -0
  24. data/doc/Pod/Command.html +137 -0
  25. data/doc/Pod/Downloader/Square.html +334 -0
  26. data/doc/Pod/Downloader/SquareExtensions.html +218 -0
  27. data/doc/Pod/Downloader.html +105 -0
  28. data/doc/Pod/SquareSource.html +416 -0
  29. data/doc/Pod.html +146 -0
  30. data/doc/_index.html +256 -0
  31. data/doc/class_list.html +51 -0
  32. data/doc/css/common.css +1 -0
  33. data/doc/css/full_list.css +58 -0
  34. data/doc/css/style.css +499 -0
  35. data/doc/file.README.html +132 -0
  36. data/doc/file_list.html +56 -0
  37. data/doc/frames.html +17 -0
  38. data/doc/index.html +132 -0
  39. data/doc/js/app.js +248 -0
  40. data/doc/js/full_list.js +216 -0
  41. data/doc/js/jquery.js +4 -0
  42. data/doc/method_list.html +291 -0
  43. data/doc/top-level-namespace.html +110 -0
  44. data/lib/cocoapods_plugin.rb +49 -0
  45. data/lib/cocoapods_repo_sq/downloader.rb +86 -0
  46. data/lib/cocoapods_repo_sq/repository.rb +109 -0
  47. data/lib/cocoapods_repo_sq/repository_store.rb +170 -0
  48. data/lib/cocoapods_repo_sq/source.rb +42 -0
  49. data/lib/cocoapods_repo_sq.rb +26 -0
  50. data/lib/pod/command/repo_sq/add.rb +87 -0
  51. data/lib/pod/command/repo_sq/list.rb +55 -0
  52. data/lib/pod/command/repo_sq/remove.rb +61 -0
  53. data/lib/pod/command/repo_sq/update.rb +62 -0
  54. data/lib/pod/command/repo_sq.rb +38 -0
  55. data/spec/spec_helper.rb +80 -0
  56. data/spec/test-repos/repo-1/.settings.yml +4 -0
  57. data/spec/test-repos/repo-2/.settings.yml +4 -0
  58. data/spec/unit/cocoapods_plugin_spec.rb +108 -0
  59. data/spec/unit/cocoapods_repo_sq/downloader_spec.rb +57 -0
  60. data/spec/unit/cocoapods_repo_sq/repository_spec.rb +57 -0
  61. data/spec/unit/cocoapods_repo_sq/repository_store_spec.rb +124 -0
  62. data/spec/unit/cocoapods_repo_sq/source_spec.rb +35 -0
  63. data/spec/unit/pod/command/add_spec.rb +73 -0
  64. data/spec/unit/pod/command/list_spec.rb +70 -0
  65. data/spec/unit/pod/command/remove_spec.rb +47 -0
  66. data/spec/unit/pod/command/update_spec.rb +49 -0
  67. metadata +184 -0
@@ -0,0 +1,35 @@
1
+ # coding: utf-8
2
+
3
+ # This source file is part of the cocoapods-repo-sq plugin under the Apache 2.0
4
+ # license:
5
+ #
6
+ # Copyright 2018 Square Inc.
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # =============================================================================
21
+
22
+ module CocoapodsRepoSq
23
+ describe Source do
24
+ before do
25
+ @repository = RepositoryStore.default.get('repo-1')
26
+ @source = Source.new(@repository)
27
+ end
28
+
29
+ it 'should set a proper path for the Source' do
30
+ @source = Source.new(@repository)
31
+ @source.repository.should.equal(@repository)
32
+ @source.repo.should.equal(Pathname(@repository.path))
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,73 @@
1
+ # coding: utf-8
2
+
3
+ # This source file is part of the cocoapods-repo-sq plugin under the Apache 2.0
4
+ # license:
5
+ #
6
+ # Copyright 2018 Square Inc.
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # =============================================================================
21
+
22
+ module Pod
23
+ describe Command::RepoSq::Add do
24
+ before { UI.reset }
25
+
26
+ it 'it is returned by running `pod repo-sq add ...`' do
27
+ Command.parse(%w(repo-sq add)).should.be.instance_of Command::RepoSq::Add
28
+ end
29
+
30
+ it 'it shows an error message when there are missing arguments' do
31
+ argv = CLAide::ARGV.new(%w(repo-1 app-4))
32
+ command = Command::RepoSq::Add.new(argv)
33
+ lambda{ command.validate! }.
34
+ should.raise(CLAide::Help).
35
+ message.should.match /Adding a Square SDK repository needs a `NAME`, `USERNAME` and a `PASSWORD`./
36
+ end
37
+
38
+ it 'invokes CocoapodsRepoSq::RepositoryStore.add with default URL' do
39
+ repository = mock('repo')
40
+ repository.expects(:update_specs)
41
+ argv = CLAide::ARGV.new(%w(repo-1 app-4 pass-4))
42
+ command = Command::RepoSq::Add.new(argv)
43
+ CocoapodsRepoSq::RepositoryStore.default.expects(:register).with('repo-1', 'app-4', 'pass-4', Command::RepoSq::Add::DEFAULT_URL).returns(repository)
44
+ command.run
45
+ UI.output.should.equal ["Adding Square SDK repository `repo-1`\n"]
46
+ UI.warnings.should.equal []
47
+ end
48
+
49
+ it 'invokes CocoapodsRepoSq::RepositoryStore.add with custom URL when present' do
50
+ repository = mock('repo')
51
+ repository.expects(:update_specs)
52
+ argv = CLAide::ARGV.new(%w(repo-1 app-4 pass-4 custom-url))
53
+ command = Command::RepoSq::Add.new(argv)
54
+ CocoapodsRepoSq::RepositoryStore.default.expects(:register).with('repo-1', 'app-4', 'pass-4', 'custom-url').returns(repository)
55
+ command.run
56
+ UI.output.should.equal ["Adding Square SDK repository `repo-1`\n"]
57
+ UI.warnings.should.equal []
58
+ end
59
+
60
+ it 'cleans repository path if it fails to download specs' do
61
+ error = StandardError.new('error')
62
+ repository = mock('repo')
63
+ repository.expects(:update_specs).raises(error)
64
+ argv = CLAide::ARGV.new(%w(fail-1 app-4 pass-4))
65
+ command = Command::RepoSq::Add.new(argv)
66
+ CocoapodsRepoSq::RepositoryStore.default.expects(:register).with('fail-1', 'app-4', 'pass-4', Command::RepoSq::Add::DEFAULT_URL).returns(repository)
67
+ lambda{ command.run }.
68
+ should.raise(Informative)
69
+ UI.output.should.equal ["Adding Square SDK repository `fail-1`\n"]
70
+ UI.warnings.should.equal []
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,70 @@
1
+ # coding: utf-8
2
+
3
+ # This source file is part of the cocoapods-repo-sq plugin under the Apache 2.0
4
+ # license:
5
+ #
6
+ # Copyright 2018 Square Inc.
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # =============================================================================
21
+
22
+ module Pod
23
+ describe Command::RepoSq::List do
24
+ before { UI.reset }
25
+
26
+ it 'it is returned by running `pod repo-sq`' do
27
+ Command.parse(%w(repo-sq)).should.be.instance_of Command::RepoSq::List
28
+ end
29
+
30
+ it 'it is returned by running `pod repo-sq list`' do
31
+ Command.parse(%w(repo-sq list)).should.be.instance_of Command::RepoSq::List
32
+ end
33
+
34
+ it 'lists one repository when one present' do
35
+ argv = CLAide::ARGV.new([])
36
+ command = Command::RepoSq::List.new(argv)
37
+ repository = CocoapodsRepoSq::Repository.new('repo-4', 'app-4', 'pass-4', 'http://app4.com', '/path/to/repo4')
38
+ CocoapodsRepoSq::RepositoryStore.default.expects(:list).returns([repository])
39
+ command.run
40
+ UI.output.should.equal [
41
+ "\e[33m\nSquare SDK repository: repo-4\e[0m\n",
42
+ " - URL: http://app4.com\n",
43
+ " - Path: /path/to/repo4\n",
44
+ "\n\n",
45
+ "\e[32m1 repository\e[0m\n"
46
+ ]
47
+ UI.warnings.should.equal []
48
+ end
49
+
50
+ it 'lists multiple repositories when present' do
51
+ argv = CLAide::ARGV.new([])
52
+ command = Command::RepoSq::List.new(argv)
53
+ repository_1 = CocoapodsRepoSq::Repository.new('repo-4', 'app-4', 'pass-4', 'http://app4.com', '/path/to/repo4')
54
+ repository_2 = CocoapodsRepoSq::Repository.new('repo-5', 'app-5', 'pass-5', 'http://app5.com', '/path/to/repo5')
55
+ CocoapodsRepoSq::RepositoryStore.default.expects(:list).returns([repository_1, repository_2])
56
+ command.run
57
+ UI.output.should.equal [
58
+ "\e[33m\nSquare SDK repository: repo-4\e[0m\n",
59
+ " - URL: http://app4.com\n",
60
+ " - Path: /path/to/repo4\n",
61
+ "\e[33m\nSquare SDK repository: repo-5\e[0m\n",
62
+ " - URL: http://app5.com\n",
63
+ " - Path: /path/to/repo5\n",
64
+ "\n\n",
65
+ "\e[32m2 repositories\e[0m\n"
66
+ ]
67
+ UI.warnings.should.equal []
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,47 @@
1
+ # coding: utf-8
2
+
3
+ # This source file is part of the cocoapods-repo-sq plugin under the Apache 2.0
4
+ # license:
5
+ #
6
+ # Copyright 2018 Square Inc.
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # =============================================================================
21
+
22
+ module Pod
23
+ describe Command::RepoSq::Remove do
24
+ before { UI.reset }
25
+
26
+ it 'it is returned by running `pod repo-sq remove ...`' do
27
+ Command.parse(%w(repo-sq remove)).should.be.instance_of Command::RepoSq::Remove
28
+ end
29
+
30
+ it 'it shows an error message when there are missing arguments' do
31
+ argv = CLAide::ARGV.new([])
32
+ command = Command::RepoSq::Remove.new(argv)
33
+ lambda{ command.validate! }.
34
+ should.raise(CLAide::Help).
35
+ message.should.match /`NAME` is required./
36
+ end
37
+
38
+ it 'removes repository from the store' do
39
+ argv = CLAide::ARGV.new(%w(repo-4))
40
+ command = Command::RepoSq::Remove.new(argv)
41
+ CocoapodsRepoSq::RepositoryStore.default.expects(:remove).with('repo-4')
42
+ command.run
43
+ UI.output.should.equal ["Removing Square SDK repository `repo-4`\n"]
44
+ UI.warnings.should.equal []
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,49 @@
1
+ # coding: utf-8
2
+
3
+ # This source file is part of the cocoapods-repo-sq plugin under the Apache 2.0
4
+ # license:
5
+ #
6
+ # Copyright 2018 Square Inc.
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+ # =============================================================================
21
+
22
+ module Pod
23
+ describe Command::RepoSq::Update do
24
+ before { UI.reset }
25
+
26
+ it 'it is returned by running `pod repo-sq update ...`' do
27
+ Command.parse(%w(repo-sq update)).should.be.instance_of Command::RepoSq::Update
28
+ end
29
+
30
+ it 'it shows an error message when there are missing arguments' do
31
+ argv = CLAide::ARGV.new([])
32
+ command = Command::RepoSq::Update.new(argv)
33
+ lambda{ command.validate! }.
34
+ should.raise(CLAide::Help).
35
+ message.should.match /`NAME` is required./
36
+ end
37
+
38
+ it 'updates repository from the store' do
39
+ repository = mock('repo')
40
+ repository.expects(:update_specs)
41
+ argv = CLAide::ARGV.new(%w(repo-4))
42
+ command = Command::RepoSq::Update.new(argv)
43
+ CocoapodsRepoSq::RepositoryStore.default.expects(:get).with('repo-4').returns(repository)
44
+ command.run
45
+ UI.output.should.equal ["Updating Square SDK repository `repo-4`\n"]
46
+ UI.warnings.should.equal []
47
+ end
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,184 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cocoapods-repo-sq
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.6
5
+ platform: ruby
6
+ authors:
7
+ - Square, Inc.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-05-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cocoapods
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.4.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.4.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.3'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.3'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '12.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '12.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: yard
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.9'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.9'
75
+ description: Support for Square SDK Repositories on Cocoapods
76
+ email:
77
+ - developers@squareup.com
78
+ executables: []
79
+ extensions: []
80
+ extra_rdoc_files: []
81
+ files:
82
+ - ".gitignore"
83
+ - ".travis.yml"
84
+ - CHANGES.md
85
+ - CONTRIBUTING.md
86
+ - Gemfile
87
+ - LICENSE.txt
88
+ - README.md
89
+ - Rakefile
90
+ - cocoapods-repo-sq.gemspec
91
+ - doc/CocoapodsRepoSq.html
92
+ - doc/CocoapodsRepoSq/Downloader.html
93
+ - doc/CocoapodsRepoSq/Downloader/Extensions.html
94
+ - doc/CocoapodsRepoSq/DownloaderExtensions.html
95
+ - doc/CocoapodsRepoSq/Repository.html
96
+ - doc/CocoapodsRepoSq/RepositoryStore.html
97
+ - doc/CocoapodsRepoSq/Source.html
98
+ - doc/CocoapodsRepoSq/SquareExtensions.html
99
+ - doc/Pod.html
100
+ - doc/Pod/Command.html
101
+ - doc/Pod/Command/RepoSq.html
102
+ - doc/Pod/Command/RepoSq/Add.html
103
+ - doc/Pod/Command/RepoSq/List.html
104
+ - doc/Pod/Command/RepoSq/Remove.html
105
+ - doc/Pod/Command/RepoSq/Update.html
106
+ - doc/Pod/Downloader.html
107
+ - doc/Pod/Downloader/Square.html
108
+ - doc/Pod/Downloader/SquareExtensions.html
109
+ - doc/Pod/SquareSource.html
110
+ - doc/_index.html
111
+ - doc/class_list.html
112
+ - doc/css/common.css
113
+ - doc/css/full_list.css
114
+ - doc/css/style.css
115
+ - doc/file.README.html
116
+ - doc/file_list.html
117
+ - doc/frames.html
118
+ - doc/index.html
119
+ - doc/js/app.js
120
+ - doc/js/full_list.js
121
+ - doc/js/jquery.js
122
+ - doc/method_list.html
123
+ - doc/top-level-namespace.html
124
+ - lib/cocoapods_plugin.rb
125
+ - lib/cocoapods_repo_sq.rb
126
+ - lib/cocoapods_repo_sq/downloader.rb
127
+ - lib/cocoapods_repo_sq/repository.rb
128
+ - lib/cocoapods_repo_sq/repository_store.rb
129
+ - lib/cocoapods_repo_sq/source.rb
130
+ - lib/pod/command/repo_sq.rb
131
+ - lib/pod/command/repo_sq/add.rb
132
+ - lib/pod/command/repo_sq/list.rb
133
+ - lib/pod/command/repo_sq/remove.rb
134
+ - lib/pod/command/repo_sq/update.rb
135
+ - spec/spec_helper.rb
136
+ - spec/test-repos/repo-1/.settings.yml
137
+ - spec/test-repos/repo-2/.settings.yml
138
+ - spec/unit/cocoapods_plugin_spec.rb
139
+ - spec/unit/cocoapods_repo_sq/downloader_spec.rb
140
+ - spec/unit/cocoapods_repo_sq/repository_spec.rb
141
+ - spec/unit/cocoapods_repo_sq/repository_store_spec.rb
142
+ - spec/unit/cocoapods_repo_sq/source_spec.rb
143
+ - spec/unit/pod/command/add_spec.rb
144
+ - spec/unit/pod/command/list_spec.rb
145
+ - spec/unit/pod/command/remove_spec.rb
146
+ - spec/unit/pod/command/update_spec.rb
147
+ homepage: https://github.com/square/cocoapods-repo-sq
148
+ licenses:
149
+ - Apache-2.0
150
+ metadata: {}
151
+ post_install_message:
152
+ rdoc_options: []
153
+ require_paths:
154
+ - lib
155
+ required_ruby_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ requirements: []
166
+ rubyforge_project:
167
+ rubygems_version: 2.7.6
168
+ signing_key:
169
+ specification_version: 4
170
+ summary: Support for Square SDK Repositories on Cocoapods. For more information see
171
+ https://docs.connect.squareup.com
172
+ test_files:
173
+ - spec/spec_helper.rb
174
+ - spec/test-repos/repo-1/.settings.yml
175
+ - spec/test-repos/repo-2/.settings.yml
176
+ - spec/unit/cocoapods_plugin_spec.rb
177
+ - spec/unit/cocoapods_repo_sq/downloader_spec.rb
178
+ - spec/unit/cocoapods_repo_sq/repository_spec.rb
179
+ - spec/unit/cocoapods_repo_sq/repository_store_spec.rb
180
+ - spec/unit/cocoapods_repo_sq/source_spec.rb
181
+ - spec/unit/pod/command/add_spec.rb
182
+ - spec/unit/pod/command/list_spec.rb
183
+ - spec/unit/pod/command/remove_spec.rb
184
+ - spec/unit/pod/command/update_spec.rb