zencoder-flix_cloud-gem 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
- :minor: 2
3
+ :minor: 3
4
4
  :patch: 0
data/lib/flix_cloud.rb CHANGED
@@ -4,14 +4,7 @@ require 'crack/xml'
4
4
 
5
5
  module FlixCloud; end
6
6
 
7
- require File.dirname(__FILE__) + '/flix_cloud/record'
8
- require File.dirname(__FILE__) + '/flix_cloud/job'
9
- require File.dirname(__FILE__) + '/flix_cloud/file_locations'
10
- require File.dirname(__FILE__) + '/flix_cloud/file'
11
- require File.dirname(__FILE__) + '/flix_cloud/input_file'
12
- require File.dirname(__FILE__) + '/flix_cloud/output_file'
13
- require File.dirname(__FILE__) + '/flix_cloud/watermark_file'
14
- require File.dirname(__FILE__) + '/flix_cloud/parameters'
15
- require File.dirname(__FILE__) + '/flix_cloud/response'
16
- require File.dirname(__FILE__) + '/flix_cloud/extensions/hash'
17
- require File.dirname(__FILE__) + '/flix_cloud/exceptions'
7
+ %w(record job file_locations file parameters response extensions/hash
8
+ exceptions notification).each do |file|
9
+ require File.dirname(__FILE__) + "/flix_cloud/#{file}"
10
+ end
@@ -1,6 +1,6 @@
1
1
  class FlixCloud::File < FlixCloud::Record
2
2
 
3
- attr_accessor :url
3
+ attr_accessor :url, :size, :width, :height, :duration
4
4
 
5
5
  record_column :parameters, 'Parameters'
6
6
 
@@ -1,8 +1,8 @@
1
1
  class FlixCloud::FileLocations < FlixCloud::Record
2
2
 
3
- record_column :input, 'InputFile'
4
- record_column :output, 'OutputFile'
5
- record_column :watermark, 'WatermarkFile'
3
+ record_column :input, 'File'
4
+ record_column :output, 'File'
5
+ record_column :watermark, 'File'
6
6
 
7
7
  def valid?
8
8
  self.errors = []
@@ -0,0 +1,20 @@
1
+ class FlixCloud::Notification < FlixCloud::Record
2
+ attr_accessor :xml, :id, :finished_job_at, :initialized_job_at,
3
+ :recipe_name, :recipe_id, :state, :error_message
4
+
5
+ record_column :input_media_file, 'File'
6
+ record_column :output_media_file, 'File'
7
+ record_column :watermark_file, 'File'
8
+
9
+ def initialize(attrs={})
10
+ if attrs.is_a?(String)
11
+ self.xml = attrs
12
+ attrs = Crack::XML.parse(attrs)
13
+ end
14
+
15
+ attrs = attrs['job'] if attrs['job']
16
+
17
+ super(attrs)
18
+ end
19
+
20
+ end
@@ -338,7 +338,7 @@ class FlixCloud::JobTest < Test::Unit::TestCase
338
338
  end
339
339
 
340
340
  should "return true" do
341
- assert_equal true, @job.save
341
+ assert_equal true, @job.save!
342
342
  end
343
343
  end
344
344
 
@@ -0,0 +1,122 @@
1
+ require 'test_helper'
2
+
3
+ class FlixCloud::NotificationTest < Test::Unit::TestCase
4
+
5
+ context "When initializing with a string containing xml" do
6
+ setup do
7
+ @notification = FlixCloud::Notification.new(
8
+ %{<?xml version="1.0" encoding="UTF-8"?>
9
+ <job>
10
+ <finished-job-at type="datetime">2009-04-10T20:13:02Z</finished-job-at>
11
+ <id type="integer">1</id>
12
+ <initialized-job-at type="datetime">2009-04-10T20:05:28Z</initialized-job-at>
13
+ <recipe-name>testerrrr</recipe-name>
14
+ <recipe-id type="integer">172</recipe-id>
15
+ <state>successful_job</state>
16
+ <error-message>error message</error-message>
17
+ <input-media-file>
18
+ <url>s3://flixcloud-test/small.mov</url>
19
+ <width>1280</width>
20
+ <height>720</height>
21
+ <size>1732204</size>
22
+ <duration>900</duration>
23
+ </input-media-file>
24
+ <output-media-file>
25
+ <url>s3://flixcloud-test/fsdfasdf.mov</url>
26
+ <width>320</width>
27
+ <height>176</height>
28
+ <size>44126</size>
29
+ <duration>700</duration>
30
+ </output-media-file>
31
+ <watermark-file>
32
+ <url>http://dl.getdropbox.com/u/378873/zencoder_test.mov</url>
33
+ <size>1234</size>
34
+ </watermark-file>
35
+ </job>})
36
+ end
37
+
38
+ should "assign to all the attributes" do
39
+ assert_not_nil @notification.xml
40
+ assert_not_nil @notification.id
41
+ assert_not_nil @notification.finished_job_at
42
+ assert_not_nil @notification.initialized_job_at
43
+ assert_not_nil @notification.recipe_name
44
+ assert_not_nil @notification.recipe_id
45
+ assert_not_nil @notification.state
46
+ assert_not_nil @notification.error_message
47
+ end
48
+ end
49
+
50
+
51
+ context "When initializing with a hash" do
52
+ setup do
53
+ @notification = FlixCloud::Notification.new({"job" => {"initialized_job_at" => "something",
54
+ "input_media_file" => {"size" => "1732204",
55
+ "url" => "s3://flixcloud-test/small.mov",
56
+ "height" => "720",
57
+ "duration" => "900",
58
+ "width" => "1280"},
59
+ "watermark_file" => {"size" => "1234",
60
+ "url" => "http://dl.getdropbox.com/u/378873/zencoder_test.mov"},
61
+ "output_media_file" => {"size" => "44126",
62
+ "url" => "s3://flixcloud-test/fsdfasdf.mov",
63
+ "height" => "176",
64
+ "duration" => "700",
65
+ "width" => "320"},
66
+ "id" => 1,
67
+ "recipe_id" => 172,
68
+ "error_message" => 'error message',
69
+ "finished_job_at" => 'something else',
70
+ "recipe_name"=>"testerrrr",
71
+ "state"=>"successful_job"}})
72
+ end
73
+
74
+ should "assign to all the attributes except the xml attribute" do
75
+ assert_nil @notification.xml
76
+ assert_not_nil @notification.id
77
+ assert_not_nil @notification.finished_job_at
78
+ assert_not_nil @notification.initialized_job_at
79
+ assert_not_nil @notification.recipe_name
80
+ assert_not_nil @notification.recipe_id
81
+ assert_not_nil @notification.state
82
+ assert_not_nil @notification.error_message
83
+ end
84
+ end
85
+
86
+
87
+ context "When initializing with a hash and the parameters are not nested beneath 'job'" do
88
+ setup do
89
+ @notification = FlixCloud::Notification.new({"initialized_job_at" => "something",
90
+ "input_media_file" => {"size" => "1732204",
91
+ "url" => "s3://flixcloud-test/small.mov",
92
+ "height" => "720",
93
+ "duration" => "900",
94
+ "width" => "1280"},
95
+ "watermark_file" => {"size" => "1234",
96
+ "url" => "http://dl.getdropbox.com/u/378873/zencoder_test.mov"},
97
+ "output_media_file" => {"size" => "44126",
98
+ "url" => "s3://flixcloud-test/fsdfasdf.mov",
99
+ "height" => "176",
100
+ "duration" => "700",
101
+ "width" => "320"},
102
+ "id" => 1,
103
+ "recipe_id" => 172,
104
+ "error_message" => 'error message',
105
+ "finished_job_at" => 'something else',
106
+ "recipe_name"=>"testerrrr",
107
+ "state"=>"successful_job"})
108
+ end
109
+
110
+ should "assign to all the attributes except the xml attribute" do
111
+ assert_nil @notification.xml
112
+ assert_not_nil @notification.id
113
+ assert_not_nil @notification.finished_job_at
114
+ assert_not_nil @notification.initialized_job_at
115
+ assert_not_nil @notification.recipe_name
116
+ assert_not_nil @notification.recipe_id
117
+ assert_not_nil @notification.state
118
+ assert_not_nil @notification.error_message
119
+ end
120
+ end
121
+
122
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zencoder-flix_cloud-gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Sutton
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-09 00:00:00 -07:00
12
+ date: 2009-04-13 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -61,17 +61,16 @@ files:
61
61
  - lib/flix_cloud/extensions/hash.rb
62
62
  - lib/flix_cloud/file.rb
63
63
  - lib/flix_cloud/file_locations.rb
64
- - lib/flix_cloud/input_file.rb
65
64
  - lib/flix_cloud/job.rb
66
- - lib/flix_cloud/output_file.rb
65
+ - lib/flix_cloud/notification.rb
67
66
  - lib/flix_cloud/parameters.rb
68
67
  - lib/flix_cloud/record.rb
69
68
  - lib/flix_cloud/response.rb
70
- - lib/flix_cloud/watermark_file.rb
71
69
  - test/flix_cloud/file_locations_test.rb
72
70
  - test/flix_cloud/file_test.rb
73
71
  - test/flix_cloud/input_file_test.rb
74
72
  - test/flix_cloud/job_test.rb
73
+ - test/flix_cloud/notification_test.rb
75
74
  - test/flix_cloud/output_files_test.rb
76
75
  - test/flix_cloud/parameters_test.rb
77
76
  - test/flix_cloud/record_test.rb
@@ -109,6 +108,7 @@ test_files:
109
108
  - test/flix_cloud/file_test.rb
110
109
  - test/flix_cloud/input_file_test.rb
111
110
  - test/flix_cloud/job_test.rb
111
+ - test/flix_cloud/notification_test.rb
112
112
  - test/flix_cloud/output_files_test.rb
113
113
  - test/flix_cloud/parameters_test.rb
114
114
  - test/flix_cloud/record_test.rb
@@ -1,2 +0,0 @@
1
- class FlixCloud::InputFile < FlixCloud::File
2
- end
@@ -1,2 +0,0 @@
1
- class FlixCloud::OutputFile < FlixCloud::File
2
- end
@@ -1,2 +0,0 @@
1
- class FlixCloud::WatermarkFile < FlixCloud::File
2
- end