Class: Zoom::Profile
- Inherits:
-
Hash
- Object
- Hash
- Zoom::Profile
show all
- Defined in:
- lib/zoom/profile.rb
Defined Under Namespace
Classes: Ack, Ag, Find, Grep, Passwords, Pt
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(operator = "echo", flags = "#", envprepend = "", append = "") ⇒ Profile
Returns a new instance of Profile.
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/zoom/profile.rb', line 53
def initialize(
operator = "echo",
flags = "#",
envprepend = "",
append = ""
)
self["class"] = self.class.to_s
self.flags(flags)
self.prepend(envprepend)
self.append(append)
self.operator(operator)
@immutable = false
= "z --pager"
@taggable = false
end
|
Instance Attribute Details
#immutable ⇒ Object
Returns the value of attribute immutable.
6
7
8
|
# File 'lib/zoom/profile.rb', line 6
def immutable
@immutable
end
|
#taggable ⇒ Object
Returns the value of attribute taggable.
7
8
9
|
# File 'lib/zoom/profile.rb', line 7
def taggable
@taggable
end
|
Class Method Details
.from_json(json) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/zoom/profile.rb', line 28
def self.from_json(json)
begin
return profile_by_name(json["class"]).new(
json["operator"].nil? ? "" : json["operator"],
json["flags"].nil? ? "" : json["flags"],
json["prepend"].nil? ? "" : json["prepend"],
json["append"].nil? ? "" : json["append"]
)
rescue NameError => e
raise Zoom::Error::ProfileClassUnknownError.new(
json["class"]
)
end
end
|
.profile_by_name(clas) ⇒ Object
90
91
92
93
94
|
# File 'lib/zoom/profile.rb', line 90
def self.profile_by_name(clas)
clas.split("::").inject(Object) do |mod, class_name|
mod.const_get(class_name)
end
end
|
Instance Method Details
#append(append = nil) ⇒ Object
9
10
11
12
|
# File 'lib/zoom/profile.rb', line 9
def append(append = nil)
self["append"] = append if (append)
return self["append"]
end
|
#colors ⇒ Object
14
15
16
17
|
# File 'lib/zoom/profile.rb', line 14
def colors
""
end
|
#exe(args, pattern) ⇒ Object
19
20
21
|
# File 'lib/zoom/profile.rb', line 19
def exe(args, pattern)
system("#{self.to_s} #{args} #{pattern} #{self.append}")
end
|
#flags(flags = nil) ⇒ Object
23
24
25
26
|
# File 'lib/zoom/profile.rb', line 23
def flags(flags = nil)
self["flags"] = flags if (flags)
return self["flags"]
end
|
#info ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'lib/zoom/profile.rb', line 43
def info
[
"Class : #{self.class.to_s}",
"Prepend : #{self["prepend"]}",
"Operator: #{self["operator"]}",
"Flags : #{self["flags"]}",
"Append : #{self["append"]}"
].join("\n").strip
end
|
#operator(operator = nil) ⇒ Object
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
# File 'lib/zoom/profile.rb', line 70
def operator(operator = nil)
if (operator)
op = ScoobyDoo.where_are_you(operator)
if (op)
self["operator"] = op
else
self["operator"] = ScoobyDoo.where_are_you("echo")
flags("")
prepend("")
append("#{operator} is not installed!")
end
end
return self["operator"]
end
|
#prepend(envprepend = nil) ⇒ Object
85
86
87
88
|
# File 'lib/zoom/profile.rb', line 85
def prepend(envprepend = nil)
self["prepend"] = envprepend if (envprepend)
return self["prepend"]
end
|
#to_s ⇒ Object
96
97
98
99
100
101
102
103
|
# File 'lib/zoom/profile.rb', line 96
def to_s
[
self.colors,
self["prepend"],
self["operator"],
self["flags"]
].join(" ").strip
end
|