destiny_rb 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a3ce7d1768ec3f0dcb30d8e1dc8eab508806dba
4
- data.tar.gz: c31b04a2ad0870b39377270b4bba040b9fab68f9
3
+ metadata.gz: 86b7e316cba77554d4145e6b8b5613a6ed75d49b
4
+ data.tar.gz: 098f229c82c3c591a06ebd381a639e4cdf65472d
5
5
  SHA512:
6
- metadata.gz: bb3036e42fb12642f7bad80f973249f2a4911bd83487f7d13600210801dc1805944a937768b02ebcf157316d51b8ed0635d24a3b98cceb2e764fb41b6ca9f33f
7
- data.tar.gz: fb1f0288650672968ffa7b07b2aec629d0983620fab272aac503753d4a17ec7a8e7f44dbf8ded651d55817d07991871ba1ffe3223f093cab4783f93329fe670f
6
+ metadata.gz: 21ac286d930b814ac7c12dc2ce5a6e91102de700d858e361de35c88d3bffb33c515edc8c1db99a2ebc46c338114dd54cc9f6d18b945132212bc1c99ad53e331e
7
+ data.tar.gz: 164d6cf51f66f0bc5acd9ac736469d44c0b7d52f105adaf28098462f8f43837d27454a731f7b9dc94b594b665c96d78b8dcfedaf4eb4bb87b0f001e061a67740
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # DestinyRb
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/destiny_rb`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Welcome to Destiny_rb! This is a lightweight Ruby wrapper for Bungies Destiny API. Currently it is only focused on anonymous API calls, so no endpoints that require a XBL/PSN sign-in will be supported. More to come on that in the future!
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ If you are a Slack user feel free to check out [lita-destiny], a Lita handler that spawned this gem!
6
6
 
7
7
  ## Installation
8
8
 
@@ -22,20 +22,25 @@ Or install it yourself as:
22
22
 
23
23
  ## Usage
24
24
 
25
- TODO: Write usage instructions here
25
+ Please refer to the [documentation].
26
26
 
27
27
  ## Development
28
28
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake false` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
30
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org].
32
32
 
33
33
  ## Contributing
34
34
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/destiny_rb. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/PDaily/destiny_rb. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
36
36
 
37
37
 
38
38
  ## License
39
39
 
40
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
40
+ The gem is available as open source under the terms of the [MIT License].
41
41
 
42
+ [lita-destiny]:https://github.com/PDaily/lita-destiny
43
+ [documentation]:http://www.rubydoc.info/gems/destiny_rb
44
+ [Contributor Covenant]:http://contributor-covenant.org/
45
+ [rubygems.org]:https://rubygems.org
46
+ [MIT License]:http://opensource.org/licenses/MIT
@@ -1,6 +1,19 @@
1
1
  module Destiny
2
2
  module Manifest
3
3
 
4
+ def search_destiny_player(player_name, platform_type)
5
+ raw_data = self.class.get("/SearchDestinyPlayer/#{platform_type}/#{player_name}/").parsed_response['Response']['membershipId']
6
+ end
7
+
8
+ def get_destiny_account(player_name, platform_type)
9
+ member_id = self.search_destiny_player(player_name, platform_type)
10
+ raw_data = self.class.get("/#{platform_type}/Account/#{member_id}/").parsed_response['Response']['data']
11
+ end
12
+
13
+ def get_manifest_item(type_id, item_id)
14
+ raw_data = self.class.get("/Manifest/#{type_id}/#{item_id}").parsed_response['Response']['data']['inventoryItem']
15
+ end
16
+
4
17
  # GET information about a place, specifically a planet.
5
18
  #
6
19
  # Usage:
@@ -4,6 +4,26 @@ module Destiny
4
4
  # http://www.bungie.net/Platform/Destiny/Manifest/
5
5
  module ManifestDefinitions
6
6
 
7
+ # Type Checker Helper Method
8
+ #
9
+ # Usage:
10
+ # type_checker(type, hash)
11
+ #
12
+ # Arguments:
13
+ # type: (String/Symbol)
14
+ # hash: (Ruby Hash)
15
+ #
16
+ # Returns:
17
+ # Either a numberic value or symbol extracted from a source hash depending on what type was supplied.
18
+ #
19
+ def type_checker(type, hash)
20
+ if type.is_a? Numeric
21
+ requested_type = hash.key(type) || :none# Fetch type from hash, if type doesn't match return 'none'
22
+ else type.is_a? Symbol
23
+ requested_type = hash.fetch(type, 0) # Fetch type from hash, if type doesn't match return 0 for 'none'
24
+ end
25
+ end
26
+
7
27
  # Character Class definitions
8
28
  #
9
29
  # Usage:
@@ -17,17 +37,13 @@ module Destiny
17
37
  # Either the numeric representation of a character class or a symbol of said class.
18
38
  #
19
39
  def character_class(type)
20
- types = {
40
+ classes = {
21
41
  titan: 0,
22
42
  hunter: 1,
23
43
  warlock: 2,
24
44
  unknown: 3
25
45
  }
26
- if type.is_a? Numeric
27
- requested_type = types.key(type) || :none# Fetch type from hash, if type doesn't match return 'none'
28
- else type.is_a? Symbol
29
- requested_type = types.fetch(type, 0) # Fetch type from hash, if type doesn't match return 0 for 'none'
30
- end
46
+ type_checker(type, classes)
31
47
  end
32
48
 
33
49
  # Enemy Race definitions
@@ -42,18 +58,14 @@ module Destiny
42
58
  # Returns:
43
59
  # Either the numeric representation of a enemy race or a symbol of said race.
44
60
  def enemy_race(type)
45
- types = {
61
+ races = {
46
62
  none: 0, # Not a real Bungie value
47
63
  fallen: 1636291695,
48
64
  vex: 711470098,
49
65
  cabal: 546070638,
50
66
  hive: 3265589059
51
67
  }
52
- if type.is_a? Numeric
53
- requested_type = types.key(type) || :none# Fetch type from hash, if type doesn't match return 'none'
54
- else type.is_a? Symbol
55
- requested_type = types.fetch(type, 0) # Fetch type from hash, if type doesn't match return 0 for 'none'
56
- end
68
+ type_checker(type, races)
57
69
  end
58
70
 
59
71
  # Skull (modifier) definitions
@@ -68,7 +80,7 @@ module Destiny
68
80
  # Returns:
69
81
  # Either the numeric representation of a skull or a symbol of said skull.
70
82
  def skulls(type)
71
- types = {
83
+ skulls = {
72
84
  none: 0, # Not a real Bungie value
73
85
  trickle: 1,
74
86
  grounded: 2,
@@ -86,11 +98,7 @@ module Destiny
86
98
  lightswitch: 19,
87
99
  melee_damage_boost: 20
88
100
  }
89
- if type.is_a? Numeric
90
- requested_type = types.key(type) || :none# Fetch type from hash, if type doesn't match return 'none'
91
- else type.is_a? Symbol
92
- requested_type = types.fetch(type, 0) # Fetch type from hash, if type doesn't match return 0 for 'none'
93
- end
101
+ type_checker(type, skulls)
94
102
  end
95
103
 
96
104
  end
@@ -9,7 +9,7 @@ module Destiny
9
9
  if raw
10
10
  raw_data
11
11
  elsif raw_data.empty?
12
- return { status: "Xur is not in the game world." }
12
+ return nil
13
13
  else
14
14
  vendor_hash = raw_data['data']['vendorHash']
15
15
  sale_items = {}
@@ -1,3 +1,3 @@
1
1
  module Destiny
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: destiny_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - pDaily
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-29 00:00:00.000000000 Z
11
+ date: 2015-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty