flixit 0.0.15 → 0.0.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.rdoc +83 -1
  2. data/VERSION +1 -1
  3. data/lib/flixit/record.rb +2 -0
  4. metadata +3 -3
@@ -4,6 +4,89 @@ Heavily based on the {flixcloud gem}[http://github.com/flixcloud/flix_cloud-gem]
4
4
  I removed dependancies on a specific httpclient. To play nice with fakeweb this gem relies on rest-client.
5
5
  I will improve tests as I go.
6
6
 
7
+ == Installation
8
+
9
+ Install the gem
10
+
11
+ gem install flixit
12
+
13
+ Require the gem in your rails app
14
+
15
+ config.gem 'flixit'
16
+
17
+ The gem looks for the ssl key and certificate stored heroku-style.
18
+
19
+ ENV['SSL_KEY']
20
+ ENV['SSL_CERT']
21
+
22
+ You can always load them up from the files in an initializer.
23
+
24
+ == Usage
25
+
26
+ === Creating Jobs
27
+
28
+ ====== From the {flixcloud gem}[http://github.com/flixcloud/flix_cloud-gem] README
29
+
30
+ You can create jobs using the Job class:
31
+
32
+ job = FlixCloud::Job.new(:api_key => 'your-api-key-here',
33
+ :recipe_id => 1,
34
+ :input_url => 'http://url/to/your/input/file',
35
+ :output_url => 'ftp://url/to/your/output/file',
36
+ :output_user => 'username-for-ftp-here',
37
+ :output_password => 'password-for-ftp-here',
38
+ :watermark_url => 's3://url/to/your/watermark/file',
39
+ :thumbnails_url => 's3://url/to/your/thumbnail-out-file')
40
+ job.valid? # true or false
41
+ job.save # true or false
42
+ job.id # returns the id of the saved job, or nil if it failed to save
43
+ job.initialized_at # returns the time the job was created, or nil if it failed to save
44
+
45
+ Job is modeled after ActiveRecord, so create, create!, save, save!, etc all work.
46
+
47
+ See {this}[http://flixcloud.com/api#sending_jobs_to_flix_cloud] for more information.
48
+
49
+ === Job Notifications
50
+
51
+ When you receive a notification from FlixCloud, you can process it using the Notification class:
52
+
53
+ job = FlixCloud::Notification.new(notification_xml_or_hash)
54
+ job.successful? # true if the state is 'successful_job', false if not
55
+ job.failed? # true if the state is 'failed_job', false if not
56
+ job.cancelled? # true if the state is 'cancelled_job', false if not
57
+ job.id # the id of the job that finished
58
+ job.finished_job_at # the time the job finished at
59
+ job.initialized_job_at # the time the job was created at
60
+ job.recipe_name # the name of the recipe used to process the job
61
+ job.recipe_id # the id of the recipe used to process the job
62
+ job.state # the state of the finished job. 'successful_job', 'failed_job', or 'cancelled_job'
63
+ job.error_message # the error message given for the job if it failed to process
64
+ job.input_media_file.url # url of the input file
65
+ job.input_media_file.width # width of the input file in pixels
66
+ job.input_media_file.height # height of the input file in pixels
67
+ job.input_media_file.size # size of the input file in bytes
68
+ job.input_media_file.duration # duration of the input file in milliseconds
69
+ job.input_media_file.cost # cost of the input file in millicents (1/1000th of a cent)
70
+ job.output_media_file.url # url of the output file
71
+ job.output_media_file.width # width of the output file in pixels
72
+ job.output_media_file.height # height of the output file in pixels
73
+ job.output_media_file.size # size of the output file in bytes
74
+ job.output_media_file.duration # duration of the output file in milliseconds
75
+ job.output_media_file.cost # cost of the output file in millicents (1/1000th of a cent)
76
+ job.watermark_file.url # url of the watermark file
77
+ job.watermark_file.size # size of the watermark file in bytes
78
+ job.watermark_file.cost # cost of the watermark file in millicents (1/1000th of a cent)
79
+
80
+ See {this}[http://flixcloud.com/api#job_notifications] for more information.
81
+
82
+ Note
83
+ ----
84
+
85
+ Creating jobs sends HTTP requests to FlixCloud, which may take some time. It's
86
+ best to do this asynchronously in your application.
87
+
88
+
89
+
7
90
  == Note on Patches/Pull Requests
8
91
 
9
92
  * Fork the project.
@@ -16,5 +99,4 @@ I will improve tests as I go.
16
99
 
17
100
  == Copyright
18
101
 
19
-
20
102
  Copyright (c) 2010 Leandro Pedroni. See LICENSE for details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.15
1
+ 0.0.16
@@ -34,6 +34,8 @@ protected
34
34
  begin
35
35
  flixcloud = RestClient::Resource.new(
36
36
  "https://flixcloud.com/#{path}",
37
+ :ssl_client_cert => ENV['SSL_CERT'] ? OpenSSL::X509::Certificate.new(ENV['SSL_CERT']) : nil,
38
+ :ssl_client_key => ENV['SSL_KEY'] ? OpenSSL::PKey::RSA.new(ENV['SSL_KEY'], "") : nil,
37
39
  :ssl_ca_file => Flixit::CA_FILE,
38
40
  :verify_ssl => OpenSSL::SSL::VERIFY_PEER
39
41
  )
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 15
9
- version: 0.0.15
8
+ - 16
9
+ version: 0.0.16
10
10
  platform: ruby
11
11
  authors:
12
12
  - Leandro Pedroni
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-03 00:00:00 +01:00
17
+ date: 2010-05-05 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency