shortlook 0.1.1 → 0.1.2
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/README.md +11 -10
- data/lib/shortlook/commands/provider.rb +44 -38
- data/lib/shortlook/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 344cd5490ad33700a75197a6a67fa2b6e4544f099890a2966ea0d2ea821bff07
|
4
|
+
data.tar.gz: 3628d2ecdd6a482d0486e7e9ca8687447e1cfc96587eced2f657dc5e868d7be4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85d52a0e40da40072bdbd5d416e78789544160849514a95ba5543c455b803a09a69f63738e28b4158d37c23979948a61a4df090830fe16478fd09554c05a1718
|
7
|
+
data.tar.gz: bbeb16afa998551d5d66d971eae14f99eb966c96feded213c5ca195331a9a75c333a1fad136ebd73bc0e44eb3854b31e2c1d8368a1ec723092dc158b21996655
|
data/README.md
CHANGED
@@ -2,21 +2,22 @@
|
|
2
2
|
|
3
3
|
This is a CLI for scaffolding a ShortLook Provider
|
4
4
|
|
5
|
-
|
5
|
+
Learn more about ShortLook itself [here](https://dynastic.co/shortlook).
|
6
6
|
|
7
|
-
|
7
|
+
If you are looking for ShortLook providers you can find them [here](https://github.com/marcoroth?utf8=✓&tab=repositories&q=ShortLook-&type=&language=objective-c) or [here](https://repo.dynastic.co).
|
8
8
|
|
9
|
-
|
10
|
-
gem 'shortlook'
|
11
|
-
```
|
9
|
+
## Installation
|
12
10
|
|
13
|
-
|
11
|
+
This CLI runs on Ruby. Ensure you have Ruby installed before executing the following command:
|
14
12
|
|
15
|
-
$
|
13
|
+
$ gem install shortlook
|
16
14
|
|
17
|
-
|
15
|
+
You can check if Ruby is installed with the following command
|
18
16
|
|
19
|
-
|
17
|
+
```
|
18
|
+
$ ruby -v
|
19
|
+
ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18]
|
20
|
+
```
|
20
21
|
|
21
22
|
## Usage
|
22
23
|
|
@@ -33,7 +34,7 @@ Commands:
|
|
33
34
|
|
34
35
|
To start the Provider generator use the `provider` command followed by the search term of the app you want to build a provider for:
|
35
36
|
|
36
|
-
```
|
37
|
+
```
|
37
38
|
$ shortlook provider whatsapp
|
38
39
|
|
39
40
|
( ● ) Fetching Apps for 'whatsapp'
|
@@ -14,64 +14,70 @@ module Shortlook
|
|
14
14
|
class Provider < Shortlook::Command
|
15
15
|
include Thor::Actions
|
16
16
|
|
17
|
+
TYPES = [
|
18
|
+
{ name: 'Contact Photo', value: { name: 'ContactPhoto', display: 'Contact Photos', key: 'contact-photo' } },
|
19
|
+
{ name: 'Profile Picture', value: { name: 'ProfilePicture', display: 'Profile Pictures', key: 'profile-picture' } },
|
20
|
+
{ name: 'Photo', value: { name: 'Photo', display: 'Photos', key: 'photos' } },
|
21
|
+
{ name: 'Cover', value: { name: 'Cover', display: 'Covers', key: 'covers' } }
|
22
|
+
].freeze
|
23
|
+
|
17
24
|
def initialize(name)
|
18
25
|
@name = name
|
19
|
-
|
26
|
+
@config = TTY::Config.new
|
27
|
+
@config.append_path(Dir.home)
|
28
|
+
|
29
|
+
begin
|
30
|
+
@config.read("#{Dir.home}/.shortlook.yml")
|
31
|
+
@author = @config.fetch(:author)
|
32
|
+
@bundle_prefix = @config.fetch(:bundle_prefix)
|
33
|
+
rescue TTY::Config::ReadError
|
34
|
+
@config.filename = '.shortlook'
|
35
|
+
@author = ENV['USER']
|
36
|
+
@bundle_prefix = 'ch.marcoroth'
|
37
|
+
end
|
20
38
|
|
21
|
-
def execute(*)
|
22
|
-
config = TTY::Config.new
|
23
|
-
config.append_path(Dir.home)
|
24
|
-
|
25
39
|
spinner = TTY::Spinner.new(":spinner Fetching Apps for '#{@name}'", format: :bouncing_ball)
|
26
40
|
spinner.auto_spin
|
27
41
|
|
28
42
|
url = "https://itunes.apple.com/search?limit=10&media=software&term=#{@name}"
|
29
43
|
results = JSON.parse(LHC.get(url).body)['results']
|
30
|
-
choices = results.map { |r| { name: "#{r['trackName']} (#{r['bundleId']})", value: r } }
|
31
|
-
|
32
|
-
types = [
|
33
|
-
{ name: 'Contact Photo', value: { name: 'ContactPhoto', display: 'Contact Photos', key: 'contact-photo' } },
|
34
|
-
{ name: 'Profile Picture', value: { name: 'ProfilePicture', display: 'Profile Pictures', key: 'profile-picture' } },
|
35
|
-
{ name: 'Photo', value: { name: 'Photo', display: 'Photos', key: 'photos' } },
|
36
|
-
{ name: 'Cover', value: { name: 'Cover', display: 'Covers', key: 'covers' } }
|
37
|
-
]
|
38
|
-
|
44
|
+
@choices = results.map { |r| { name: "#{r['trackName']} (#{r['bundleId']})", value: r } }
|
39
45
|
spinner.stop
|
46
|
+
end
|
40
47
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
author = ENV['USER']
|
48
|
-
bundle_prefix = 'ch.marcoroth'
|
49
|
-
end
|
50
|
-
|
51
|
-
selected = prompt.select('Select the App you want to create a Provider for:', choices)
|
52
|
-
name = prompt.ask('What\'s the name of your provider:', default: selected['trackName'])
|
53
|
-
type = prompt.select('Select the type of the provider:', types)
|
54
|
-
author = prompt.ask('What\'s your name?', default: author)
|
55
|
-
bundle_prefix = prompt.ask('What\'s your bundle identifier prefix:', default: bundle_prefix)
|
56
|
-
|
57
|
-
config.set(:author, value: author)
|
58
|
-
config.set(:bundle_prefix, value: bundle_prefix)
|
59
|
-
config.write(force: true)
|
48
|
+
def execute(*)
|
49
|
+
selected = prompt.select('Select the App you want to create a Provider for:', @choices)
|
50
|
+
full_name = prompt.ask('What\'s the name of your provider:', default: selected['trackName'])
|
51
|
+
type = prompt.select('Select the type of the provider:', TYPES)
|
52
|
+
@author = prompt.ask('What\'s your name?', default: @author)
|
53
|
+
@bundle_prefix = prompt.ask('What\'s your bundle identifier prefix:', default: @bundle_prefix)
|
60
54
|
|
55
|
+
name = full_name.gsub(/\W/, '')
|
61
56
|
bundle_id = selected['bundleId']
|
62
|
-
provider_name = "ShortLook-#{name
|
63
|
-
class_name = "#{name
|
64
|
-
provider_bundle_id = "#{bundle_prefix}.shortlook.plugin.#{type[:key]}.#{name.downcase
|
57
|
+
provider_name = "ShortLook-#{name}"
|
58
|
+
class_name = "#{name}#{type[:name]}Provider"
|
59
|
+
provider_bundle_id = "#{@bundle_prefix}.shortlook.plugin.#{type[:key]}.#{name.downcase}"
|
60
|
+
|
61
|
+
save_config
|
65
62
|
|
66
63
|
{
|
67
|
-
name:
|
64
|
+
name: full_name,
|
68
65
|
provider_name: provider_name,
|
69
66
|
class_name: class_name,
|
70
|
-
author: author,
|
67
|
+
author: @author,
|
71
68
|
type: type,
|
72
69
|
bundle_id: bundle_id,
|
73
70
|
provider_bundle_id: provider_bundle_id
|
74
71
|
}
|
72
|
+
rescue TTY::Reader::InputInterrupt
|
73
|
+
puts "\nAborting..."
|
74
|
+
exit(0)
|
75
|
+
end
|
76
|
+
|
77
|
+
def save_config
|
78
|
+
@config.set(:author, value: @author)
|
79
|
+
@config.set(:bundle_prefix, value: @bundle_prefix)
|
80
|
+
@config.write(force: true)
|
75
81
|
end
|
76
82
|
end
|
77
83
|
end
|
data/lib/shortlook/version.rb
CHANGED