tvdbr 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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