longbow 0.1.0 → 0.1.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/Gemfile.lock +1 -1
- data/lib/longbow/commands/shoot.rb +12 -14
- data/lib/longbow/images.rb +0 -1
- data/lib/longbow/json.rb +42 -0
- data/lib/longbow/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86277771094b698394dba33a73564319e357dbe8
|
4
|
+
data.tar.gz: 515898e907ed93a454e3f2d2e7fa9d0878d216a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cf79384286e062107efcb024ff46fa929408df39a5d403c2ee405bffe37f5c90fc4fcabd80e5ed4488c5a8b4003cd3c3b1893e159045cf4b92d4c11e2bfc47f
|
7
|
+
data.tar.gz: 56698aaefc70ed3d0026018cbd9087639d013bcd621e8028256881aa303e373333187505e2852026c2349dd5aa75f90cbd5e8798bf143e99cd12d593e7e19d39
|
data/Gemfile.lock
CHANGED
@@ -3,6 +3,7 @@ require 'fileutils'
|
|
3
3
|
require 'longbow/colors'
|
4
4
|
require 'longbow/targets'
|
5
5
|
require 'longbow/images'
|
6
|
+
require 'longbow/json'
|
6
7
|
require 'json'
|
7
8
|
|
8
9
|
command :shoot do |c|
|
@@ -11,6 +12,7 @@ command :shoot do |c|
|
|
11
12
|
c.description = ''
|
12
13
|
c.option '-n', '--name NAME', 'Target name from the corresponding longbow.json file.'
|
13
14
|
c.option '-d', '--directory DIRECTORY', 'Path where the .xcodeproj or .xcworkspace file && the longbow.json file live.'
|
15
|
+
c.option '-u', '--url URL', 'URL of a longbow formatted JSON file.'
|
14
16
|
|
15
17
|
c.action do |args, options|
|
16
18
|
# Check for newer version
|
@@ -19,23 +21,21 @@ command :shoot do |c|
|
|
19
21
|
# Set Up
|
20
22
|
@target_name = options.name ? options.name : nil
|
21
23
|
@directory = options.directory ? options.directory : Dir.pwd
|
24
|
+
@url = options.url ? options.url : nil
|
22
25
|
@targets = []
|
23
26
|
|
24
|
-
#
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
next
|
27
|
+
# Create JSON object
|
28
|
+
if @url
|
29
|
+
obj = Longbow::json_object_from_url @url
|
30
|
+
else
|
31
|
+
obj = Longbow::json_object_from_directory @directory
|
30
32
|
end
|
31
33
|
|
32
|
-
#
|
33
|
-
|
34
|
-
|
35
|
-
Longbow::red ' Invalid JSON - lint it, and try again.'
|
34
|
+
# Break if Bad
|
35
|
+
unless obj
|
36
|
+
Longbow::red "\n Invalid JSON. Please lint the file, and try again.\n"
|
36
37
|
next
|
37
38
|
end
|
38
|
-
obj = JSON.parse(json_contents)
|
39
39
|
|
40
40
|
# Check for Target Name
|
41
41
|
if @target_name
|
@@ -48,9 +48,7 @@ command :shoot do |c|
|
|
48
48
|
next
|
49
49
|
end
|
50
50
|
else
|
51
|
-
obj['targets']
|
52
|
-
@targets << t
|
53
|
-
end
|
51
|
+
@targets = obj['targets']
|
54
52
|
end
|
55
53
|
|
56
54
|
# Begin
|
data/lib/longbow/images.rb
CHANGED
@@ -69,7 +69,6 @@ module Longbow
|
|
69
69
|
target = t['name']
|
70
70
|
|
71
71
|
['launch_phone_p', 'launch_phone_l', 'launch_tablet_p', 'launch_tablet_l'].each do |key|
|
72
|
-
img_path = ''
|
73
72
|
if t[key + '_url']
|
74
73
|
img_path = self.path_for_downloaded_image_from_url directory, key + '_' + target, t[key + '_url'], 'launch'
|
75
74
|
elsif t[key + '_path']
|
data/lib/longbow/json.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
$:.push File.expand_path('../', __FILE__)
|
2
|
+
require 'colors'
|
3
|
+
require 'open-uri'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
module Longbow
|
7
|
+
|
8
|
+
def self.json_object_from_directory directory
|
9
|
+
return nil unless directory
|
10
|
+
|
11
|
+
# Check for longbow.json
|
12
|
+
@json_path = directory + '/longbow.json'
|
13
|
+
unless File.exists?(@json_path)
|
14
|
+
Longbow::red "\n Couldn't find longbow.json at #{@json_path}\n"
|
15
|
+
puts " Run this command to install the correct files:\n longbow install\n"
|
16
|
+
return nil
|
17
|
+
end
|
18
|
+
|
19
|
+
# Create hash from longbow.json
|
20
|
+
json_contents = File.open(@json_path).read
|
21
|
+
return json_object_from_string json_contents
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def self.json_object_from_url url
|
26
|
+
return nil unless url
|
27
|
+
contents = ''
|
28
|
+
open(url) {|io| contents = io.read}
|
29
|
+
return json_object_from_string contents
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.json_object_from_string contents
|
33
|
+
begin
|
34
|
+
!!JSON.parse(contents)
|
35
|
+
rescue
|
36
|
+
return nil
|
37
|
+
end
|
38
|
+
|
39
|
+
return JSON.parse(contents)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
data/lib/longbow/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: longbow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Intermark Interactive
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- ./lib/longbow/commands/shoot.rb
|
139
139
|
- ./lib/longbow/commands.rb
|
140
140
|
- ./lib/longbow/images.rb
|
141
|
+
- ./lib/longbow/json.rb
|
141
142
|
- ./lib/longbow/plist.rb
|
142
143
|
- ./lib/longbow/targets.rb
|
143
144
|
- ./lib/longbow/version.rb
|