Class: RubyScriptProvider::FileBrowseNode
Overview
Constant Summary
Constants inherited
from BaseNode
BaseNode::NODE_TYPE
Instance Attribute Summary
Attributes inherited from BaseNode
#editable, #name
Instance Method Summary
collapse
Methods inherited from BaseNode
#addPropertyChangeListener, #addVetoableChangeListener, #getIntrospection, #getPropertySetInfo, #getType, #getValue, #hasChildNodes, #hasMethod, #hasProperty, #removePropertyChangeListener, #removeVetoableChangeListener, #rename, #setPropertyValue, #setValue, #update
#getImplementationId, #getTypes
Constructor Details
#initialize(url, storage, name) ⇒ FileBrowseNode
652
653
654
|
# File 'lib/rubyscriptprovider.rb', line 652
def initialize(url, storage, name)
super(url, storage, name)
end
|
Instance Method Details
#getChildNodes ⇒ Object
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
|
# File 'lib/rubyscriptprovider.rb', line 664
def getChildNodes
result = []
if @storage.exists?(@url)
begin
file_name = @url.basename
descriptions = @storage.descriptions(@url)
@storage.get_method_names(@url).each do |name|
display_name, description = parse_entry(descriptions[name])
display_name = name if display_name.empty?
result << ScriptBrowseNode.new(
@url, @storage, display_name, name, description)
end
rescue => e
p e.to_s + "\n" + e.backtrace.join("\n") + "\n"
end
end
return result
end
|
#getPropertyValue(name) ⇒ Object
683
684
685
686
687
688
689
690
691
692
|
# File 'lib/rubyscriptprovider.rb', line 683
def getPropertyValue(name)
ret = false
case name
when "Renamable", "Deletable"
ret = ! @storage.is_readonly?(@url)
when "Editable"
ret = @url.transient? && ! @storage.is_readonly?(@url)
end
return ret
end
|
#invoke(name, args, arg2, arg3) ⇒ Object
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
|
# File 'lib/rubyscriptprovider.rb', line 694
def invoke(name, args, arg2, arg3)
value = false
begin
case name
when "Editable"
source = @storage.choose_file
@storage.file_copy(source, @url, true) if source
when "Renamable"
name = args[0]
name += RB_EXTENSION unless name.end_with?(RB_EXTENSION)
dest = rename(name)
update(name, dest)
value = self
when "Deletable"
value = @storage.delete(@url)
end
rescue => e
p %Q!#{e}\n#{e.backtrace.join("\n")}\n!
end
return [value, [0], [nil]]
end
|
#parse_entry(entry) ⇒ Object
656
657
658
659
660
661
662
|
# File 'lib/rubyscriptprovider.rb', line 656
def parse_entry(entry)
begin
return entry["name"], entry["description"]
rescue
return "", ""
end
end
|