app-store-emigrant 0.0.1 → 0.0.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.
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ script: bundle exec rake test
data/CHANGELOG ADDED
@@ -0,0 +1,9 @@
1
+ CHANGELOG
2
+
3
+ v0.0.2
4
+ - Added Ruby 1.8.7 support
5
+ - Added Travis continuous integration support
6
+ - Added proper README including background, usage and installation notes
7
+
8
+ v0.0.1
9
+ - Initial alpha release
data/README.md CHANGED
@@ -1,5 +1,41 @@
1
1
 
2
- App Store Emigrant
2
+ App Store Emigrant [![Build Status](https://secure.travis-ci.org/timkurvers/app-store-emigrant.png?branch=master)](http://travis-ci.org/timkurvers/app-store-emigrant)
3
3
  ==================
4
4
 
5
- Once this gem is even remotely stable, this README will be updated.
5
+ Copyright (c) 2012 Tim Kurvers <http://www.moonsphere.net>
6
+
7
+ App Store Emigrant is a Ruby gem that will manually attempt to verify whether
8
+ any of your local mobile applications are out of date, which iTunes will refuse
9
+ to do automatically once you have moved countries.
10
+
11
+ **Suported Ruby versions: 1.8.7 or higher**
12
+
13
+ Licensed under the **MIT** license, see LICENSE for more information.
14
+
15
+ Background
16
+ ----------
17
+
18
+ For more information on the issues faced when moving countries with regards to
19
+ Apple's ecosystem please see [these](https://discussions.apple.com/thread/2443094) [discussions](https://discussions.apple.com/message/16273593).
20
+
21
+
22
+ Installation
23
+ ------------
24
+
25
+ App Store Emigrant is available from RubyGems and can be installed as follows:
26
+
27
+ $ gem install app-store-emigrant
28
+
29
+
30
+ Usage
31
+ -----
32
+
33
+ Once installed, a new not-so-fantastically named binary called 'ase' will be
34
+ added to your path. Invoke the binary to start the verification process:
35
+
36
+ $ ase
37
+
38
+ If App Store Emigrant complains that it cannot find your default library,
39
+ help it along and specify where your iTunes library lurks:
40
+
41
+ $ ase ~/m00sic
@@ -9,9 +9,9 @@ Gem::Specification.new do |s|
9
9
  s.version = AppStore::Emigrant::VERSION
10
10
  s.authors = ['Tim Kurvers']
11
11
  s.email = ['tim@moonsphere.net']
12
- s.homepage = 'http://moonsphere.net'
12
+ s.homepage = 'https://github.com/timkurvers/app-store-emigrant'
13
13
  s.summary = 'App Store Emigrant will manually attempt to verify whether any of your local mobile applications are out of date'
14
- s.description = 'Moved countries and now iTunes refuses to notify you properly with updates? Rest assured, using App Store Emigrant you know exactly which apps are outdated'
14
+ s.description = 'App Store Emigrant will manually attempt to verify whether any of your local mobile applications are out of date, which iTunes - unfortunately - will refuse once you have moved countries'
15
15
 
16
16
  s.rubyforge_project = 'app-store-emigrant'
17
17
 
@@ -25,5 +25,10 @@ Gem::Specification.new do |s|
25
25
  s.add_dependency 'CFPropertyList', '~> 2.0.17'
26
26
 
27
27
  s.add_development_dependency 'rake'
28
+
29
+ if RUBY_VERSION < '1.9'
30
+ s.add_dependency 'json'
31
+ s.add_development_dependency 'minitest'
32
+ end
28
33
 
29
34
  end
@@ -18,7 +18,7 @@ module AppStore::Emigrant
18
18
  ]
19
19
 
20
20
  # Regular expression to match a version number in filenames
21
- FILENAME_VERSION_REGEX = Regexp.new('(?<version>[0-9.]+)(?:' + VALID_EXTENSIONS.join('|') + ')')
21
+ FILENAME_VERSION_REGEX = Regexp.new('([0-9.]+)(?:' + VALID_EXTENSIONS.join('|').gsub!('.', '\.') + ')')
22
22
 
23
23
  attr_reader :path
24
24
 
@@ -64,7 +64,7 @@ module AppStore::Emigrant
64
64
 
65
65
  # Otherwise, use the filename
66
66
  unless @version
67
- @version = filename[FILENAME_VERSION_REGEX, :version]
67
+ @version = filename[FILENAME_VERSION_REGEX, 1]
68
68
  end
69
69
 
70
70
  end
@@ -78,7 +78,7 @@ module AppStore::Emigrant
78
78
  begin
79
79
  Zip::ZipFile.open(@path) do |zip|
80
80
  data = zip.file.read('iTunesMetadata.plist')
81
- plist = CFPropertyList::List.new(data: data)
81
+ plist = CFPropertyList::List.new(:data => data)
82
82
  @metadata = CFPropertyList.native_types(plist.value)
83
83
  end
84
84
  rescue Zip::ZipError => e
@@ -26,7 +26,7 @@ module AppStore::Emigrant
26
26
  end
27
27
  puts
28
28
 
29
- sleep(1)
29
+ sleep(0.75)
30
30
  end
31
31
 
32
32
  end
@@ -34,7 +34,7 @@ module AppStore::Emigrant
34
34
  # Forcefully loads applications from disk
35
35
  def load!
36
36
  @apps = []
37
- @path.each_child do |item|
37
+ @path.children.each do |item|
38
38
  if item.file?
39
39
  begin
40
40
  @apps << App.new(item)
@@ -3,6 +3,6 @@ module AppStore; end
3
3
 
4
4
  module AppStore::Emigrant
5
5
 
6
- VERSION = '0.0.1'
6
+ VERSION = '0.0.2'
7
7
 
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app-store-emigrant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-27 00:00:00.000000000 Z
12
+ date: 2012-03-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyzip
16
- requirement: &70227983767300 !ruby/object:Gem::Requirement
16
+ requirement: &70224611793140 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.5
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70227983767300
24
+ version_requirements: *70224611793140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rainbow
27
- requirement: &70227984172040 !ruby/object:Gem::Requirement
27
+ requirement: &70224611792640 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.1.3
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70227984172040
35
+ version_requirements: *70224611792640
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: CFPropertyList
38
- requirement: &70227984171580 !ruby/object:Gem::Requirement
38
+ requirement: &70224611792140 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.0.17
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70227984171580
46
+ version_requirements: *70224611792140
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70227984171200 !ruby/object:Gem::Requirement
49
+ requirement: &70224611791740 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,9 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70227984171200
58
- description: Moved countries and now iTunes refuses to notify you properly with updates?
59
- Rest assured, using App Store Emigrant you know exactly which apps are outdated
57
+ version_requirements: *70224611791740
58
+ description: App Store Emigrant will manually attempt to verify whether any of your
59
+ local mobile applications are out of date, which iTunes - unfortunately - will refuse
60
+ once you have moved countries
60
61
  email:
61
62
  - tim@moonsphere.net
62
63
  executables:
@@ -65,6 +66,8 @@ extensions: []
65
66
  extra_rdoc_files: []
66
67
  files:
67
68
  - .gitignore
69
+ - .travis.yml
70
+ - CHANGELOG
68
71
  - Gemfile
69
72
  - LICENSE
70
73
  - README.md
@@ -83,7 +86,7 @@ files:
83
86
  - specs/fixtures/dummy-library/iTunesMetadata.plist
84
87
  - specs/helpers.rb
85
88
  - specs/library.rb
86
- homepage: http://moonsphere.net
89
+ homepage: https://github.com/timkurvers/app-store-emigrant
87
90
  licenses: []
88
91
  post_install_message:
89
92
  rdoc_options: []
@@ -103,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
106
  version: '0'
104
107
  requirements: []
105
108
  rubyforge_project: app-store-emigrant
106
- rubygems_version: 1.8.15
109
+ rubygems_version: 1.8.17
107
110
  signing_key:
108
111
  specification_version: 3
109
112
  summary: App Store Emigrant will manually attempt to verify whether any of your local