plex-ruby 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -29,3 +29,18 @@
29
29
 
30
30
  * Added a test suite that can be run with `rake`
31
31
  * I feel this a production ready, will continue to add features
32
+
33
+ ## 1.1.0
34
+
35
+ * Added `Plex::Section` category methods
36
+ * ie. `library.section(2).years # [{key: '2008', title: '2008'},...]`
37
+ * `library.section(1).by_first_letter('H') # [Plex::Movie, ...]`
38
+ * Read the docs for more info
39
+
40
+ ## 1.1.1
41
+
42
+ * Fix code breaking bug in 1.1.0
43
+
44
+ ## 1.2.0
45
+
46
+ * `Plex::Client#play_media` now can take an Object that `responds_to(:key)`
data/README.md CHANGED
@@ -50,8 +50,9 @@ shows = section.all # Returns a list of shows/movies
50
50
  bsg = shows.select { |s| s.title =~ /Battlestar/ }.first # Pick a great show
51
51
  bsg.seasons # array of its seasons
52
52
  episodes = bsg.seasons.last.episodes # Array the last seasons episodes
53
- puts "#{episodes.first.title} - #{episodes.first.summary}" # Looks good
54
- client.play_media(episodes.first.key) # Play it!
53
+ episode = episodes[4] # The fith episode in the season
54
+ puts "#{episode.title} - #{episode.summary}" # Looks good
55
+ client.play_media(episode) # Play it!
55
56
  ```
56
57
 
57
58
  For a full list of commands check out the [documentation](http://rubydoc.info/github/ekosz/Plex-Ruby/master/frames).
@@ -54,14 +54,19 @@ module Plex
54
54
 
55
55
  # Plays a video that is in the library
56
56
  #
57
- # @param [String] the key of the video that we want to play. (see
58
- # Episode#key) (see Movie#key)
57
+ # @param [String, Object] the key of the video that we want to play. Or an
58
+ # Object that responds to :key (see Episode#key) (see Movie#key)
59
59
  # @param [String] no clue what this does, its the Plex Remote Command API though
60
60
  # @param [String] no clue what this does, its the Plex Remote Command API though
61
61
  # @param [String] no clue what this does, its the Plex Remote Command API though
62
62
  # @return [True, nil] true if it worked, nil if something went wrong check
63
63
  # the console for the error message
64
64
  def play_media(key, user_agent = nil, http_cookies = nil, view_offset = nil)
65
+
66
+ if !key.is_a?(String) && key.respond_to?(:key)
67
+ key = key.key
68
+ end
69
+
65
70
  url = player_url+'/application/playMedia?'
66
71
  url += "path=#{CGI::escape(server.url+key)}"
67
72
  url += "&key=#{CGI::escape(key)}"
@@ -1,3 +1,3 @@
1
1
  module Plex
2
- VERSION = "1.1.1"
2
+ VERSION = "1.2.0"
3
3
  end
data/test/test_client.rb CHANGED
@@ -39,6 +39,14 @@ describe Plex::Client do
39
39
  )
40
40
  end
41
41
 
42
+ it "should exsept an object that responds to :key for #play_media" do
43
+ object = Plex::Episode.new(FakeParent.new, '/libary/metadata/6')
44
+ assert @client.play_media(object)
45
+ FakeWeb.last_request.path.must_equal(
46
+ "/system/players/#{@client.name}/application/playMedia?path=#{CGI::escape(@client.url+object.key)}&key=#{CGI::escape(object.key)}"
47
+ )
48
+ end
49
+
42
50
  it "should properly commnicate its #screenshot method" do
43
51
  assert @client.screenshot(100, 100, 75)
44
52
  FakeWeb.last_request.path.must_equal(
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: plex-ruby
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.1.1
5
+ version: 1.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Eric Koslow
@@ -10,12 +10,11 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-12-12 00:00:00 -05:00
13
+ date: 2011-12-19 00:00:00 -05:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: minitest
18
- prerelease: false
19
18
  requirement: &id001 !ruby/object:Gem::Requirement
20
19
  none: false
21
20
  requirements:
@@ -23,10 +22,10 @@ dependencies:
23
22
  - !ruby/object:Gem::Version
24
23
  version: "0"
25
24
  type: :development
25
+ prerelease: false
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
- prerelease: false
30
29
  requirement: &id002 !ruby/object:Gem::Requirement
31
30
  none: false
32
31
  requirements:
@@ -34,10 +33,10 @@ dependencies:
34
33
  - !ruby/object:Gem::Version
35
34
  version: "0"
36
35
  type: :development
36
+ prerelease: false
37
37
  version_requirements: *id002
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: fakeweb
40
- prerelease: false
41
40
  requirement: &id003 !ruby/object:Gem::Requirement
42
41
  none: false
43
42
  requirements:
@@ -45,10 +44,10 @@ dependencies:
45
44
  - !ruby/object:Gem::Version
46
45
  version: "0"
47
46
  type: :development
47
+ prerelease: false
48
48
  version_requirements: *id003
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: nokogiri
51
- prerelease: false
52
51
  requirement: &id004 !ruby/object:Gem::Requirement
53
52
  none: false
54
53
  requirements:
@@ -56,6 +55,7 @@ dependencies:
56
55
  - !ruby/object:Gem::Version
57
56
  version: "0"
58
57
  type: :runtime
58
+ prerelease: false
59
59
  version_requirements: *id004
60
60
  description: Extracts the Plex API into easy to write ruby code
61
61
  email:
@@ -119,12 +119,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
+ hash: -4420716880571956707
123
+ segments:
124
+ - 0
122
125
  version: "0"
123
126
  required_rubygems_version: !ruby/object:Gem::Requirement
124
127
  none: false
125
128
  requirements:
126
129
  - - ">="
127
130
  - !ruby/object:Gem::Version
131
+ hash: -4420716880571956707
132
+ segments:
133
+ - 0
128
134
  version: "0"
129
135
  requirements: []
130
136