cocoapods-search 0.1.0 → 1.0.0.beta.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.
- checksums.yaml +4 -4
- data/.gitignore +39 -3
- data/.gitmodules +3 -0
- data/CHANGELOG.md +28 -3
- data/Gemfile +2 -1
- data/Gemfile.lock +46 -30
- data/README.md +90 -10
- data/lib/cocoapods-search/command/search.rb +36 -31
- data/lib/cocoapods-search/gem_version.rb +1 -1
- data/spec/command/search_spec.rb +38 -6
- data/spec/spec_helper/command.rb +1 -1
- metadata +13 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0198d41884a61de7016672ff216b88f0d33fe4db
|
|
4
|
+
data.tar.gz: f94a2140642899f157698f24e55eb87e1fdcd152
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7b58ee34881df2bf3b021035e03afebdfedf7087e4dd046f4141f0f0ea95e18217b603f0051e15d190efea41798b9f2a0080825f47af18aa8e336e966160e974
|
|
7
|
+
data.tar.gz: 180202787917d8ee404a2578034f93ad1462778f20775037e6a48cd8fe7913f19674b5236a74fe1c8bdef07b04ae177d101cc490c1f70236e123bc90563a554d
|
data/.gitignore
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
*.gem
|
|
2
|
+
*.rbc
|
|
3
|
+
/.config
|
|
4
|
+
/coverage/
|
|
5
|
+
/InstalledFiles
|
|
6
|
+
/pkg/
|
|
7
|
+
/spec/reports/
|
|
8
|
+
/test/tmp/
|
|
9
|
+
/test/version_tmp/
|
|
10
|
+
/tmp/
|
|
11
|
+
|
|
12
|
+
## Specific to RubyMotion:
|
|
13
|
+
.dat*
|
|
14
|
+
.repl_history
|
|
15
|
+
build/
|
|
16
|
+
|
|
17
|
+
## Documentation cache and generated files:
|
|
18
|
+
/.yardoc/
|
|
19
|
+
/_yardoc/
|
|
20
|
+
/doc/
|
|
21
|
+
/rdoc/
|
|
22
|
+
|
|
23
|
+
## Environment normalisation:
|
|
24
|
+
/.bundle/
|
|
25
|
+
/lib/bundler/man/
|
|
26
|
+
|
|
27
|
+
# for a library or gem, you might want to ignore these files since the code is
|
|
28
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
29
|
+
# Gemfile.lock
|
|
30
|
+
# .ruby-version
|
|
31
|
+
# .ruby-gemset
|
|
32
|
+
|
|
33
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
|
34
|
+
.rvmrc
|
|
35
|
+
|
|
36
|
+
/coverage/
|
|
37
|
+
|
|
38
|
+
# RubyMine Editor
|
|
39
|
+
.idea
|
data/.gitmodules
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -1,15 +1,40 @@
|
|
|
1
1
|
# Cocoapods::Search Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.0.beta.1 (2015-12-30)
|
|
4
|
+
|
|
5
|
+
##### Enhancements
|
|
6
|
+
|
|
7
|
+
* Perform full search as default, add `--simple` option to search only by
|
|
8
|
+
name.
|
|
9
|
+
[Muhammed Yavuz Nuzumlalı](https://github.com/manuyavuz)
|
|
10
|
+
[#13](https://github.com/CocoaPods/cocoapods-search/issues/13)
|
|
11
|
+
|
|
12
|
+
* Add support for tvOS and any possible future platforms.
|
|
13
|
+
[Muhammed Yavuz Nuzumlalı](https://github.com/manuyavuz)
|
|
14
|
+
[#11](https://github.com/CocoaPods/cocoapods-search/issues/11)
|
|
15
|
+
|
|
16
|
+
##### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* Print output in reverse order.
|
|
19
|
+
[Muhammed Yavuz Nuzumlalı](https://github.com/manuyavuz)
|
|
20
|
+
|
|
21
|
+
* Perform regexp escape on individual query words before joining them.
|
|
22
|
+
[Muhammed Yavuz Nuzumlalı](https://github.com/manuyavuz)
|
|
23
|
+
[#8](https://github.com/CocoaPods/cocoapods-search/issues/8)
|
|
24
|
+
|
|
25
|
+
|
|
3
26
|
## 0.1.0 (2015-09-03)
|
|
27
|
+
|
|
4
28
|
* Version number must not collide with old gem called cocoapods-search 0.0.7
|
|
5
29
|
|
|
30
|
+
|
|
6
31
|
## 0.0.1 (2015-09-03)
|
|
7
32
|
|
|
8
|
-
* Initial implementation. This version is an extraction from [CocoaPods](https://github.com/CocoaPods/CocoaPods).
|
|
33
|
+
* Initial implementation. This version is an extraction from [CocoaPods](https://github.com/CocoaPods/CocoaPods).
|
|
9
34
|
|
|
10
|
-
Original creators:
|
|
35
|
+
Original creators:
|
|
11
36
|
[Eloy Durán](https://github.com/alloy)
|
|
12
37
|
[Fabio Pelosin](https://github.com/fabiopelosin)
|
|
13
38
|
|
|
14
39
|
Extractor:
|
|
15
|
-
[Emma Koszinowski](http://github.com/emkosz)
|
|
40
|
+
[Emma Koszinowski](http://github.com/emkosz)
|
data/Gemfile
CHANGED
|
@@ -4,7 +4,8 @@ source 'https://rubygems.org'
|
|
|
4
4
|
gemspec
|
|
5
5
|
|
|
6
6
|
group :development do
|
|
7
|
-
gem 'cocoapods'
|
|
7
|
+
gem 'cocoapods', :git => "https://github.com/CocoaPods/CocoaPods.git", :branch => 'master'
|
|
8
|
+
gem 'cocoapods-core', :git => "https://github.com/CocoaPods/Core.git", :branch => 'master'
|
|
8
9
|
gem 'bacon'
|
|
9
10
|
gem 'mocha-on-bacon'
|
|
10
11
|
gem 'prettybacon'
|
data/Gemfile.lock
CHANGED
|
@@ -1,12 +1,43 @@
|
|
|
1
|
+
GIT
|
|
2
|
+
remote: https://github.com/CocoaPods/CocoaPods.git
|
|
3
|
+
revision: 6c64eeb69443d9ab18081ad330a134cfb0e46169
|
|
4
|
+
branch: master
|
|
5
|
+
specs:
|
|
6
|
+
cocoapods (0.39.0)
|
|
7
|
+
activesupport (>= 4.0.2)
|
|
8
|
+
claide (~> 0.9.1)
|
|
9
|
+
cocoapods-core (= 0.39.0)
|
|
10
|
+
cocoapods-downloader (~> 0.9.3)
|
|
11
|
+
cocoapods-plugins (~> 0.4.2)
|
|
12
|
+
cocoapods-search (~> 1.0.0.beta.1)
|
|
13
|
+
cocoapods-stats (~> 0.6.2)
|
|
14
|
+
cocoapods-trunk (~> 0.6.4)
|
|
15
|
+
cocoapods-try (~> 0.5.1)
|
|
16
|
+
colored (~> 1.2)
|
|
17
|
+
escape (~> 0.0.4)
|
|
18
|
+
molinillo (~> 0.4.0)
|
|
19
|
+
nap (~> 1.0)
|
|
20
|
+
xcodeproj (~> 0.28.2)
|
|
21
|
+
|
|
22
|
+
GIT
|
|
23
|
+
remote: https://github.com/CocoaPods/Core.git
|
|
24
|
+
revision: 6c2544496ed201104e712dd95793ec7bc6a171e8
|
|
25
|
+
branch: master
|
|
26
|
+
specs:
|
|
27
|
+
cocoapods-core (0.39.0)
|
|
28
|
+
activesupport (>= 4.0.2)
|
|
29
|
+
fuzzy_match (~> 2.0.4)
|
|
30
|
+
nap (~> 1.0)
|
|
31
|
+
|
|
1
32
|
PATH
|
|
2
33
|
remote: .
|
|
3
34
|
specs:
|
|
4
|
-
cocoapods-search (0.1
|
|
35
|
+
cocoapods-search (1.0.0.beta.1)
|
|
5
36
|
|
|
6
37
|
GEM
|
|
7
38
|
remote: https://rubygems.org/
|
|
8
39
|
specs:
|
|
9
|
-
activesupport (4.2.
|
|
40
|
+
activesupport (4.2.4)
|
|
10
41
|
i18n (~> 0.7)
|
|
11
42
|
json (~> 1.7, >= 1.7.7)
|
|
12
43
|
minitest (~> 5.1)
|
|
@@ -14,33 +45,14 @@ GEM
|
|
|
14
45
|
tzinfo (~> 1.1)
|
|
15
46
|
bacon (1.2.0)
|
|
16
47
|
claide (0.9.1)
|
|
17
|
-
cocoapods (0.
|
|
18
|
-
activesupport (>= 3.2.15)
|
|
19
|
-
claide (~> 0.9.1)
|
|
20
|
-
cocoapods-core (= 0.38.2)
|
|
21
|
-
cocoapods-downloader (~> 0.9.1)
|
|
22
|
-
cocoapods-plugins (~> 0.4.2)
|
|
23
|
-
cocoapods-stats (~> 0.5.3)
|
|
24
|
-
cocoapods-trunk (~> 0.6.1)
|
|
25
|
-
cocoapods-try (~> 0.4.5)
|
|
26
|
-
colored (~> 1.2)
|
|
27
|
-
escape (~> 0.0.4)
|
|
28
|
-
molinillo (~> 0.3.1)
|
|
29
|
-
nap (~> 0.8)
|
|
30
|
-
xcodeproj (~> 0.26.3)
|
|
31
|
-
cocoapods-core (0.38.2)
|
|
32
|
-
activesupport (>= 3.2.15)
|
|
33
|
-
fuzzy_match (~> 2.0.4)
|
|
34
|
-
nap (~> 0.8.0)
|
|
35
|
-
cocoapods-downloader (0.9.1)
|
|
48
|
+
cocoapods-downloader (0.9.3)
|
|
36
49
|
cocoapods-plugins (0.4.2)
|
|
37
50
|
nap
|
|
38
|
-
cocoapods-stats (0.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
nap (>= 0.8)
|
|
51
|
+
cocoapods-stats (0.6.2)
|
|
52
|
+
cocoapods-trunk (0.6.4)
|
|
53
|
+
nap (>= 0.8, < 2.0)
|
|
42
54
|
netrc (= 0.7.8)
|
|
43
|
-
cocoapods-try (0.
|
|
55
|
+
cocoapods-try (0.5.1)
|
|
44
56
|
colored (1.2)
|
|
45
57
|
escape (0.0.4)
|
|
46
58
|
fuzzy_match (2.0.4)
|
|
@@ -52,8 +64,8 @@ GEM
|
|
|
52
64
|
metaclass (~> 0.0.1)
|
|
53
65
|
mocha-on-bacon (0.2.2)
|
|
54
66
|
mocha (>= 0.13.0)
|
|
55
|
-
molinillo (0.
|
|
56
|
-
nap (0.
|
|
67
|
+
molinillo (0.4.0)
|
|
68
|
+
nap (1.0.0)
|
|
57
69
|
netrc (0.7.8)
|
|
58
70
|
prettybacon (0.0.2)
|
|
59
71
|
bacon (~> 1.2)
|
|
@@ -61,7 +73,7 @@ GEM
|
|
|
61
73
|
thread_safe (0.3.5)
|
|
62
74
|
tzinfo (1.2.2)
|
|
63
75
|
thread_safe (~> 0.1)
|
|
64
|
-
xcodeproj (0.
|
|
76
|
+
xcodeproj (0.28.2)
|
|
65
77
|
activesupport (>= 3)
|
|
66
78
|
claide (~> 0.9.1)
|
|
67
79
|
colored (~> 1.2)
|
|
@@ -72,8 +84,12 @@ PLATFORMS
|
|
|
72
84
|
DEPENDENCIES
|
|
73
85
|
bacon
|
|
74
86
|
bundler (~> 1.3)
|
|
75
|
-
cocoapods
|
|
87
|
+
cocoapods!
|
|
88
|
+
cocoapods-core!
|
|
76
89
|
cocoapods-search!
|
|
77
90
|
mocha-on-bacon
|
|
78
91
|
prettybacon
|
|
79
92
|
rake
|
|
93
|
+
|
|
94
|
+
BUNDLED WITH
|
|
95
|
+
1.11.2
|
data/README.md
CHANGED
|
@@ -2,25 +2,105 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://travis-ci.org/CocoaPods/cocoapods-search)
|
|
4
4
|
|
|
5
|
-
CocoaPods plugin that allows you to search
|
|
6
|
-
|
|
5
|
+
A CocoaPods plugin that allows you to search multiple pod spec repositories for specific pods matching a query. cocoapods-search is by default included in CocoaPods.
|
|
6
|
+
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
|
+
If you have CocoaPods, you already have cocoapods-search installed by default. If not, you can also install it as a seperate gem as followed.
|
|
10
|
+
|
|
9
11
|
$ gem install cocoapods-search
|
|
10
12
|
|
|
11
13
|
## Usage
|
|
12
14
|
|
|
15
|
+
Search for pods by using the pod search command as followed.
|
|
16
|
+
|
|
13
17
|
$ pod search QUERY
|
|
14
18
|
|
|
19
|
+
e.g.
|
|
20
|
+
|
|
21
|
+
$ pod search networkin
|
|
22
|
+
|
|
23
|
+
-> ACSNetworking (0.0.1)
|
|
24
|
+
On the basis of AFNetworking encapsulation.
|
|
25
|
+
pod 'ACSNetworking', '~> 0.0.1'
|
|
26
|
+
- Homepage: https://github.com/Hyosung/ACSNetworking
|
|
27
|
+
- Source: https://github.com/Hyosung/ACSNetworking.git
|
|
28
|
+
- Versions: 0.0.1 [master repo]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
-> AFNetworking (2.5.4)
|
|
32
|
+
A delightful iOS and OS X networking framework.
|
|
33
|
+
pod 'AFNetworking', '~> 2.5.4'
|
|
34
|
+
- Homepage: https://github.com/AFNetworking/AFNetworking
|
|
35
|
+
- Source: https://github.com/AFNetworking/AFNetworking.git
|
|
36
|
+
- Versions: 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3,
|
|
37
|
+
2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0,
|
|
38
|
+
0.5.1 [master repo]
|
|
39
|
+
- Subspecs:
|
|
40
|
+
- AFNetworking/Serialization (2.5.4)
|
|
41
|
+
- AFNetworking/Security (2.5.4)
|
|
42
|
+
- AFNetworking/Reachability (2.5.4)
|
|
43
|
+
- AFNetworking/NSURLConnection (2.5.4)
|
|
44
|
+
- AFNetworking/NSURLSession (2.5.4)
|
|
45
|
+
- AFNetworking/UIKit (2.5.4)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
-> AFNetworking+AutoRetry (0.0.5)
|
|
49
|
+
Auto Retries for AFNetworking requests
|
|
50
|
+
pod 'AFNetworking+AutoRetry', '~> 0.0.5'
|
|
51
|
+
- Homepage: https://github.com/shaioz/AFNetworking-AutoRetry
|
|
52
|
+
- Source: https://github.com/shaioz/AFNetworking-AutoRetry.git
|
|
53
|
+
- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]
|
|
54
|
+
|
|
55
|
+
...
|
|
56
|
+
|
|
57
|
+
|
|
15
58
|
### Options
|
|
16
59
|
|
|
17
60
|
You can use the following options with the search command.
|
|
18
61
|
|
|
19
|
-
| Flag
|
|
20
|
-
|
|
21
|
-
| `--regex`
|
|
22
|
-
| `--full`
|
|
23
|
-
| `--stats`
|
|
24
|
-
| `--ios`
|
|
25
|
-
| `--osx`
|
|
26
|
-
| `--
|
|
62
|
+
| Flag | Description |
|
|
63
|
+
|----------- |-------------|
|
|
64
|
+
| `--regex` | Interpret the `QUERY` as a regular expression |
|
|
65
|
+
| `--full` | Search by name, summary, and description |
|
|
66
|
+
| `--stats` | Show additional stats (like GitHub watchers and forks) |
|
|
67
|
+
| `--ios` | Restricts the search to Pods supported on iOS |
|
|
68
|
+
| `--osx` | Restricts the search to Pods supported on OS X |
|
|
69
|
+
| `--watchos` | Restricts the seach to Pods supported on Watch OS |
|
|
70
|
+
| `--web` | Opens a new search on cocoapods.org |
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
e.g.
|
|
74
|
+
|
|
75
|
+
$ pod search video --osx
|
|
76
|
+
|
|
77
|
+
-> AMCoreAudio (2.0.7)
|
|
78
|
+
AMCoreAudio is a Swift wrapper for Apple's CoreAudio framework
|
|
79
|
+
pod 'AMCoreAudio', '~> 2.0.7'
|
|
80
|
+
- Homepage: https://github.com/rnine/AMCoreAudio
|
|
81
|
+
- Source: https://github.com/rnine/AMCoreAudio.git
|
|
82
|
+
- Versions: 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0, 1.5, 1.4.3, 1.4.2, 1.4.1, 1.4, 1.3.2, 1.3.1, 1.3, 1.2, 1.1, 1.0.1, 1.0 [master repo]
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
-> AppleCoreAudioUtilityClasses@thehtb (2013.09.17)
|
|
86
|
+
A git mirror of Apple's Core Audio Utility Classes for better versioning and with clang/llvm fixes.
|
|
87
|
+
pod 'AppleCoreAudioUtilityClasses@thehtb', '~> 2013.09.17'
|
|
88
|
+
- Homepage: https://github.com/thehtb/AppleCoreAudioUtilityClasses
|
|
89
|
+
- Source: https://github.com/thehtb/AppleCoreAudioUtilityClasses.git
|
|
90
|
+
- Versions: 2013.09.17, 2013.2.18, 2013.1.2 [master repo]
|
|
91
|
+
- Subspecs:
|
|
92
|
+
- AppleCoreAudioUtilityClasses@thehtb/PublicUtility (2013.09.17)
|
|
93
|
+
- AppleCoreAudioUtilityClasses@thehtb/PublicUtility/CAProcess (2013.09.17)
|
|
94
|
+
- AppleCoreAudioUtilityClasses@thehtb/PublicUtility/CAAutoDisposer (2013.09.17)
|
|
95
|
+
- AppleCoreAudioUtilityClasses@thehtb/PublicUtility/CABitOperations (2013.09.17)
|
|
96
|
+
- AppleCoreAudioUtilityClasses@thehtb/PublicUtility/CASpectralProcessor (2013.09.17)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
-> AudioKit (2.1.1)
|
|
100
|
+
Open-source audio synthesis, processing, & analysis platform.
|
|
101
|
+
pod 'AudioKit', '~> 2.1.1'
|
|
102
|
+
- Homepage: http://audiokit.io/
|
|
103
|
+
- Source: https://github.com/audiokit/AudioKit.git
|
|
104
|
+
- Versions: 2.1.1, 2.0.1, 2.0, 1.3, 1.2-01, 1.2 [master repo]
|
|
105
|
+
|
|
106
|
+
...
|
|
@@ -4,9 +4,8 @@ module Pod
|
|
|
4
4
|
self.summary = 'Search for pods.'
|
|
5
5
|
|
|
6
6
|
self.description = <<-DESC
|
|
7
|
-
Searches for pods, ignoring case, whose name
|
|
8
|
-
`--
|
|
9
|
-
description of the pods.
|
|
7
|
+
Searches for pods, ignoring case, whose name, summary, description, or authors match `QUERY`. If the
|
|
8
|
+
`--simple` option is specified, this will only search in the names of the pods.
|
|
10
9
|
DESC
|
|
11
10
|
|
|
12
11
|
self.arguments = [
|
|
@@ -14,27 +13,30 @@ module Pod
|
|
|
14
13
|
]
|
|
15
14
|
|
|
16
15
|
def self.options
|
|
17
|
-
[
|
|
16
|
+
options = [
|
|
18
17
|
['--regex', 'Interpret the `QUERY` as a regular expression'],
|
|
19
|
-
['--
|
|
18
|
+
['--simple', 'Search only by name'],
|
|
20
19
|
['--stats', 'Show additional stats (like GitHub watchers and forks)'],
|
|
21
|
-
['--ios', 'Restricts the search to Pods supported on iOS'],
|
|
22
|
-
['--osx', 'Restricts the search to Pods supported on OS X'],
|
|
23
|
-
['--watchos', 'Restricts the search to Pods supported on Watch OS'],
|
|
24
20
|
['--web', 'Searches on cocoapods.org'],
|
|
25
|
-
]
|
|
21
|
+
]
|
|
22
|
+
options += Platform.all.map do |platform|
|
|
23
|
+
["--#{platform.name.to_s}", "Restricts the search to Pods supported on #{Platform.string_name(platform.to_sym)}"]
|
|
24
|
+
end
|
|
25
|
+
options << ['--no-pager', 'Do not pipe search results into a pager']
|
|
26
|
+
options.concat(super.reject { |option, _| option == '--silent' })
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
def initialize(argv)
|
|
29
30
|
@use_regex = argv.flag?('regex')
|
|
30
|
-
@
|
|
31
|
+
@simple_search = argv.flag?('simple')
|
|
31
32
|
@stats = argv.flag?('stats')
|
|
32
|
-
@supported_on_ios = argv.flag?('ios')
|
|
33
|
-
@supported_on_osx = argv.flag?('osx')
|
|
34
|
-
@supported_on_watchos = argv.flag?('watchos')
|
|
35
33
|
@web = argv.flag?('web')
|
|
34
|
+
@platform_filters = Platform.all.map do |platform|
|
|
35
|
+
argv.flag?(platform.name.to_s) ? platform.to_sym : nil
|
|
36
|
+
end.compact
|
|
36
37
|
@query = argv.arguments! unless argv.arguments.empty?
|
|
37
38
|
config.silent = false
|
|
39
|
+
@use_pager = argv.flag?('pager', true)
|
|
38
40
|
super
|
|
39
41
|
end
|
|
40
42
|
|
|
@@ -61,33 +63,36 @@ module Pod
|
|
|
61
63
|
end
|
|
62
64
|
|
|
63
65
|
def web_search
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
].compact.flatten.join(' ')
|
|
66
|
+
queries = @platform_filters.map do |platform|
|
|
67
|
+
"on:#{platform}"
|
|
68
|
+
end
|
|
69
|
+
queries += @query
|
|
70
|
+
query_parameter = queries.compact.flatten.join(' ')
|
|
70
71
|
url = "https://cocoapods.org/?q=#{CGI.escape(query_parameter).gsub('+', '%20')}"
|
|
71
72
|
UI.puts("Opening #{url}")
|
|
72
73
|
open!(url)
|
|
73
74
|
end
|
|
74
75
|
|
|
75
76
|
def local_search
|
|
76
|
-
query_regex = @query.
|
|
77
|
-
|
|
77
|
+
query_regex = @query.reduce([]) { |result, q|
|
|
78
|
+
result << (@use_regex ? q : Regexp.escape(q))
|
|
79
|
+
}.join(' ').strip
|
|
78
80
|
|
|
79
|
-
sets = SourcesManager.search_by_name(query_regex,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
if @supported_on_osx
|
|
84
|
-
sets.reject! { |set| !set.specification.available_platforms.map(&:name).include?(:osx) }
|
|
81
|
+
sets = SourcesManager.search_by_name(query_regex, !@simple_search)
|
|
82
|
+
|
|
83
|
+
@platform_filters.each do |platform|
|
|
84
|
+
sets.reject! { |set| !set.specification.available_platforms.map(&:name).include?(platform) }
|
|
85
85
|
end
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
|
|
87
|
+
if(@use_pager)
|
|
88
|
+
UI.with_pager { print_sets(sets) }
|
|
89
|
+
else
|
|
90
|
+
print_sets(sets)
|
|
88
91
|
end
|
|
92
|
+
end
|
|
89
93
|
|
|
90
|
-
|
|
94
|
+
def print_sets(sets)
|
|
95
|
+
sets.each do |set|
|
|
91
96
|
begin
|
|
92
97
|
if @stats
|
|
93
98
|
UI.pod(set, :stats)
|
|
@@ -96,7 +101,7 @@ module Pod
|
|
|
96
101
|
end
|
|
97
102
|
rescue DSLError
|
|
98
103
|
UI.warn "Skipping `#{set.name}` because the podspec contains errors."
|
|
99
|
-
end
|
|
104
|
+
end
|
|
100
105
|
end
|
|
101
106
|
end
|
|
102
107
|
end
|
data/spec/command/search_spec.rb
CHANGED
|
@@ -17,7 +17,7 @@ module Pod
|
|
|
17
17
|
|
|
18
18
|
it 'runs with correct parameters' do
|
|
19
19
|
lambda { run_command('search', 'JSON') }.should.not.raise
|
|
20
|
-
lambda { run_command('search', 'JSON', '--
|
|
20
|
+
lambda { run_command('search', 'JSON', '--simple') }.should.not.raise
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
it 'complains for wrong parameters' do
|
|
@@ -27,15 +27,25 @@ module Pod
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
it 'searches for a pod with name matching the given query ignoring case' do
|
|
30
|
-
output = run_command('search', 'json')
|
|
30
|
+
output = run_command('search', 'json', '--simple')
|
|
31
31
|
output.should.include? 'JSONKit'
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
it 'searches for a pod with name, summary, or description matching the given query ignoring case' do
|
|
35
|
-
output = run_command('search', '
|
|
35
|
+
output = run_command('search', 'engelhart')
|
|
36
36
|
output.should.include? 'JSONKit'
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
+
it 'searches for a pod with name, summary, or description matching the given multi-word query ignoring case' do
|
|
40
|
+
output = run_command('search', 'very', 'high', 'performance')
|
|
41
|
+
output.should.include? 'JSONKit'
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it 'prints search results in order' do
|
|
45
|
+
output = run_command('search', 'lib')
|
|
46
|
+
output.should.match /BananaLib.*JSONKit/m
|
|
47
|
+
end
|
|
48
|
+
|
|
39
49
|
it 'restricts the search to Pods supported on iOS' do
|
|
40
50
|
output = run_command('search', 'BananaLib', '--ios')
|
|
41
51
|
output.should.include? 'BananaLib'
|
|
@@ -50,11 +60,17 @@ module Pod
|
|
|
50
60
|
end
|
|
51
61
|
|
|
52
62
|
it 'restricts the search to Pods supported on Watch OS' do
|
|
53
|
-
output = run_command('search', '', '--watchos')
|
|
63
|
+
output = run_command('search', 'a', '--watchos')
|
|
54
64
|
output.should.include? 'Realm'
|
|
55
65
|
output.should.not.include? 'BananaLib'
|
|
56
66
|
end
|
|
57
67
|
|
|
68
|
+
it 'restricts the search to Pods supported on tvOS' do
|
|
69
|
+
output = run_command('search', 'n', '--tvos')
|
|
70
|
+
output.should.include? 'monkey'
|
|
71
|
+
output.should.not.include? 'BananaLib'
|
|
72
|
+
end
|
|
73
|
+
|
|
58
74
|
it 'outputs with the silent parameter' do
|
|
59
75
|
output = run_command('search', 'BananaLib', '--silent')
|
|
60
76
|
output.should.include? 'BananaLib'
|
|
@@ -110,11 +126,27 @@ module Pod
|
|
|
110
126
|
run_command('search', '--web', '--ios', 'bananalib')
|
|
111
127
|
end
|
|
112
128
|
|
|
129
|
+
it 'includes option --watchos correctly' do
|
|
130
|
+
Command::Search.any_instance.expects(:open!).with('https://cocoapods.org/?q=on%3Awatchos%20bananalib')
|
|
131
|
+
run_command('search', '--web', '--watchos', 'bananalib')
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
it 'includes option --tvos correctly' do
|
|
135
|
+
Command::Search.any_instance.expects(:open!).with('https://cocoapods.org/?q=on%3Atvos%20bananalib')
|
|
136
|
+
run_command('search', '--web', '--tvos', 'bananalib')
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
it 'includes any new platform option correctly' do
|
|
140
|
+
Platform.stubs(:all).returns([Platform.ios, Platform.tvos, Platform.new('whateveros')])
|
|
141
|
+
Command::Search.any_instance.expects(:open!).with('https://cocoapods.org/?q=on%3Awhateveros%20bananalib')
|
|
142
|
+
run_command('search', '--web', '--whateveros', 'bananalib')
|
|
143
|
+
end
|
|
144
|
+
|
|
113
145
|
it 'does not matter in which order the ios/osx options are set' do
|
|
114
|
-
Command::Search.any_instance.expects(:open!).with('https://cocoapods.org/?q=on%
|
|
146
|
+
Command::Search.any_instance.expects(:open!).with('https://cocoapods.org/?q=on%3Aios%20on%3Aosx%20bananalib')
|
|
115
147
|
run_command('search', '--web', '--ios', '--osx', 'bananalib')
|
|
116
148
|
|
|
117
|
-
Command::Search.any_instance.expects(:open!).with('https://cocoapods.org/?q=on%
|
|
149
|
+
Command::Search.any_instance.expects(:open!).with('https://cocoapods.org/?q=on%3Aios%20on%3Aosx%20bananalib')
|
|
118
150
|
run_command('search', '--web', '--osx', '--ios', 'bananalib')
|
|
119
151
|
end
|
|
120
152
|
end
|
data/spec/spec_helper/command.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cocoapods-search
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1
|
|
4
|
+
version: 1.0.0.beta.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eloy Durán
|
|
@@ -10,34 +10,34 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2015-
|
|
13
|
+
date: 2015-12-30 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: bundler
|
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
|
18
18
|
requirements:
|
|
19
|
-
- -
|
|
19
|
+
- - ~>
|
|
20
20
|
- !ruby/object:Gem::Version
|
|
21
21
|
version: '1.3'
|
|
22
22
|
type: :development
|
|
23
23
|
prerelease: false
|
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
25
|
requirements:
|
|
26
|
-
- -
|
|
26
|
+
- - ~>
|
|
27
27
|
- !ruby/object:Gem::Version
|
|
28
28
|
version: '1.3'
|
|
29
29
|
- !ruby/object:Gem::Dependency
|
|
30
30
|
name: rake
|
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
|
32
32
|
requirements:
|
|
33
|
-
- -
|
|
33
|
+
- - '>='
|
|
34
34
|
- !ruby/object:Gem::Version
|
|
35
35
|
version: '0'
|
|
36
36
|
type: :development
|
|
37
37
|
prerelease: false
|
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
39
39
|
requirements:
|
|
40
|
-
- -
|
|
40
|
+
- - '>='
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
42
|
version: '0'
|
|
43
43
|
description: Search for pods.
|
|
@@ -49,8 +49,9 @@ executables: []
|
|
|
49
49
|
extensions: []
|
|
50
50
|
extra_rdoc_files: []
|
|
51
51
|
files:
|
|
52
|
-
-
|
|
53
|
-
-
|
|
52
|
+
- .gitignore
|
|
53
|
+
- .gitmodules
|
|
54
|
+
- .travis.yml
|
|
54
55
|
- CHANGELOG.md
|
|
55
56
|
- Gemfile
|
|
56
57
|
- Gemfile.lock
|
|
@@ -87,17 +88,17 @@ require_paths:
|
|
|
87
88
|
- lib
|
|
88
89
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
89
90
|
requirements:
|
|
90
|
-
- -
|
|
91
|
+
- - '>='
|
|
91
92
|
- !ruby/object:Gem::Version
|
|
92
93
|
version: '0'
|
|
93
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
95
|
requirements:
|
|
95
|
-
- -
|
|
96
|
+
- - '>'
|
|
96
97
|
- !ruby/object:Gem::Version
|
|
97
|
-
version:
|
|
98
|
+
version: 1.3.1
|
|
98
99
|
requirements: []
|
|
99
100
|
rubyforge_project:
|
|
100
|
-
rubygems_version: 2.
|
|
101
|
+
rubygems_version: 2.5.1
|
|
101
102
|
signing_key:
|
|
102
103
|
specification_version: 4
|
|
103
104
|
summary: Searches for pods, ignoring case, whose name matches `QUERY`. If the `--full`
|