app_store 0.0.1 → 0.0.3
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/VERSION +1 -1
- data/lib/app_store/caller.rb +3 -0
- data/lib/app_store/category.rb +12 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/lib/app_store/caller.rb
CHANGED
@@ -20,6 +20,9 @@ module AppStore::Caller
|
|
20
20
|
# Format is XXXXXX-Y,Z where XXXXXX is the store number (us, french, ...), Y the language and Z the return format.
|
21
21
|
# If you omit the language, the default one for the store is used.
|
22
22
|
# Return format can be either "1" or "2" : "1" returns data to be directly displayed and "2" is a more structured format.
|
23
|
+
# apple app store codes:
|
24
|
+
# * 143441 : US
|
25
|
+
# * 143442 : FR
|
23
26
|
answer = iphone_agent.get(:url => url, :headers => {"X-Apple-Store-Front" => '143441,2'}, :params => params)
|
24
27
|
raise AppStore::RequestError if answer.code.to_s != '200'
|
25
28
|
Plist::parse_xml answer.body
|
data/lib/app_store/category.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "app_store/base"
|
2
2
|
require "app_store/application"
|
3
|
+
require 'pp'
|
3
4
|
|
4
5
|
# A category like categories on the AppStore.
|
5
6
|
# Available attributes:
|
@@ -18,13 +19,23 @@ class AppStore::Category < AppStore::Base
|
|
18
19
|
plist['items'].collect { |item| new :plist => item }
|
19
20
|
end
|
20
21
|
|
22
|
+
def self.find_by_id(id)
|
23
|
+
# TODO: pass item_id to new
|
24
|
+
category = new(:plist => AppStore::Caller.get(AppStore::Caller::CategoryURL, :id => id))
|
25
|
+
end
|
26
|
+
|
27
|
+
# Returns id for this category
|
28
|
+
def item_id
|
29
|
+
@item_id ||= @raw['url'].match("id=([0-9]+)")[1]
|
30
|
+
end
|
31
|
+
|
21
32
|
# Returns an array of items contained in the category, with a maximum of 25 items (Apple limitation).
|
22
33
|
# If there are more than 25 items in the category, an extra item is added at the end of the list
|
23
34
|
# as a link to the next 25 entries.
|
24
35
|
# Each element can be either a Category or an Application.
|
25
36
|
def items
|
26
37
|
if @items.nil?
|
27
|
-
plist = AppStore::Caller.get(@raw['url'])
|
38
|
+
plist = @raw['items'] ? @raw : AppStore::Caller.get(@raw['url'])
|
28
39
|
@items = AppStore::List.new(
|
29
40
|
:list => plist['items'],
|
30
41
|
:element_type => 'link',
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: app_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fabien Jakimowicz
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-11-
|
12
|
+
date: 2009-11-06 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|