openmeta.rb 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -44,6 +44,7 @@ module Openmeta
44
44
  @error ||= error = Pointer.new(:id)
45
45
  end
46
46
 
47
+ # **note** returned array are frozen
47
48
  def get_tags(path)
48
49
  tags = OpenMeta.getUserTags(File.expand_path(path), error:error)
49
50
  if error.value
@@ -77,6 +77,22 @@ module Openmeta
77
77
  Openmeta.set_tags(tags, file)
78
78
  end
79
79
 
80
+ desc "remove", "remove openmeta tags, use ',' to separate multiple tags"
81
+ method_option :tag,
82
+ :aliases => "-t" ,
83
+ :lazy_default => '' ,
84
+ :type => :string ,
85
+ :desc => "remove tags, use ',' to separate multiple tags"
86
+ def remove(file)
87
+ tags = options[:tag].split(',')
88
+ # duplicate a frozen array
89
+ existing_tags = Openmeta.get_tags(file).dup
90
+ unless existing_tags.empty?
91
+ existing_tags.delete_if { |t| tags.include?(t) }
92
+ Openmeta.set_tags(existing_tags, file)
93
+ end
94
+ end
95
+
80
96
  desc "rate", "set openmeta rating"
81
97
  method_option :rate,
82
98
  :aliases => "-r" ,
@@ -1,4 +1,4 @@
1
1
  module Openmeta
2
- VERSION = '1.0.2'
2
+ VERSION = '1.0.3'
3
3
  end
4
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openmeta.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: