openmeta.rb 1.0.2 → 1.0.3

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.
@@ -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: