israkel 0.4.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9925300a81c566a80654362e4b4de6ba8f1172ed
4
+ data.tar.gz: 4285f4b68e325b6b79e798f6f6562847c95eb2dd
5
+ SHA512:
6
+ metadata.gz: 780f73658c5a4e82cbc5853f0231a55a31feb7962b8fe6cc07ce64a0e934e6227a8e0dda114d641e92b0f9f30d9f6c2b9cc3d8dabba77d4cb8c50886870e2571
7
+ data.tar.gz: 70822ce80a0287f86a1cad61e9b590e174451b67d432d3da2143ed10ab827aaa9a76720d3a03acf1da3984cdc53ab27f5280c4f08a851feff5b096d47a0571f3
data/README.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # ISRakel
2
2
 
3
+ [![Build Status](http://img.shields.io/travis/xing/israkel/master.svg?style=flat-square)](https://travis-ci.org/xing/israkel)
4
+ [![Code Coverage](http://img.shields.io/coveralls/xing/israkel.svg?style=flat-square)](https://coveralls.io/r/xing/israkel)
5
+ [![Dependency Status](https://www.versioneye.com/user/projects/5444b70c53acfa4b0f0000cf/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/5444b70c53acfa4b0f0000cf)
6
+ [![Code climate](http://img.shields.io/codeclimate/github/xing/israkel.svg?style=flat-square)](https://codeclimate.com/github/xing/israkel)
7
+ [![Gem Version](http://img.shields.io/gem/v/israkel.svg?style=flat-square)](https://rubygems.org/gems/israkel)
8
+
9
+
3
10
  This gem is a collection of rake tasks for maintaining common tasks
4
11
  for the iPhone Simulator on Mac OS like ...
5
12
 
@@ -62,17 +69,34 @@ tasks to change some settings:
62
69
  There's a second method called `edit_global_preferences` which works
63
70
  the same, just edits a different file.
64
71
 
65
- ## Allow GPS access
72
+ ## Authorize access to addressbook, gps and photos
66
73
 
67
- Allowing GPS access upfront can be required because it's not possible
68
- to use KIF to tap on the OK button the the GPS access alert view.
74
+ Allowing access upfront can be required because it's not possible
75
+ to use KIF to tap on the OK button of the access alert views.
69
76
 
70
77
  i = ISRakel::Tasks.instance
71
- desc "Allow GPS access"
78
+
79
+ desc 'Allow AddressBook access'
80
+ task :allow_addressbook_access do
81
+ i.allow_addressbook_access('com.xing.App')
82
+ end
83
+
84
+ desc 'Allow GPS access'
72
85
  task :allow_gps_access do
73
- i.allow_gps_access("com.plu.FooApp")
86
+ i.allow_gps_access('com.xing.App')
74
87
  end
75
88
 
89
+ desc 'Allow Photo Library access'
90
+ task :allow_photos_access do
91
+ i.allow_photos_access('com.xing.App')
92
+ end
93
+
94
+ Even easier, you don't have to define the rake tasks in your Rakefile.
95
+ There are generic tasks that take the environment variable `BUNDLE_ID`
96
+ into account:
97
+
98
+ IOS_SDK_VERSION=7.1 BUNDLE_ID=com.example.apple-samplecode.PhotoPicker rake simulator:allow_photos_access
99
+
76
100
  ## Feedback
77
101
 
78
102
  Please raise issues if you find problems or have a feature request.
@@ -1 +1,2 @@
1
1
  require 'israkel/tasks'
2
+ require 'israkel/device'
@@ -0,0 +1,158 @@
1
+ require 'cfpropertylist'
2
+ require 'sqlite3'
3
+
4
+ class Device
5
+ attr_accessor :UUID, :type, :name, :state, :runtime
6
+
7
+ def initialize(uuid, type, name, state, runtime)
8
+ @UUID = uuid
9
+ @type = type
10
+ @name = name
11
+ @state = state
12
+ @runtime = runtime
13
+ end
14
+
15
+ def self.from_hash(hash)
16
+ self.new(hash['UDID'], hash['deviceType'], hash['name'], hash['state'], hash['runtime'])
17
+ end
18
+
19
+ def self.from_plist(plist)
20
+ self.from_hash(CFPropertyList.native_types(plist.value))
21
+ end
22
+
23
+ def self.with_sdk_and_type(sdk_version, type)
24
+ Device.all.each do |device|
25
+ return device if device.os == sdk_version && device.type.split('.').last == type
26
+ end
27
+ nil
28
+ end
29
+
30
+ def self.stop
31
+ system 'killall', '-m', '-TERM', 'iOS Simulator'
32
+ end
33
+
34
+ def self.all
35
+ devices = []
36
+ dirs = Dir.entries(Device.sim_root_path).reject { |entry| File.directory? entry }
37
+ dirs.sort.each do |simulator_dir|
38
+ plist_path = "#{Device.sim_root_path}/#{simulator_dir}/device.plist"
39
+ if File.exists?(plist_path)
40
+ plist = CFPropertyList::List.new(:file => plist_path)
41
+ devices << Device.from_plist(plist)
42
+ end
43
+ end
44
+ devices
45
+ end
46
+
47
+ def self.edit_plist(path, &block)
48
+ if File.exists?(path)
49
+ plist = CFPropertyList::List.new(:file => path)
50
+ content = CFPropertyList.native_types(plist.value)
51
+ end
52
+ yield content || {}
53
+ if plist
54
+ plist.value = CFPropertyList.guess(content)
55
+ plist.save(path, CFPropertyList::List::FORMAT_BINARY)
56
+ end
57
+ end
58
+
59
+ def to_s
60
+ "#{name} #{pretty_runtime}"
61
+ end
62
+
63
+ def allow_addressbook_access(bundle_id)
64
+ allow_tcc_access('kTCCServiceAddressBook', bundle_id)
65
+ end
66
+
67
+ def allow_photos_access(bundle_id)
68
+ allow_tcc_access('kTCCServicePhotos', bundle_id)
69
+ end
70
+
71
+ def allow_gps_access(bundle_id)
72
+ directory = File.join(path, 'Library', 'Caches', 'locationd')
73
+ FileUtils.mkdir_p(directory) unless Dir.exists?(directory)
74
+ Device.edit_plist(File.join(directory, 'clients.plist')) do |content|
75
+ set_gps_access(content, bundle_id)
76
+ end
77
+ end
78
+
79
+ def set_language(language)
80
+ edit_global_preferences do |p|
81
+ if p['AppleLanguages']
82
+ if p['AppleLanguages'].include?(language)
83
+ p['AppleLanguages'].unshift(language).uniq!
84
+ else
85
+ fail "#{language} is not a valid language"
86
+ end
87
+ else
88
+ p['AppleLanguages'] = [language]
89
+ end
90
+ end
91
+ end
92
+
93
+ def start
94
+ system "ios-sim start --devicetypeid \"#{device_type}\""
95
+ end
96
+
97
+ def reset
98
+ FileUtils.rm_rf File.join(path)
99
+ FileUtils.mkdir File.join(path)
100
+ end
101
+
102
+ def self.sim_root_path
103
+ File.join(ENV['HOME'], 'Library', 'Developer', 'CoreSimulator', 'Devices')
104
+ end
105
+
106
+ def os
107
+ runtime.gsub('com.apple.CoreSimulator.SimRuntime.iOS-', '').gsub('-', '.')
108
+ end
109
+
110
+ def edit_global_preferences(&block)
111
+ pref_path = File.join(path, 'Library', 'Preferences')
112
+ Device.edit_plist( File.join(pref_path, '.GlobalPreferences.plist'), &block )
113
+ end
114
+
115
+ def edit_preferences(&block)
116
+ pref_path = File.join(path, 'Library', 'Preferences')
117
+ Device.edit_plist( File.join(pref_path, 'com.apple.Preferences.plist'), &block )
118
+ end
119
+
120
+ def tcc_path
121
+ File.join(path, 'Library', 'TCC', 'TCC.db')
122
+ end
123
+
124
+ private
125
+
126
+ def set_gps_access(hash, bundle_id)
127
+ hash.merge!({
128
+ bundle_id => {
129
+ 'Authorized' => true,
130
+ 'BundleId' => bundle_id,
131
+ 'Executable' => "",
132
+ 'Registered' => "",
133
+ 'Whitelisted' => false,
134
+ }
135
+ })
136
+ end
137
+
138
+ def allow_tcc_access(service, bundle_id)
139
+ db_path = tcc_path
140
+ db = SQLite3::Database.new(db_path)
141
+ db.prepare "insert into access (service, client, client_type, allowed, prompt_count, csreq) values (?, ?, ?, ?, ?, ?)" do |query|
142
+ query.execute service, bundle_id, 0, 1, 0, ""
143
+ end
144
+ end
145
+
146
+ def pretty_runtime
147
+ "iOS #{os}"
148
+ end
149
+
150
+ def path
151
+ File.join(Device.sim_root_path, @UUID, 'data')
152
+ end
153
+
154
+ def device_type
155
+ [@type, os].join(', ')
156
+ end
157
+
158
+ end
@@ -1,185 +1,118 @@
1
- require 'fileutils'
2
- require 'highline/import'
3
- require 'json'
4
1
  require 'rake'
5
2
  require 'rake/tasklib'
6
- require 'sqlite3'
3
+ require 'highline/import'
7
4
 
8
5
  module ISRakel
9
6
  class Tasks < ::Rake::TaskLib
10
7
  include ::Rake::DSL if defined?(::Rake::DSL)
11
8
  include Singleton
12
9
 
13
- attr_accessor :name, :sdk_version
10
+ attr_accessor :name, :current_device
14
11
 
15
12
  def initialize(name = :simulator)
16
13
  @name = name
17
14
 
18
15
  yield self if block_given?
19
16
 
17
+ define_allow_addressbook_access_task
20
18
  define_allow_gps_access_task
19
+ define_allow_photos_access_task
21
20
  define_reset_task
22
21
  define_set_language_task
23
22
  define_start_task
24
23
  define_stop_task
25
24
  end
26
25
 
27
- def allow_addressbook_access(bundle_id)
28
- db_path = File.join(simulator_support_path, 'Library', 'TCC', 'TCC.db')
29
- db = SQLite3::Database.new(db_path)
30
- db.prepare "insert into access (service, client, client_type, allowed, prompt_count, csreq) values (?, ?, ?, ?, ?, ?)" do |query|
31
- query.execute "kTCCServiceAddressBook", bundle_id, 0, 1, 0, ""
32
- end
33
- end
34
-
35
- def allow_gps_access(bundle_id)
36
- directory = File.join(simulator_support_path, 'Library', 'Caches', 'locationd')
37
- FileUtils.mkdir_p(directory) unless Dir.exists?(directory)
38
- edit_file( File.join(directory, 'clients.plist') ) do |content|
39
- content.merge!({
40
- bundle_id => {
41
- :Authorized => true,
42
- :BundleId => bundle_id,
43
- :Executable => "",
44
- :Registered => "",
45
- :Whitelisted => false,
46
- }
47
- })
48
- end
49
- end
50
-
51
26
  def edit_global_preferences(&block)
52
- edit_file( File.join(simulator_preferences_path, '.GlobalPreferences.plist'), &block )
27
+ current_device.edit_global_preferences(&block)
53
28
  end
54
29
 
55
30
  def edit_preferences(&block)
56
- edit_file( File.join(simulator_preferences_path, 'com.apple.Preferences.plist'), &block )
31
+ current_device.edit_preferences(&block)
57
32
  end
58
33
 
59
- def sdk_version
60
- @sdk_version ||= select_sdk_version
34
+ def current_device
35
+ @current_device || select_device
61
36
  end
62
37
 
63
- def set_language(language)
64
- edit_global_preferences do |p|
65
- unless p['AppleLanguages'].include?(language)
66
- fail "#{language} is not a valid language"
67
- end
68
- p['AppleLanguages'].unshift(language).uniq!
69
- end
70
- end
71
-
72
- def simulator_path
73
- @simulator_path ||= File.join(xcode_path, 'Platforms', 'iPhoneSimulator.platform', 'Developer', 'Applications', 'iPhone Simulator.app')
74
- end
75
-
76
- def simulator_preferences_path
77
- File.join(simulator_support_path, 'Library', 'Preferences')
78
- end
38
+ private
79
39
 
80
- def simulator_support_path
81
- @simulator_support_path ||= File.join(simulator_root_path, sdk_version)
40
+ def bundle_id
41
+ bundle_id = ENV['BUNDLE_ID']
42
+ if bundle_id.nil?
43
+ raise "You must set the BUNDLE_ID environment variable"
44
+ end
45
+ bundle_id
82
46
  end
83
47
 
84
- private
85
-
86
- def simulator_root_path
87
- File.join(ENV['HOME'], 'Library', 'Application Support', 'iPhone Simulator')
48
+ def ios_lang
49
+ language = ENV['IOS_LANG']
50
+ if language.nil?
51
+ raise "You must set the IOS_LANG environment variable"
52
+ end
53
+ language
88
54
  end
89
55
 
90
- def edit_file(file)
91
- content = {}
92
- if File.exists?(file)
93
- content = plist_to_hash(file)
56
+ def define_allow_addressbook_access_task
57
+ desc "Allow AdressBook access (via BUNDLE_ID environment variable)"
58
+ task "#{name}:allow_addressbook_access" do
59
+ current_device.allow_addressbook_access(bundle_id)
94
60
  end
95
- yield content
96
- hash_to_plist(content, file)
97
61
  end
98
62
 
99
63
  def define_allow_gps_access_task
100
64
  desc "Allow GPS access (via BUNDLE_ID environment variable)"
101
65
  task "#{name}:allow_gps_access" do
102
- bundle_id = ENV['BUNDLE_ID']
103
- if bundle_id.nil?
104
- fail "You must set the BUNDLE_ID environment variable"
105
- end
106
- allow_gps_access(bundle_id)
66
+ current_device.allow_gps_access(bundle_id)
67
+ end
68
+ end
69
+
70
+ def define_allow_photos_access_task
71
+ desc "Allow Photos access (via BUNDLE_ID environment variable)"
72
+ task "#{name}:allow_photos_access" do
73
+ current_device.allow_photos_access(bundle_id)
107
74
  end
108
75
  end
109
76
 
110
77
  def define_reset_task
111
78
  desc "Reset content and settings of the iPhone Simulator"
112
79
  task "#{name}:reset" do
113
- rm_rf File.join(simulator_support_path)
114
- mkdir File.join(simulator_support_path)
80
+ current_device.reset
115
81
  end
116
82
  end
117
83
 
118
84
  def define_set_language_task
119
85
  desc "Set the system language (via IOS_LANG environment variable)"
120
86
  task "#{name}:set_language" do
121
- language = ENV['IOS_LANG']
122
- if language.nil?
123
- fail "You must set the IOS_LANG environment variable"
124
- end
125
- set_language(language)
87
+ current_device.set_language(ios_lang)
126
88
  end
127
89
  end
128
90
 
129
91
  def define_start_task
130
92
  desc "Start the iPhone Simulator"
131
93
  task "#{name}:start" do
132
- # shorten the sdk_version to the first three characters, else ios-sim does not get it
133
- sh 'ios-sim', 'start', '--retina', '--sdk', sdk_version[0..2]
94
+ current_device.start
134
95
  end
135
96
  end
136
97
 
137
98
  def define_stop_task
138
99
  desc "Stop the iPhone Simulator"
139
100
  task "#{name}:stop" do
140
- sh 'killall', '-m', '-TERM', 'iPhone Simulator' do |ok, res|
141
- end
101
+ Device.stop
142
102
  end
143
103
  end
144
104
 
145
- def hash_to_plist(hash, path)
146
- cmd = IO.popen(['plutil', '-convert', 'binary1', '-o', path, '-'], 'w')
147
- cmd.puts hash.to_json
148
- cmd.close
149
- end
150
-
151
- def ios_sim_path
152
- @ios_sim_path ||= `which ios-sim`.chomp
153
- abort "please install ios-sim" if @ios_sim_path.empty?
154
- @ios_sim_path
155
- end
156
-
157
- def plist_to_hash(path)
158
- JSON.parse( IO.popen(['plutil', '-convert', 'json', '-o', '-', path]) {|f| f.read} )
159
- end
160
-
161
- def simulator_versions
162
- versions = Dir.entries(simulator_root_path).reject {|e| File.directory?(e)}
163
- versions.select { |sim_path| sim_path != 'User' }
164
- end
165
-
166
- def select_sdk_version
167
- result = ENV['IOS_SDK_VERSION']
168
- return result unless result.nil?
105
+ def select_device
106
+ sdk_version = ENV['IOS_SDK_VERSION']
107
+ device_type = ENV['DEVICE_TYPE']
108
+ @current_device = Device.with_sdk_and_type(sdk_version, device_type)
109
+ return @current_device if @current_device
169
110
  choose do |menu|
170
- menu.prompt = "Please select an SDK version"
171
- menu.choices(*simulator_versions) do |version|
172
- result = version
111
+ menu.prompt = "Please select a simulator"
112
+ menu.choices(*Device.all) do |device|
113
+ @current_device = device
173
114
  end
174
115
  end
175
- result
176
- end
177
-
178
- def xcode_path
179
- @xcode_path ||= `xcode-select --print-path`.chomp
180
- abort "please install xcode and the command line tools" if @xcode_path.empty?
181
- @xcode_path
182
116
  end
183
-
184
117
  end
185
118
  end
metadata CHANGED
@@ -1,138 +1,156 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: israkel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Johannes Plunien
9
8
  - Stefan Munz
9
+ - Matthias Männich
10
+ - Piet Brauer
10
11
  autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2013-11-20 00:00:00.000000000 Z
14
+ date: 2014-10-20 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: highline
17
18
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
19
  requirements:
20
- - - ~>
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '1.6'
23
+ - - ">="
21
24
  - !ruby/object:Gem::Version
22
25
  version: 1.6.15
23
26
  type: :runtime
24
27
  prerelease: false
25
28
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
29
  requirements:
28
- - - ~>
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.6'
33
+ - - ">="
29
34
  - !ruby/object:Gem::Version
30
35
  version: 1.6.15
31
36
  - !ruby/object:Gem::Dependency
32
37
  name: json
33
38
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
39
  requirements:
36
- - - ~>
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.8'
43
+ - - ">="
37
44
  - !ruby/object:Gem::Version
38
45
  version: 1.8.0
39
46
  type: :runtime
40
47
  prerelease: false
41
48
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
49
  requirements:
44
- - - ~>
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.8'
53
+ - - ">="
45
54
  - !ruby/object:Gem::Version
46
55
  version: 1.8.0
47
56
  - !ruby/object:Gem::Dependency
48
57
  name: rake
49
58
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
59
  requirements:
52
- - - ~>
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '10.3'
63
+ - - ">="
53
64
  - !ruby/object:Gem::Version
54
- version: 10.1.0
65
+ version: 10.3.2
55
66
  type: :runtime
56
67
  prerelease: false
57
68
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
69
  requirements:
60
- - - ~>
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '10.3'
73
+ - - ">="
61
74
  - !ruby/object:Gem::Version
62
- version: 10.1.0
75
+ version: 10.3.2
63
76
  - !ruby/object:Gem::Dependency
64
77
  name: sqlite3
65
78
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
79
  requirements:
68
- - - ~>
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.3'
83
+ - - ">="
69
84
  - !ruby/object:Gem::Version
70
85
  version: 1.3.7
71
86
  type: :runtime
72
87
  prerelease: false
73
88
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
89
  requirements:
76
- - - ~>
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '1.3'
93
+ - - ">="
77
94
  - !ruby/object:Gem::Version
78
95
  version: 1.3.7
79
96
  - !ruby/object:Gem::Dependency
80
- name: jeweler
97
+ name: CFPropertyList
81
98
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
99
  requirements:
84
- - - ~>
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '2.2'
103
+ - - ">="
85
104
  - !ruby/object:Gem::Version
86
- version: 1.8.4
87
- type: :development
105
+ version: 2.2.8
106
+ type: :runtime
88
107
  prerelease: false
89
108
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
109
  requirements:
92
- - - ~>
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: '2.2'
113
+ - - ">="
93
114
  - !ruby/object:Gem::Version
94
- version: 1.8.4
115
+ version: 2.2.8
95
116
  description: Collection of common rake tasks for the iPhone Simulator like start/stop
96
117
  and some more.
97
118
  email:
98
119
  - johannes.plunien@xing.com
99
120
  - stefan.munz@xing.com
121
+ - matthias.maennich@xing.com
122
+ - piet.brauer@xing.com
100
123
  executables: []
101
124
  extensions: []
102
125
  extra_rdoc_files:
103
126
  - README.md
104
127
  files:
105
- - Gemfile
106
- - Gemfile.lock
107
128
  - README.md
108
- - Rakefile
109
- - VERSION
110
- - israkel.gemspec
111
129
  - lib/israkel.rb
130
+ - lib/israkel/device.rb
112
131
  - lib/israkel/tasks.rb
113
132
  homepage: http://github.com/xing/israkel
114
133
  licenses:
115
134
  - MIT
135
+ metadata: {}
116
136
  post_install_message:
117
137
  rdoc_options: []
118
138
  require_paths:
119
139
  - lib
120
140
  required_ruby_version: !ruby/object:Gem::Requirement
121
- none: false
122
141
  requirements:
123
- - - ! '>='
142
+ - - ">="
124
143
  - !ruby/object:Gem::Version
125
144
  version: '0'
126
145
  required_rubygems_version: !ruby/object:Gem::Requirement
127
- none: false
128
146
  requirements:
129
- - - ! '>='
147
+ - - ">="
130
148
  - !ruby/object:Gem::Version
131
149
  version: '0'
132
150
  requirements: []
133
151
  rubyforge_project:
134
- rubygems_version: 1.8.25
152
+ rubygems_version: 2.2.2
135
153
  signing_key:
136
- specification_version: 3
154
+ specification_version: 4
137
155
  summary: Collection of common rake tasks for the iPhone Simulator.
138
156
  test_files: []
data/Gemfile DELETED
@@ -1,10 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gem 'highline', '~> 1.6.15'
4
- gem 'json', '~> 1.8.0'
5
- gem 'rake', '~> 10.1.0'
6
- gem 'sqlite3', '~> 1.3.7'
7
-
8
- group :development do
9
- gem 'jeweler', '~> 1.8.4'
10
- end
@@ -1,25 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- git (1.2.5)
5
- highline (1.6.19)
6
- jeweler (1.8.4)
7
- bundler (~> 1.0)
8
- git (>= 1.2.5)
9
- rake
10
- rdoc
11
- json (1.8.0)
12
- rake (10.0.4)
13
- rdoc (4.0.1)
14
- json (~> 1.4)
15
- sqlite3 (1.3.7)
16
-
17
- PLATFORMS
18
- ruby
19
-
20
- DEPENDENCIES
21
- highline (~> 1.6.15)
22
- jeweler (~> 1.8.4)
23
- json (~> 1.8.0)
24
- rake (~> 10.0.0)
25
- sqlite3 (~> 1.3.7)
data/Rakefile DELETED
@@ -1,38 +0,0 @@
1
- $:.unshift "#{File.dirname(__FILE__)}/lib"
2
- require 'jeweler'
3
- require 'israkel'
4
-
5
- Jeweler::Tasks.new do |gem|
6
- gem.name = 'israkel'
7
- gem.homepage = 'http://github.com/xing/israkel'
8
- gem.license = 'MIT'
9
- gem.summary = %Q{Collection of common rake tasks for the iPhone Simulator.}
10
- gem.description = %Q{Collection of common rake tasks for the iPhone Simulator like start/stop and some more.}
11
- gem.email = ['johannes.plunien@xing.com', 'stefan.munz@xing.com']
12
- gem.authors = ['Johannes Plunien', 'Stefan Munz']
13
- end
14
- Jeweler::RubygemsDotOrgTasks.new
15
-
16
- i = ISRakel::Tasks.instance
17
- desc "Change keyboard preferences"
18
- task :set_keyboard_preferences do
19
- i.edit_preferences do |p|
20
- p.merge!({
21
- :KeyboardAutocapitalization => false,
22
- :KeyboardAutocorrection => false,
23
- :KeyboardCapsLock => false,
24
- :KeyboardCheckSpelling => false,
25
- :KeyboardPeriodShortcut => false,
26
- })
27
- end
28
- end
29
-
30
- desc "Allow GPS access"
31
- task :allow_gps_access do
32
- i.allow_gps_access("com.plu.FooApp")
33
- end
34
-
35
- desc "Allow Addressbook access"
36
- task :allow_ab_access do
37
- i.allow_addressbook_access("com.plu.FooApp")
38
- end
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.4.3
@@ -1,58 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = "israkel"
8
- s.version = "0.4.3"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Johannes Plunien", "Stefan Munz"]
12
- s.date = "2013-11-20"
13
- s.description = "Collection of common rake tasks for the iPhone Simulator like start/stop and some more."
14
- s.email = ["johannes.plunien@xing.com", "stefan.munz@xing.com"]
15
- s.extra_rdoc_files = [
16
- "README.md"
17
- ]
18
- s.files = [
19
- "Gemfile",
20
- "Gemfile.lock",
21
- "README.md",
22
- "Rakefile",
23
- "VERSION",
24
- "israkel.gemspec",
25
- "lib/israkel.rb",
26
- "lib/israkel/tasks.rb"
27
- ]
28
- s.homepage = "http://github.com/xing/israkel"
29
- s.licenses = ["MIT"]
30
- s.require_paths = ["lib"]
31
- s.rubygems_version = "1.8.25"
32
- s.summary = "Collection of common rake tasks for the iPhone Simulator."
33
-
34
- if s.respond_to? :specification_version then
35
- s.specification_version = 3
36
-
37
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
38
- s.add_runtime_dependency(%q<highline>, ["~> 1.6.15"])
39
- s.add_runtime_dependency(%q<json>, ["~> 1.8.0"])
40
- s.add_runtime_dependency(%q<rake>, ["~> 10.1.0"])
41
- s.add_runtime_dependency(%q<sqlite3>, ["~> 1.3.7"])
42
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
43
- else
44
- s.add_dependency(%q<highline>, ["~> 1.6.15"])
45
- s.add_dependency(%q<json>, ["~> 1.8.0"])
46
- s.add_dependency(%q<rake>, ["~> 10.1.0"])
47
- s.add_dependency(%q<sqlite3>, ["~> 1.3.7"])
48
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
49
- end
50
- else
51
- s.add_dependency(%q<highline>, ["~> 1.6.15"])
52
- s.add_dependency(%q<json>, ["~> 1.8.0"])
53
- s.add_dependency(%q<rake>, ["~> 10.1.0"])
54
- s.add_dependency(%q<sqlite3>, ["~> 1.3.7"])
55
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
56
- end
57
- end
58
-