tvdbr 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tvdbr (0.1.0)
4
+ tvdbr (0.2.0)
5
5
  hashie
6
6
  httparty (>= 0.8.0)
7
7
 
@@ -10,7 +10,7 @@ GEM
10
10
  specs:
11
11
  activesupport (3.0.0)
12
12
  hashie (1.2.0)
13
- httparty (0.8.1)
13
+ httparty (0.9.0)
14
14
  multi_json (~> 1.0)
15
15
  multi_xml
16
16
  i18n (0.6.1)
data/examples/demo2.rb CHANGED
@@ -5,6 +5,10 @@ require 'active_support/all'
5
5
  # Updated APIs circa 10/05/2012
6
6
  tvdb = Tvdbr::Client.new('5FEC454623154441')
7
7
 
8
+ # Find episode by id
9
+ episode = tvdb.find_episode_by_id(326177)
10
+ puts episode.inspect
11
+
8
12
  # Find episode with airdate
9
13
  episode = tvdb.find_episode_by_airdate(80348, '2007-09-24')
10
14
  puts episode.inspect
@@ -7,10 +7,10 @@ module Tvdbr
7
7
  ## INSTANCE METHODS ##
8
8
 
9
9
  # Tvdb::DataSet.new(self, { :foo => "bar" })
10
- def initialize(parent, *args)
10
+ def initialize(parent, source_hash = nil, default = nil, &block)
11
11
  @parent = parent
12
- args[0] = normalize_keys(args[0]) if args[0].is_a?(Hash)
13
- super(*args)
12
+ source_hash = normalize_keys(source_hash) if source_hash.is_a?(Hash)
13
+ super(source_hash, default, &block)
14
14
  end
15
15
 
16
16
  # Outputs: <#Tvdb::Series actors="..." added=nil added_by=nil>
@@ -61,11 +61,17 @@ module Tvdbr
61
61
  # => [:foo => "bar", ...]
62
62
  def normalize_keys(hash)
63
63
  hash.inject({}) do |options, (key, value)|
64
- options[(underscore(key) rescue key) || key] = value
64
+ options[(underscore(key) rescue key) || key] = normalize_value(value)
65
65
  options
66
66
  end
67
67
  end
68
68
 
69
+ # Normalizes a value for the formatted hash
70
+ # Sometimes TVDB returns a hash with a "__content__" key which needs to be removed
71
+ def normalize_value(val)
72
+ val.respond_to?(:has_key?) && val.has_key?("__content__") ? val["__content__"] : val
73
+ end
74
+
69
75
  def underscore(camel_cased_word)
70
76
  word = camel_cased_word.to_s.dup
71
77
  word.gsub!(/::/, '/')
data/lib/tvdbr/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tvdbr
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tvdbr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-10-05 00:00:00.000000000 Z
13
+ date: 2012-10-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: hashie