israkel 0.4.3 → 1.0.0

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.
@@ -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
-