rshighscores 2.1.1 → 2.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: 65715b1d02915366ec42ac21a14426e2af3dc4e2
4
- data.tar.gz: 045218ae68c4899ad5885dc2d9b1cdd0093ebb80
3
+ metadata.gz: e47bd25d623e58d7e806484e996a9fd8b0d3ac9d
4
+ data.tar.gz: 9a95d5259545c2c19d5042e560721e41330eb6d3
5
5
  SHA512:
6
- metadata.gz: 94bdf04ea1cbc42499029f6315f0413435af5b05bfd4304d6fc5b7c8a7a65db74d9f6921be90394c22ad0f4e221387cbfa1c3bdc62f0535bcd5259d2dd2e41a9
7
- data.tar.gz: 77265f8db8e0aff161ff466fd32de31eaad7f9975b3eb504c7155556dd3349f5794fa409850bb5a407e8b988a9acb2b7b2eb114f5a4e37e9b751b827519294cc
6
+ metadata.gz: 5d116132777523f47b7a4268d75034634527c27ba5b2e88bd6b6d85ff27d92d0d4cc8f62d01075adfa77d1cc527b4f3cd25f721faecfb7dbffafaff42d6cc3a0
7
+ data.tar.gz: f84228af4a6c0af5c7b31c8669478d3ad9ead4e24ec699e203b8b65f7f3a878698d798775104474117800a7f1a0580ac0b79f1281b9a14c687885f44436fe8ad
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # RsHighscores
2
2
 
3
- [![Code Climate](https://codeclimate.com/github/sambooo/OSRSGrabber.png)](https://codeclimate.com/github/sambooo/OSRSGrabber)
3
+ [![Code Climate](https://codeclimate.com/github/sambooo/RsHighscores.png)](https://codeclimate.com/github/sambooo/RsHighscores)
4
4
 
5
5
  Easy to use gem for downloading and parsing Runescape highscores. Inspired to some extent by [Partyhat](https://github.com/clooth/Partyhat)
6
6
 
data/lib/rshighscores.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  end
4
4
 
5
5
  module RsHighscores
6
- VERSION = "2.1.1"
6
+ VERSION = "2.1.2"
7
7
  end
8
8
 
9
9
  module OSRS
@@ -29,20 +29,7 @@ module RsHighscores
29
29
  @stats = []
30
30
  @raw_stats.take(self.class::ActualStatCount).each do |line|
31
31
  raise "malformed raw stats" unless line =~ /\d+,\d+,\d+/
32
- stat = line.split(",").map(&:to_i)
33
-
34
- class << stat
35
- def method_missing name, *args
36
- case name
37
- when :rank
38
- return self[0]
39
- when :level
40
- return self[1]
41
- when :xp
42
- return self[2]
43
- end
44
- end
45
- end
32
+ stat = Stat.new line.split(",").map(&:to_i)
46
33
 
47
34
  @stats << stat
48
35
  end
@@ -60,4 +47,32 @@ module RsHighscores
60
47
  raise NoMethodError
61
48
  end
62
49
  end
50
+
51
+ class Stat
52
+ attr_reader :backing_array
53
+
54
+ def initialize backing_array
55
+ @backing_array = backing_array
56
+ end
57
+
58
+ def length
59
+ backing_array.length
60
+ end
61
+
62
+ def each &block
63
+ backing_array.each &block
64
+ end
65
+
66
+ def rank
67
+ backing_array[0]
68
+ end
69
+
70
+ def level
71
+ backing_array[1]
72
+ end
73
+
74
+ def xp
75
+ backing_array[2]
76
+ end
77
+ end
63
78
  end
data/spec/lookup_spec.rb CHANGED
@@ -73,7 +73,7 @@ describe RsHighscores::Stats do
73
73
 
74
74
  it "success on valid skill lookup" do
75
75
  RsHighscores::Stats::Skills.each do |name|
76
- @stats[name].should be_a(Array)
76
+ @stats[name].should be_a(RsHighscores::Stat)
77
77
  end
78
78
  end
79
79
 
@@ -24,7 +24,7 @@ describe RsHighscores::OldSchool::Player do
24
24
 
25
25
  it "individual skill lookup" do
26
26
  @stats.stats.each do |stat|
27
- stat.should be_a(Array)
27
+ stat.should be_a(RsHighscores::Stat)
28
28
  stat.each do |elem|
29
29
  elem.should be_a(Numeric)
30
30
  end
@@ -33,7 +33,7 @@ describe RsHighscores::OldSchool::Player do
33
33
 
34
34
  it "named stat lookup" do
35
35
  OSRS::Stats::Skills.each do |skill|
36
- @stats.send(skill.to_sym).should be_a(Array)
36
+ @stats.send(skill.to_sym).should be_a(RsHighscores::Stat)
37
37
  end
38
38
  end
39
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rshighscores
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Broughton