zencodable 0.0.1 → 0.1.0
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/lib/generators/zencodable/migration_generator.rb +1 -0
- data/lib/generators/zencodable/templates/add_zencoder_job_tracking_columns.rb +8 -0
- data/lib/zencodable/version.rb +1 -1
- data/lib/zencodable.rb +19 -17
- data/test/debug.log +422 -2913
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20111130180309_create_dummy_videos.rb +0 -5
- data/test/dummy/db/migrate/20111202212901_add_zencoder_job_tracking_columns.rb +8 -0
- data/test/dummy/db/schema.rb +1 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +118 -15
- data/test/dummy/log/test.log +74 -21
- data/test/dummy/tmp/db/migrate/20111202214515_add_zencoder_job_tracking_columns_to_kitteh_movies.rb +8 -0
- data/test/dummy/tmp/db/migrate/{20111202054112_create_encoded_kitteh_vids.rb → 20111202214515_create_encoded_kitteh_vids.rb} +0 -0
- data/test/zencodable_generators_test.rb +10 -0
- data/test/zencodable_test.rb +31 -2
- metadata +157 -149
@@ -24,6 +24,7 @@ module Zencodable
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def create_migration_files
|
27
|
+
migration_template 'add_zencoder_job_tracking_columns.rb', "db/migrate/add_zencoder_job_tracking_columns_to_#{name.tableize}"
|
27
28
|
migration_template 'create_association_table.rb', "db/migrate/create_#{association_name}"
|
28
29
|
unless options.skip_thumbnails?
|
29
30
|
migration_template 'create_association_thumbnails_table.rb', "db/migrate/create_#{association_name}_thumbnails"
|
@@ -0,0 +1,8 @@
|
|
1
|
+
class AddZencoderJobTrackingColumns < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_column :<%= name.tableize %>, :origin_url, :string
|
4
|
+
add_column :<%= name.tableize %>, :zencoder_job_status, :string
|
5
|
+
add_column :<%= name.tableize %>, :zencoder_job_created, :datetime
|
6
|
+
add_column :<%= name.tableize %>, :zencoder_job_finished, :datetime
|
7
|
+
end
|
8
|
+
end
|
data/lib/zencodable/version.rb
CHANGED
data/lib/zencodable.rb
CHANGED
@@ -127,38 +127,40 @@ module Zencodable
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
-
def build_encoder_output_options(origin,
|
130
|
+
def build_encoder_output_options(origin, settings)
|
131
131
|
|
132
|
-
formats =
|
133
|
-
size = definitions[:output_dimensions] || '400x300'
|
134
|
-
base_url = s3_url(origin, definitions[:s3_config], definitions[:path])
|
132
|
+
formats = settings[:formats] || [:mp4]
|
135
133
|
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
defaults =
|
134
|
+
bucket_name = settings[:bucket] || s3_bucket_name(settings[:s3_config])
|
135
|
+
|
136
|
+
s3_base_url = s3_url(origin, bucket_name, settings[:path])
|
137
|
+
|
138
|
+
defaults = { :public => true }
|
139
|
+
|
140
|
+
defaults[:size] = settings[:output_dimensions] if settings[:output_dimensions]
|
141
|
+
|
142
|
+
defaults = defaults.merge(settings[:options]) if settings[:options]
|
143
|
+
|
144
|
+
output_settings = formats.collect{ |f| defaults.merge( :format => f.to_s, :label => f.to_s, :base_url => s3_base_url ) }
|
141
145
|
|
142
|
-
if
|
143
|
-
|
144
|
-
:base_url => base_url,
|
145
|
-
:size => size
|
146
|
-
}.merge(definitions[:thumbnails])
|
146
|
+
if settings[:thumbnails]
|
147
|
+
output_settings[0][:thumbnails] = {:base_url => s3_base_url}.merge(settings[:thumbnails])
|
147
148
|
end
|
149
|
+
output_settings
|
148
150
|
|
149
|
-
formats.collect{ |f| defaults.merge( :format => f.to_s, :label => f.to_s, :base_url => base_url ) }
|
150
151
|
end
|
151
152
|
|
152
|
-
def s3_url origin_url,
|
153
|
+
def s3_url origin_url, bucket, path
|
153
154
|
basename = origin_url.match( %r|([^/][^/\?]+)[^/]*\.[^.]+\z| )[1] # matches filename without extension
|
154
155
|
basename = basename.downcase.squish.gsub(/\s+/, '-').gsub(/[^\w\d_.-]/, '') # cheap/ugly to_url
|
155
156
|
path = path.gsub(%r|:basename\b|, basename)
|
156
|
-
"s3://#{
|
157
|
+
"s3://#{bucket}.s3.amazonaws.com/#{path}/"
|
157
158
|
end
|
158
159
|
|
159
160
|
def s3_bucket_name s3_config_file
|
160
161
|
s3_config_file ||= "#{Rails.root}/config/s3.yml"
|
161
162
|
@s3_config ||= YAML.load_file(s3_config_file)[Rails.env].symbolize_keys
|
163
|
+
puts @s3_config.inspect
|
162
164
|
@s3_config[:bucket_name]
|
163
165
|
end
|
164
166
|
|