helu 0.3 → 0.3.1

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.
Files changed (4) hide show
  1. checksums.yaml +6 -14
  2. data/README.md +23 -5
  3. data/lib/project/helu.rb +15 -9
  4. metadata +7 -7
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MTcxNmVmZTRhNDVjZGVhN2NmZmIxNGY1NDdmNjE5MmU2MzQ0ZjVlZg==
5
- data.tar.gz: !binary |-
6
- NGYxYmZlOWYwMmVlMzJjZjkzODY4MTZkNWY1MjYzNTEyN2MyYzdkYg==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- YTY3M2ZjOTM4MThjZmYzZWNmNzQ1NzE5MGM3YWYzNGFjYTI5Yjg1NTU0OTQx
10
- ZDg5ZGU0NTAzMzE5NGJiMWNiNmI2NWI5YmMyMDE1NTE0YTllN2JkNzJmNzE3
11
- MDIyYmNkNmQxODg4MGJlMjMwNzk1MWFjOTkyNzFlOTk4ZDc1MTA=
12
- data.tar.gz: !binary |-
13
- ZjRiZDBmODljYmNkYzZkMDM3ZWRjYzAyYjMxZmUzOGIyZjk2MDU5ODVlNzVj
14
- NDc5OWRkMzkzYTZhOWMzMWRlMzJkMGNkNTA2ZWE3YjU0ZGI1OTA0YTMwNjcx
15
- ODg1N2U2MmVjZmZjZDk4YmIxMzY5YjhiZGJiYmQ3MTdiYzE5YjY=
2
+ SHA1:
3
+ metadata.gz: dd16fb8348af027762051e2ae46369e293b845b6
4
+ data.tar.gz: 23ba3a3f9ecbf344cf55f63a96d5c1acc6155879
5
+ SHA512:
6
+ metadata.gz: 75547bc6258890a999f3d3b97e29adbc863bde388232e6872e26ddb7874db17e99bcc20989c38b763ca14e3d5f34346980316051268d2ccdd0a14b2e2f31f17d
7
+ data.tar.gz: 33c1ec1f4204156759dceb2658968b4204d5cf8f9ba7e52066b0b27ee4413fc4e36d3770ef8f4779e1b3aed07a9c44e71120d970cbcde15dbd4d58a16ce22040
data/README.md CHANGED
@@ -23,12 +23,30 @@ Start a helu with the In App Purchase ID:
23
23
 
24
24
  #### create blocks for failing and buying:
25
25
 
26
- fail_block = lambda { # node here for failed in app purchase }
27
- buy_block = lambda { # code here for successful in app purchase }
26
+ @helu.fail = lambda { |transaction| puts transaction ; # node here for failed in app purchase }
27
+ @helu.winning = lambda { |transaction| puts transaction ; # code here for successful in app purchase }
28
+
29
+
30
+ The transaction object on the lambda is the one we get from Apple; Therefore, it is a SKPaymentTransaction. [More information about it here](http://developer.apple.com/library/ios/#documentation/StoreKit/Reference/SKPaymentTransaction_Class/Reference/Reference.html)
31
+
28
32
 
29
- @helu.fail = fail_block
30
- @helu.winning = winning_block
31
33
 
32
34
  #### buy the product:
33
35
 
34
- @helu.buy
36
+ @helu.buy
37
+
38
+
39
+ Make sure that if your code ever throws out the Helu object, it better also close the store before doing so.
40
+
41
+ @helu.close_the_store
42
+
43
+
44
+ ## Example App:
45
+
46
+ [You can find an example app here](https://github.com/ivanacostarubio/helu-example). Remember that for this to work properly, you must add your app identifier to the Rakefile.
47
+
48
+
49
+ ## Supported types of In App Purchases
50
+
51
+ + Consumables and Non-Consumables are supported.
52
+ + Auto-Renewable subscriptions and Non-Renewing Subscriptions are not supported yet. However, we would love some help making it happen.
@@ -4,7 +4,11 @@ class Helu
4
4
 
5
5
  def initialize(product_id)
6
6
  @product_id = product_id
7
- # SKPaymentQueue.defaultQueue.addTransactionObserver(self)
7
+ SKPaymentQueue.defaultQueue.addTransactionObserver(self)
8
+ end
9
+
10
+ def close_the_store
11
+ SKPaymentQueue.defaultQueue.removeTransactionObserver(self)
8
12
  end
9
13
 
10
14
  def fail=(fail_block)
@@ -52,14 +56,16 @@ class Helu
52
56
 
53
57
  def paymentQueue(queue,updatedTransactions:transactions)
54
58
  transactions.each do |transaction|
55
- case transaction.transactionState
56
- when SKPaymentTransactionStatePurchased
57
- completeTransaction(transaction)
58
- when SKPaymentTransactionStateFailed
59
- failedTransaction(transaction)
60
- when SKPaymentTransactionStateRestored
61
- restoreTransaction(transaction)
62
- else
59
+ if transaction.payment.productIdentifier == @product_id
60
+ case transaction.transactionState
61
+ when SKPaymentTransactionStatePurchased
62
+ completeTransaction(transaction)
63
+ when SKPaymentTransactionStateFailed
64
+ failedTransaction(transaction)
65
+ when SKPaymentTransactionStateRestored
66
+ restoreTransaction(transaction)
67
+ else
68
+ end
63
69
  end
64
70
  end
65
71
  end
metadata CHANGED
@@ -1,30 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helu
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Acosta-Rubio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-03 00:00:00.000000000 Z
11
+ date: 2013-07-10 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
- description: ! 'RubyMotion :: StoreKit Wrapper :: Allows In App Purchases '
27
+ description: 'RubyMotion :: StoreKit Wrapper :: Allows In App Purchases '
28
28
  email:
29
29
  - ivan@bakedweb.net
30
30
  executables: []
@@ -44,12 +44,12 @@ require_paths:
44
44
  - lib
45
45
  required_ruby_version: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ! '>='
47
+ - - '>='
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0'
50
50
  required_rubygems_version: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  requirements: []