rm_vendor 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGI5ODE0ZjIxODM0ODNiYjMyZjY0ZWQ3NjgwZmNmNGRkZjRhNzA0Nw==
4
+ NDliOWI1YWQ0YzEzMGE3OTY5OTA0YzczZDA1Y2ZjY2YwNjI5NjUzMA==
5
5
  data.tar.gz: !binary |-
6
- MjVhYTZkOTkyNWZlMWY5MWYwNzlhNTQyYThiNzJkNmM0NTQ4ZjJiYQ==
6
+ MzUyMTllMDFiYzFhYTk0ZTExYjAxNDAyNjFlYzc0MjViYzZmNWU2MA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OGQyNjE0ZGExZjA5ZjI0NGQ3OGY5NTI5ZjE1OWNkODA1YjhkYjY0MWQyYTI5
10
- YWE4N2U4MzU3MDVmN2FlZGIzMDcyYmRjMTRjMDkzNTZiYzI2YTZmOGZlMjhi
11
- YWM4YzNkNGRlMWY1ODViY2IxMTNhM2UzNTc3MGZmZGIxYjQxYjk=
9
+ NmU0MWJkMWQ2YmY1MmIzMWQ5YTA5OGM2ZTZhYjA0MTU0YmRlMzY4MGQwNjEz
10
+ Mjc3MWY2MDFkZGYxM2Q0MGQ2OTk3ZTM2ZmJiZWRjMTcyM2ZjN2E3NmM4ZmNm
11
+ YjRmNDQxZDE4ODZkMDljYjM3YmJkMjNiOWYxYWYwZThmNmQxMjQ=
12
12
  data.tar.gz: !binary |-
13
- YTYyMjcwNGFmZjg4MWEyNjk3MGFjYmQyMGU4YTk1YmQxNTQ1NzA3MGUxYmM0
14
- ZjIzZjQ5ZjYxYzZmZjI1MGYwNmMxODgyYzU4NTFkM2U1ZDk2ZWE0NTNhNzNk
15
- YTdkNDYyM2EyZjk0MzkyZDExMDYyMTlhN2NmOThmNTE5ZTM5MjI=
13
+ ODgzYWNkOTNmZmQ2MjNhODdhNjA4MjVjZjI0ODlkMTkxNjFlZGJiYTExZmE1
14
+ ZGNlZTdjNWI4OTg4ZmFiNDQwODc3YWU4Nzk1NWYzMTJmZDRmNzc2MmRlOGQy
15
+ NTdhNDFhOWEzMjMwNTIxZmJjZjE4YTE3ZGQ4ODU4NGU1ODEwMTc=
@@ -9,19 +9,15 @@ require 'sugarcube-nsuserdefaults'
9
9
  require 'sugarcube-files'
10
10
  require 'motion-cocoapods'
11
11
 
12
- unless defined?(Motion::Project::Config)
13
- raise "This file must be required within a RubyMotion project Rakefile."
14
- end
15
-
16
- require 'motion/project/template/ios'
17
-
18
12
  lib_dir_path = File.dirname(File.expand_path(__FILE__))
19
13
  Motion::Project::App.setup do |app|
20
14
  app.files.unshift(Dir.glob(File.join(lib_dir_path, "project/**/*.rb")))
21
15
 
22
16
  app.frameworks += ['StoreKit']
23
-
24
- app.pods ||= Motion::Project::CocoaPods.new(app)
25
- app.pods.pod 'CocoaSecurity'
26
- app.pods.pod 'CargoBay', '~> 2.0.2'
17
+
18
+ if !App.osx?
19
+ app.pods ||= Motion::Project::CocoaPods.new(app)
20
+ app.pods.pod 'CocoaSecurity'
21
+ app.pods.pod 'CargoBay', '2.0.0'
22
+ end
27
23
  end
@@ -16,7 +16,7 @@ module Vendor
16
16
  def purchase(params, &block)
17
17
  @params = params
18
18
  @block = block
19
- SKPaymentQueue.defaultQueue.addPayment(SKPayment.paymentWithProductIdentifier(@params.id))
19
+ SKPaymentQueue.defaultQueue.addPayment(SKPayment.paymentWithProduct(@params.sk_product))
20
20
  end
21
21
 
22
22
  def restore(params, &block)
@@ -33,7 +33,7 @@ module Vendor
33
33
  return if @params.nil?
34
34
  password = @params.secret=="no_secret" ? nil : @params.secret
35
35
 
36
- if success
36
+ if success && !App.osx? # If successfull and ios
37
37
  # Verify transaction receipt
38
38
  Vendor::Receipt.new(transaction.transactionReceipt, @params) do |block|
39
39
  valid_receipt = block[:success] && block[:object][:status]==0
@@ -24,8 +24,22 @@ module Vendor
24
24
 
25
25
  # INFO METHODS
26
26
  def price
27
- price = NSUserDefaults["#{@params.id}.price"] || @params.price
28
- price.to_f.string_with_style(NSNumberFormatterCurrencyStyle)
27
+ local_price = NSUserDefaults["#{@params.id}.price"] || @params.price
28
+ number_formatter = NSNumberFormatter.alloc.init
29
+ number_formatter.setFormatterBehavior(NSNumberFormatterBehavior10_4)
30
+ number_formatter.setNumberStyle(NSNumberFormatterCurrencyStyle)
31
+ number_formatter.setLocale(price_locale)
32
+
33
+ currency_string = number_formatter.internationalCurrencySymbol
34
+ format = number_formatter.positiveFormat
35
+ format.gsub("¤", currency_string)
36
+ number_formatter.setPositiveFormat(format)
37
+
38
+ return number_formatter.stringFromNumber(local_price)
39
+ end
40
+
41
+ def price_locale
42
+ @params[:price_locale]==nil ? NSLocale.alloc.initWithLocaleIdentifier("en_US") : @params[:price_locale]
29
43
  end
30
44
 
31
45
  def title
@@ -78,6 +92,7 @@ module Vendor
78
92
  if exists
79
93
  product = response.products.first
80
94
  NSUserDefaults["#{@params.id}.price"] = product.price
95
+ @params[:price_locale] = product.priceLocale
81
96
  NSUserDefaults["#{@params.id}.localizedTitle"] = product.localizedTitle
82
97
  NSUserDefaults["#{@params.id}.localizedDescription"] = product.localizedDescription
83
98
  end
@@ -89,4 +104,4 @@ module Vendor
89
104
  @block.call({success: false, response: nil, error: error}.to_object)
90
105
  end
91
106
  end
92
- end
107
+ end
@@ -16,6 +16,7 @@ module Vendor
16
16
  # Update product and set exists variable
17
17
  @info = Vendor::Info.new(@params) do |block|
18
18
  @exists = block.success
19
+ @params[:sk_product] = block.response.products.first if block.success
19
20
  @block.call(block) unless @block.nil?
20
21
  end
21
22
  end
@@ -38,6 +39,10 @@ module Vendor
38
39
  @info.price
39
40
  end
40
41
 
42
+ def price_locale
43
+ @info.price_locale
44
+ end
45
+
41
46
  def title
42
47
  @info.title
43
48
  end
@@ -7,7 +7,6 @@ module Vendor
7
7
  end
8
8
 
9
9
  def initialize(products=[], &block)
10
- NSLog "Products initialize"
11
10
  # Set up products array
12
11
  @products = []
13
12
 
@@ -28,8 +27,10 @@ module Vendor
28
27
  :secret => "no_secret",
29
28
  :subscription => false,
30
29
  :price => "0.99",
30
+ :price_locale => nil,
31
31
  :title => "No Title",
32
- :desc => "No Description."
32
+ :desc => "No Description.",
33
+ :sk_product => nil
33
34
  }
34
35
  options = default_options.merge(product)
35
36
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rm_vendor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Holger Sindbaek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-13 00:00:00.000000000 Z
11
+ date: 2014-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake