apple_models 1.0.4 → 2.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.
- checksums.yaml +5 -13
- data/.travis.yml +5 -3
- data/README.md +8 -3
- data/lib/apple_models/device.rb +16 -0
- data/lib/apple_models/version.rb +1 -1
- data/lib/apple_models.rb +50 -44
- data/spec/apple_models_spec.rb +1 -1
- data/spec/device_spec.rb +23 -0
- metadata +10 -7
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MGU3ZTc0ZmQxMDIwOGYzZGYzNTJiNDljM2JiNWJlNWI5Mzc4OTc4OQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8d79a30fb81134b1ff4cd680decbc11660c73005
|
4
|
+
data.tar.gz: ec6976f73dc52ef25991a43b9db652787cb74f0f
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ODcyZGQ1ZDNhNzI1MzlmNDNjYzRmZjE0YTQyY2M2NTE2NWU0ZDEwYWY4NTg4
|
11
|
-
ZmU5YWE2ZjdmODljMTZjZjFlNzY4N2Y4ZTNiYmU2MmY4ZjQyOTA=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YzAwZGM3Yzk0ZDk2MmQ0ZDJiMzM2YmVkMzJhYTg2MzEwMmQ3NDM3MzRjZWI0
|
14
|
-
NmI0YTAxMjlhYjQ2NTc0MWMyNWZkOWU2ODFhYmVlNTQ0ODQwNDFjOTNmMDE0
|
15
|
-
NWUzM2ZhYTJhN2Q1ZmZkYWFlNjAxMmU5MTkwYTkyODhkMmZiMWY=
|
6
|
+
metadata.gz: 7e5412c5f15b3ca2de61c632679094a420fcca5ec9b745e24d626a566b5e57f88cc20b4982808f59558b3b907eefca453abafd8d11c39351f044bf3423b204ec
|
7
|
+
data.tar.gz: e588efddf4a2025d9b213490addcb37c2a7b2bf6a545d5c95aa21643eca3aada0668b0fc0ffc1be072ce3100576679f8cf4d76066d5dfb792544ead89e797c27
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# Apple Models [](http://travis-ci.org/tboyko/apple_models) [](https://codeclimate.com/github/tboyko/apple_models)
|
2
2
|
|
3
|
-
Retrieve the model
|
3
|
+
Retrieve the model and version of an Apple product based on the model id. __Note:__ the model id is also referred to as the product code and the product id.
|
4
4
|
|
5
|
-
__Special Note:__ At this time, only iOS product lookups are available. Feel free to fork and expand the
|
5
|
+
__Special Note:__ At this time, only iOS product lookups are available. Feel free to fork and expand the catalog!
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -21,7 +21,12 @@ Or install it yourself as:
|
|
21
21
|
## Usage
|
22
22
|
|
23
23
|
```ruby
|
24
|
-
AppleModels.find('iPad2,7')
|
24
|
+
device = AppleModels.find('iPad2,7')
|
25
|
+
|
26
|
+
device.identifier # "iPad2,7"
|
27
|
+
device.model # "iPad"
|
28
|
+
device.version # "Mini (Global)"
|
29
|
+
device.friendly_name # "iPad Mini (Global)"
|
25
30
|
```
|
26
31
|
|
27
32
|
## Contributing
|
data/lib/apple_models/version.rb
CHANGED
data/lib/apple_models.rb
CHANGED
@@ -1,51 +1,57 @@
|
|
1
1
|
require 'apple_models/version'
|
2
|
+
require 'apple_models/device'
|
2
3
|
|
3
4
|
module AppleModels
|
4
|
-
@@catalog =
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
5
|
+
@@catalog = [
|
6
|
+
# identifier model version
|
7
|
+
[ 'AppleTV1,1', 'Apple TV', '1' ],
|
8
|
+
[ 'AppleTV2,1', 'Apple TV', '2' ],
|
9
|
+
[ 'AppleTV3,1', 'Apple TV', '3' ],
|
10
|
+
[ 'AppleTV3,2', 'Apple TV', '3' ],
|
11
|
+
[ 'iPhone1,1', 'iPhone', '2G' ],
|
12
|
+
[ 'iPhone1,2', 'iPhone', '3G' ],
|
13
|
+
[ 'iPhone2,1', 'iPhone', '3GS' ],
|
14
|
+
[ 'iPhone3,1', 'iPhone', '4 (GSM)' ],
|
15
|
+
[ 'iPhone3,2', 'iPhone', '4 (GSM)' ],
|
16
|
+
[ 'iPhone3,3', 'iPhone', '4 (CDMA)' ],
|
17
|
+
[ 'iPhone4,1', 'iPhone', '4S' ],
|
18
|
+
[ 'iPhone5,1', 'iPhone', '5 (GSM)' ],
|
19
|
+
[ 'iPhone5,2', 'iPhone', '5 (Global)' ],
|
20
|
+
[ 'iPhone5,3', 'iPhone', '5C (GSM)' ],
|
21
|
+
[ 'iPhone5,4', 'iPhone', '5C (Global)' ],
|
22
|
+
[ 'iPhone6,1', 'iPhone', '5S (GSM)' ],
|
23
|
+
[ 'iPhone6,2', 'iPhone', '5S (Global)' ],
|
24
|
+
[ 'iProd0,1', 'iPad', 'Prototype' ],
|
25
|
+
[ 'iPad1,1', 'iPad', '1' ],
|
26
|
+
[ 'iPad2,1', 'iPad', '2 (WiFi)' ],
|
27
|
+
[ 'iPad2,2', 'iPad', '2 (GSM)' ],
|
28
|
+
[ 'iPad2,3', 'iPad', '2 (CDMA)' ],
|
29
|
+
[ 'iPad2,4', 'iPad', '2' ],
|
30
|
+
[ 'iPad2,5', 'iPad', 'Mini (WiFi)' ],
|
31
|
+
[ 'iPad2,6', 'iPad', 'Mini (GSM)' ],
|
32
|
+
[ 'iPad2,7', 'iPad', 'Mini (Global)' ],
|
33
|
+
[ 'iPad3,1', 'iPad', '3 (WiFi)' ],
|
34
|
+
[ 'iPad3,2', 'iPad', '3 (CDMA)' ],
|
35
|
+
[ 'iPad3,3', 'iPad', '3 (GSM)' ],
|
36
|
+
[ 'iPad3,4', 'iPad', '4 (WiFi)' ],
|
37
|
+
[ 'iPad3,5', 'iPad', '4 (GSM)' ],
|
38
|
+
[ 'iPad3,6', 'iPad', '4 (Global)' ],
|
39
|
+
[ 'iPad4,2', 'iPad', 'Air (Cellular)' ],
|
40
|
+
[ 'iPad4,4', 'iPad', 'Mini Retina (WiFi)' ],
|
41
|
+
[ 'iPad4,5', 'iPad', 'Mini Retina (Cellular)' ],
|
42
|
+
[ 'iPod1,1', 'iPod', 'Touch 1G' ],
|
43
|
+
[ 'iPod2,1', 'iPod', 'Touch 2G' ],
|
44
|
+
[ 'iPod2,2', 'iPod', 'Touch 3' ],
|
45
|
+
[ 'iPod3,1', 'iPod', 'Touch 3' ],
|
46
|
+
[ 'iPod4,1', 'iPod', 'Touch 4' ],
|
47
|
+
[ 'iPod5,1', 'iPod', 'Touch 5' ],
|
48
|
+
]
|
47
49
|
|
48
50
|
def self.find(product_id)
|
49
|
-
@@catalog[product_id
|
51
|
+
if (match = @@catalog.select { |i| i[0] == product_id }.first)
|
52
|
+
Device.new identifier: match[0],
|
53
|
+
model: match[1],
|
54
|
+
version: match[2]
|
55
|
+
end
|
50
56
|
end
|
51
57
|
end
|
data/spec/apple_models_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe AppleModels do
|
4
4
|
it 'returns the correct model name when provided a model id' do
|
5
|
-
AppleModels.find('iPad2,7').should
|
5
|
+
AppleModels.find('iPad2,7').friendly_name.should == 'iPad Mini (Global)'
|
6
6
|
end
|
7
7
|
|
8
8
|
it 'returns nil when an unknown model id is provided' do
|
data/spec/device_spec.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe AppleModels::Device do
|
4
|
+
|
5
|
+
subject(:device) do
|
6
|
+
id = "iPhone6,2"
|
7
|
+
model = "iPhone"
|
8
|
+
version = "5S (Global)"
|
9
|
+
|
10
|
+
device = AppleModels::Device.new identifier: id,
|
11
|
+
model: model,
|
12
|
+
version: version
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'initializes with an array of parameters' do
|
16
|
+
device.identifier.should == "iPhone6,2"
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'produces a friendly name' do
|
20
|
+
device.friendly_name.should == "iPhone 5S (Global)"
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apple_models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taylor Boyko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -54,8 +54,10 @@ files:
|
|
54
54
|
- Rakefile
|
55
55
|
- apple_models.gemspec
|
56
56
|
- lib/apple_models.rb
|
57
|
+
- lib/apple_models/device.rb
|
57
58
|
- lib/apple_models/version.rb
|
58
59
|
- spec/apple_models_spec.rb
|
60
|
+
- spec/device_spec.rb
|
59
61
|
- spec/spec_helper.rb
|
60
62
|
homepage: https://github.com/tboyko/apple_models
|
61
63
|
licenses:
|
@@ -67,20 +69,21 @@ require_paths:
|
|
67
69
|
- lib
|
68
70
|
required_ruby_version: !ruby/object:Gem::Requirement
|
69
71
|
requirements:
|
70
|
-
- -
|
72
|
+
- - '>='
|
71
73
|
- !ruby/object:Gem::Version
|
72
74
|
version: '0'
|
73
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
76
|
requirements:
|
75
|
-
- -
|
77
|
+
- - '>='
|
76
78
|
- !ruby/object:Gem::Version
|
77
79
|
version: '0'
|
78
80
|
requirements: []
|
79
81
|
rubyforge_project:
|
80
|
-
rubygems_version: 2.
|
82
|
+
rubygems_version: 2.0.14
|
81
83
|
signing_key:
|
82
84
|
specification_version: 4
|
83
85
|
summary: ''
|
84
86
|
test_files:
|
85
87
|
- spec/apple_models_spec.rb
|
88
|
+
- spec/device_spec.rb
|
86
89
|
- spec/spec_helper.rb
|