openmeta.rb 1.0.5 → 1.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.
- checksums.yaml +7 -0
- data/Rakefile +2 -0
- data/lib/openmeta/cli.rb +53 -40
- data/lib/openmeta/version.rb +1 -1
- metadata +51 -67
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA512:
|
3
|
+
data.tar.gz: b9ca3611b874d10cd53143db618f08e65ff4e07cf24a9739c0bd6ded8b0b6d62075968cf8eae22a96aed09be046396a9ff47889b74c4c7ac4edef077db45f1ef
|
4
|
+
metadata.gz: 31224055b281aea30597a39d849df034b38d20fcfbea2038bc1aa7bee1feb8a9f049935d01ff656e8ab1840ad8aae6e3600039645133a74a357aef5ff9f97548
|
5
|
+
SHA1:
|
6
|
+
data.tar.gz: 19f71e13ed585e494714192a80696658e6199a07
|
7
|
+
metadata.gz: d3ab135f751fe2c79d00bfb747daf5bc62523c81
|
data/Rakefile
CHANGED
data/lib/openmeta/cli.rb
CHANGED
@@ -30,39 +30,42 @@ module Openmeta
|
|
30
30
|
:required => true,
|
31
31
|
:type => :string,
|
32
32
|
:desc => "clone openmeta tags and rating from the FILE [required]"
|
33
|
-
def clone(
|
33
|
+
def clone(*files)
|
34
34
|
unless File.exist?(from_file)
|
35
|
-
|
35
|
+
raise Openmeta::PathError, "#{from_file} does not exist!"
|
36
36
|
end
|
37
37
|
|
38
|
-
|
39
|
-
|
38
|
+
files.each { |file|
|
39
|
+
tags = Openmeta.get_tags(from_file)
|
40
|
+
rating = Openmeta.get_rating(from_file)
|
40
41
|
|
41
|
-
|
42
|
-
|
42
|
+
Openmeta.set_tags(tags, file) unless tags.empty?
|
43
|
+
Openmeta.set_rating(rating, file) unless rating == 0.0
|
44
|
+
}
|
43
45
|
end
|
44
46
|
|
45
|
-
|
46
47
|
desc "get", "get openmeta tags and rating"
|
47
48
|
method_option :format,
|
48
49
|
:aliases => "-f" ,
|
49
50
|
:lazy_default => nil ,
|
50
51
|
:type => :string ,
|
51
52
|
:desc => "print as yaml/plist"
|
52
|
-
def get(
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
53
|
+
def get(*files)
|
54
|
+
files.each { |file|
|
55
|
+
tags = {
|
56
|
+
:tags => Openmeta.get_tags(file),
|
57
|
+
:rating => Openmeta.get_rating(file)
|
58
|
+
}
|
59
|
+
puts_to(options[:format], tags)
|
57
60
|
}
|
58
|
-
|
59
|
-
puts_to(options[:format], tags)
|
60
61
|
end
|
61
62
|
|
62
63
|
desc "clear", "clear openmeta tags and rating"
|
63
|
-
def clear(
|
64
|
-
|
65
|
-
|
64
|
+
def clear(*files)
|
65
|
+
files.each { |file|
|
66
|
+
Openmeta.set_tags([], file)
|
67
|
+
Openmeta.set_rating(0.0, file)
|
68
|
+
}
|
66
69
|
end
|
67
70
|
|
68
71
|
|
@@ -72,9 +75,11 @@ module Openmeta
|
|
72
75
|
:lazy_default => '' ,
|
73
76
|
:type => :string ,
|
74
77
|
:desc => "set tags, use ',' to separate multiple tags"
|
75
|
-
def set(
|
76
|
-
|
77
|
-
|
78
|
+
def set(*files)
|
79
|
+
files.each { |file|
|
80
|
+
tags = options[:tag].split(',')
|
81
|
+
Openmeta.set_tags(tags, file)
|
82
|
+
}
|
78
83
|
end
|
79
84
|
|
80
85
|
desc "add", "add openmeta tags, use ',' to separate multiple tags"
|
@@ -83,14 +88,18 @@ module Openmeta
|
|
83
88
|
:lazy_default => '' ,
|
84
89
|
:type => :string ,
|
85
90
|
:desc => "add tags, use ',' to separate multiple tags"
|
86
|
-
def add(
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
91
|
+
def add(*files)
|
92
|
+
add_tags = options[:tag].split(',')
|
93
|
+
files.each { |file|
|
94
|
+
tags = add_tags
|
95
|
+
existing_tags = Openmeta.get_tags(file)
|
96
|
+
# union
|
97
|
+
tags |= existing_tags if existing_tags
|
98
|
+
|
99
|
+
unless tags.eql? existing_tags
|
100
|
+
Openmeta.set_tags(tags, file)
|
101
|
+
end
|
102
|
+
}
|
94
103
|
end
|
95
104
|
|
96
105
|
desc "remove", "remove openmeta tags, use ',' to separate multiple tags"
|
@@ -99,14 +108,16 @@ module Openmeta
|
|
99
108
|
:lazy_default => '' ,
|
100
109
|
:type => :string ,
|
101
110
|
:desc => "remove tags, use ',' to separate multiple tags"
|
102
|
-
def remove(
|
111
|
+
def remove(*files)
|
103
112
|
tags = options[:tag].split(',')
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
existing_tags.
|
108
|
-
|
109
|
-
|
113
|
+
files.each { |file|
|
114
|
+
# duplicate a frozen array
|
115
|
+
existing_tags = Openmeta.get_tags(file).dup
|
116
|
+
unless existing_tags.empty?
|
117
|
+
existing_tags.delete_if { |t| tags.include?(t) }
|
118
|
+
Openmeta.set_tags(existing_tags, file)
|
119
|
+
end
|
120
|
+
}
|
110
121
|
end
|
111
122
|
|
112
123
|
desc "rate", "set openmeta rating"
|
@@ -115,11 +126,13 @@ module Openmeta
|
|
115
126
|
:lazy_default => 0.0 ,
|
116
127
|
:type => :numeric ,
|
117
128
|
:desc => "set rating"
|
118
|
-
def rate(
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
129
|
+
def rate(*files)
|
130
|
+
files.each { |file|
|
131
|
+
if options[:rate] > 5.0
|
132
|
+
raise RangeError, "rating is between [0.0 - 5.0]"
|
133
|
+
end
|
134
|
+
Openmeta.set_rating(options[:rate], file)
|
135
|
+
}
|
123
136
|
end
|
124
137
|
|
125
138
|
private
|
data/lib/openmeta/version.rb
CHANGED
metadata
CHANGED
@@ -1,75 +1,57 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: openmeta.rb
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.0
|
6
5
|
platform: ruby
|
7
|
-
authors:
|
6
|
+
authors:
|
8
7
|
- Zhao Cai
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
|
12
|
+
date: 2013-03-27 00:00:00 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 0.17.0
|
22
|
-
type: :runtime
|
23
16
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
requirements:
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
27
19
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
20
|
+
- !ruby/object:Gem::Version
|
29
21
|
version: 0.17.0
|
30
|
-
|
22
|
+
type: :runtime
|
23
|
+
version_requirements: *id001
|
24
|
+
- !ruby/object:Gem::Dependency
|
31
25
|
name: rdoc
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ~>
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '3.10'
|
38
|
-
type: :development
|
39
26
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
requirements:
|
43
|
-
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '3.10'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: hoe
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
27
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
51
29
|
- - ~>
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version:
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: "3.10"
|
54
32
|
type: :development
|
33
|
+
version_requirements: *id002
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: hoe
|
55
36
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
requirements:
|
37
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
59
39
|
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
|
63
|
-
|
64
|
-
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: "3.5"
|
42
|
+
type: :development
|
43
|
+
version_requirements: *id003
|
44
|
+
description: openMeta in Ruby (MacRuby, more exactly!). This gem ports [openMeta][openmeta] api to macruby using framework.
|
45
|
+
email:
|
65
46
|
- caizhaoff@gmail.com
|
66
|
-
executables:
|
47
|
+
executables:
|
67
48
|
- tag
|
68
49
|
extensions: []
|
69
|
-
|
50
|
+
|
51
|
+
extra_rdoc_files:
|
70
52
|
- History.txt
|
71
53
|
- Manifest.txt
|
72
|
-
files:
|
54
|
+
files:
|
73
55
|
- History.txt
|
74
56
|
- Manifest.txt
|
75
57
|
- README.md
|
@@ -89,28 +71,30 @@ files:
|
|
89
71
|
- lib/openmeta/version.rb
|
90
72
|
homepage: https://github.com/zhaocai/openmeta.rb
|
91
73
|
licenses: []
|
74
|
+
|
75
|
+
metadata: {}
|
76
|
+
|
92
77
|
post_install_message:
|
93
|
-
rdoc_options:
|
78
|
+
rdoc_options:
|
94
79
|
- --main
|
95
80
|
- README.md
|
96
|
-
require_paths:
|
81
|
+
require_paths:
|
97
82
|
- lib
|
98
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version:
|
104
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
|
-
|
106
|
-
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
83
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- &id004
|
86
|
+
- ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: "0"
|
89
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- *id004
|
110
92
|
requirements: []
|
93
|
+
|
111
94
|
rubyforge_project: openmeta.rb
|
112
|
-
rubygems_version:
|
95
|
+
rubygems_version: 2.0.3
|
113
96
|
signing_key:
|
114
|
-
specification_version:
|
97
|
+
specification_version: 4
|
115
98
|
summary: openMeta in Ruby (MacRuby, more exactly!)
|
116
99
|
test_files: []
|
100
|
+
|