carrierwave-taglib 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE ADDED
File without changes
@@ -0,0 +1,4 @@
1
+ carrierwave-taglib
2
+ ==================
3
+
4
+ Process ID3 tags on MP3s uploaded through jnicklas/carrierwave
@@ -0,0 +1,5 @@
1
+ module CarrierWave
2
+ module TagLib
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,35 @@
1
+ module CarrierWave
2
+ module TagLib
3
+ extend ::ActiveSupport::Concern
4
+
5
+ included do
6
+ begin
7
+ require "taglib"
8
+ rescue LoadError => e
9
+ e.message << " (You may need to install the taglib-ruby gem)"
10
+ raise e
11
+ end
12
+ end
13
+
14
+ module ClassMethods
15
+ def tag_id3v1(tags)
16
+ process :tag_id3v1 => tags
17
+ end
18
+ end
19
+
20
+ # Tag mp3 before uploading
21
+ #
22
+ # tags - Hash of tag names and values
23
+ #
24
+ # Supported keys: artist, title, album, year, genre, comment
25
+ def tag_id3v1(tags)
26
+ tags.symbolize_keys!
27
+ ::TagLib::MPEG::File.open(file.path) do |f|
28
+ [:artist, :title, :album, :year, :genre, :comment].each do |key|
29
+ tags[key] && f.tag.public_send("#{key}=", tags[key])
30
+ end
31
+ f.save
32
+ end
33
+ end
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: carrierwave-taglib
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Daniel Hengeveld
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-03-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: carrierwave
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: taglib-ruby
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description: ID3v1 tag processing for CarrierWave uploads
47
+ email: danielwh@gmail.com
48
+ executables: []
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - README.md
53
+ - LICENSE
54
+ - lib/carrierwave/taglib-version.rb
55
+ - lib/carrierwave/taglib.rb
56
+ homepage: http://github.com/thedaniel/carrierwave-taglib
57
+ licenses: []
58
+ post_install_message:
59
+ rdoc_options: []
60
+ require_paths:
61
+ - lib
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ! '>='
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ requirements: []
75
+ rubyforge_project:
76
+ rubygems_version: 1.8.23
77
+ signing_key:
78
+ specification_version: 3
79
+ summary: ID3v1 tag processing for CarrierWave uploads
80
+ test_files: []