diff --git a/Gemfile.lock b/Gemfile.lock index 8682ea8..54e8c9b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,14 +7,24 @@ PATH GEM remote: https://rubygems.org/ specs: + diff-lcs (1.2.5) mime-types (2.2) rake (10.1.1) rest-client (1.6.7) mime-types (>= 1.16) + rspec (2.14.1) + rspec-core (~> 2.14.0) + rspec-expectations (~> 2.14.0) + rspec-mocks (~> 2.14.0) + rspec-core (2.14.8) + rspec-expectations (2.14.5) + diff-lcs (>= 1.1.3, < 2.0) + rspec-mocks (2.14.6) PLATFORMS x64-mingw32 DEPENDENCIES rake + rspec sightstone! diff --git a/Rakefile b/Rakefile index 125f10e..843bff9 100644 --- a/Rakefile +++ b/Rakefile @@ -1,9 +1,6 @@ -require 'rake/testtask' +require 'rspec/core/rake_task' -Rake::TestTask.new do |t| - t.libs << 'test' -end +RSpec::Core::RakeTask.new('spec') - -task :default #=> :test \ No newline at end of file +task :default => :spec \ No newline at end of file diff --git a/lib/sightstone/champion.rb b/lib/sightstone/champion.rb index 4ddc163..55f7f70 100644 --- a/lib/sightstone/champion.rb +++ b/lib/sightstone/champion.rb @@ -15,17 +15,10 @@ class Champion attr_accessor :active, :attackRank, :botEnabled, :botMmEnabled attr_accessor :defenseRank, :difficultyRank, :freeToPlay, :id, :magicRank, :name, :rankedPlayEnabled - def initialize(data) - @active = data['active'] - @attackRank = data['attackRank'] - @botEnabled = data['botEnabled'] - @defenseRank = data['defenseRank'] - @difficultyRank = data['difficultyRank'] - @freeToPlay = data['freeToPlay'] - @id = data['id'] - @magicRank = data['magicRank'] - @name = data['name'] - @rankedPlayEnabled = data['rankedPlayEnabled'] + def initialize args + args.each do |k,v| + instance_variable_set("@#{k}", v) unless v.nil? + end end end diff --git a/sightstone.gemspec b/sightstone.gemspec index 51ced42..73a79ca 100644 --- a/sightstone.gemspec +++ b/sightstone.gemspec @@ -12,4 +12,5 @@ Gem::Specification.new do |s| s.add_runtime_dependency 'rest-client' s.add_development_dependency 'rake' + s.add_development_dependency "rspec" end diff --git a/spec/champion_spec.rb b/spec/champion_spec.rb new file mode 100644 index 0000000..4247745 --- /dev/null +++ b/spec/champion_spec.rb @@ -0,0 +1,13 @@ +require 'spec_helper' + +module Sightstone + describe Champion do + describe "#new" do + it "should initialize a champion object" do + c = Champion.new({active: true, attackRank: 1, botEnabled: true, botMmEnabled: true, defenseRank: 1, + freeToPlay: false, id: 1, magicRank: 1, name: "testName", rankedPlayEnabled: true}) + c.should be_an_instance_of Champion + end + end + end +end \ No newline at end of file diff --git a/spec/sightstone_spec.rb b/spec/sightstone_spec.rb new file mode 100644 index 0000000..c235c01 --- /dev/null +++ b/spec/sightstone_spec.rb @@ -0,0 +1,39 @@ +require 'spec_helper' + +module Sightstone + describe Sightstone do + + before :each do + @sightstone = Sightstone.new("key", "region") + end + + describe "#new" do + + it "should initialize a sightstone object" do + @sightstone.should be_an_instance_of Sightstone + end + + it "should initialize with the correct params" do + @sightstone.api_key.should eql "key" + @sightstone.region.should eql "region" + end + + it "should initialize all modules" do + @sightstone.summoner.should be_an_instance_of SummonerModule + @sightstone.champion.should be_an_instance_of ChampionModule + @sightstone.game.should be_an_instance_of GameModule + @sightstone.league.should be_an_instance_of LeagueModule + @sightstone.stats.should be_an_instance_of StatsModule + @sightstone.ddragon.should be_an_instance_of DatadragonModule + @sightstone.team.should be_an_instance_of TeamModule + end + + it "should initialize with a default region" do + s = Sightstone.new "my key" + s.region.should eql "euw" + end + end + end +end + + \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 0000000..23e5ea3 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,7 @@ +require 'rspec' +require 'sightstone' + +RSpec.configure do |config| + config.color_enabled = true + config.formatter = 'documentation' +end \ No newline at end of file