airservice_build_tools 0.0.6 → 0.0.7

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db4798af61a6b40e3b6cdbf68e525747853a04c5
4
- data.tar.gz: 06337ef417f094553eae1cd23115dbba70afbd7e
3
+ metadata.gz: b2b8d434319dde2e092bb3b0efe2903925693ace
4
+ data.tar.gz: f9e096ade73af6030577eb3fa5910118481272e8
5
5
  SHA512:
6
- metadata.gz: 16719ea847b5de33728878864f3d440c9fe65e0b9fff307ce5bf31f7cc1b83ce6dfc6df2a4d5a2523cfb70cc167b524f498642e941701a0057e634d5aac8c479
7
- data.tar.gz: 1917f668de53d4f606df3d0c30d8a0f0c6207d55e02c19adfdc89b5a2655f0547f57c5cc6bf76cee4f1db3843225422ca5c14261afc6b138884befafea450ec2
6
+ metadata.gz: 8732e2d784b08a65395eeb925653020a02965583ba97ba643f22bb5aa09b0532bd4fd9ae3b63d192d4be79edf5cfb7469afbb7581fe99cfc43bda9d2e376ae1c
7
+ data.tar.gz: f1fa7bb613c24fb46abb8949d9241a44df0c79207436268e228b9608d645047b07ee782e6c4c19a8ed39d54502512627f77d8c8243f2b8c6b4f1bc1dc438b239
data/README.md CHANGED
@@ -2,3 +2,7 @@ build_tools
2
2
  ===========
3
3
 
4
4
  A bunch of build helpers we use in our CI process
5
+
6
+ Dependencies
7
+ ===========
8
+ ImageMagick for resizing of ios/android icons
@@ -20,6 +20,33 @@ module AirService
20
20
  new_plist_content = plist.to_plist
21
21
  File.open(plist_file_path, 'w+') { |f| f.write(new_plist_content) }
22
22
  end
23
+
24
+ def create_ios_icons(options={})
25
+ sizes = [
26
+ {size: 76, name: 'ipad', scale: [1, 2]},
27
+ {size: 40, name: 'ipad_spotlight', scale: [1, 2]},
28
+ {size: 29, name: 'ipad_settings', scale: [1, 2]},
29
+ {size: 60, name: 'iphone', scale: [2]},
30
+ {size: 40, name: 'iphone_spotlight', scale: [2]},
31
+ {size: 29, name: 'iphone_settings', scale: [2]},
32
+ ]
33
+ source = options.fetch(:source)
34
+ raise "Source file #{source} doesn't exists" unless File.exists?(source)
35
+ output_dir = options.fetch(:output_dir)
36
+ FileUtils.mkdir_p(output_dir)
37
+
38
+ sizes.each do |size|
39
+ size[:scale].each do |scale|
40
+ scaled_size = size[:size] * scale
41
+ target_size = "#{scaled_size}x#{scaled_size}"
42
+ output_file = "#{size[:name]}@#{scale}x}.png"
43
+ args = %W[#{File.expand_path(source, '.')}
44
+ -resize #{target_size}
45
+ #{File.join(output_dir, output_file)}]
46
+ system('convert', *args)
47
+ end
48
+ end
49
+ end
23
50
  end
24
51
  end
25
52
  end
@@ -1,5 +1,5 @@
1
1
  module AirService
2
2
  module BuildTools
3
- VERSION = "0.0.6"
3
+ VERSION = "0.0.7"
4
4
  end
5
5
  end
@@ -61,4 +61,29 @@ describe AirService::BuildTools::ObjC do
61
61
  end
62
62
  end
63
63
  end
64
+
65
+ describe '#create_ios_icons' do
66
+ before do
67
+ FileUtils.rmtree('/tmp/icons')
68
+ end
69
+ it 'throws exception if it source file is not found' do
70
+ expect { create_ios_icons(source: 'spec/fixtures/does_not_exist.png', output_dir: '/tmp/icons') }.to raise_error do |error|
71
+ expect(error.message).to include('source file')
72
+ end
73
+ end
74
+ it 'creates images of non retina sizes' do
75
+ create_ios_icons(source: 'spec/fixtures/test_image.png', output_dir: '/tmp/icons/')
76
+ icons = Dir['/tmp/icons/*.png'].map do |file|
77
+ `identify #{file}`
78
+ end.join(' ')
79
+ icons.should include('76x76', '40x40', '29x29')
80
+ end
81
+ it 'creates images of retina sizes when specified' do
82
+ create_ios_icons(source: 'spec/fixtures/test_image.png', output_dir: '/tmp/icons/')
83
+ icons = Dir['/tmp/icons/*.png'].map do |file|
84
+ `identify #{file}`
85
+ end.join(' ')
86
+ icons.should include('152x152', '80x80', '58x58')
87
+ end
88
+ end
64
89
  end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airservice_build_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - AirService
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-04 00:00:00.000000000 Z
11
+ date: 2014-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: plist
@@ -127,6 +127,7 @@ files:
127
127
  - lib/airservice/build_tools/obj_c.rb
128
128
  - lib/airservice/build_tools/version.rb
129
129
  - spec/airservice/build_tools/obj_c_spec.rb
130
+ - spec/fixtures/test_image.png
130
131
  - spec/spec_helper.rb
131
132
  homepage: http://github.com/airservice/build_tools
132
133
  licenses:
@@ -154,4 +155,5 @@ specification_version: 4
154
155
  summary: Build toolls
155
156
  test_files:
156
157
  - spec/airservice/build_tools/obj_c_spec.rb
158
+ - spec/fixtures/test_image.png
157
159
  - spec/spec_helper.rb