Class: RubyScriptProvider::DirBrowseNode
- Defined in:
- lib/rubyscriptprovider.rb
Overview
describes directory
Direct Known Subclasses
Constant Summary
Constants inherited from BaseNode
Instance Attribute Summary
Attributes inherited from BaseNode
Instance Method Summary collapse
- #getChildNodes ⇒ Object
- #getPropertyValue(name) ⇒ Object
-
#initialize(url, storage, name) ⇒ DirBrowseNode
constructor
A new instance of DirBrowseNode.
- #invoke(name, args, arg2, arg3) ⇒ Object
Methods inherited from BaseNode
#addPropertyChangeListener, #addVetoableChangeListener, #getIntrospection, #getPropertySetInfo, #getType, #getValue, #hasChildNodes, #hasMethod, #hasProperty, #removePropertyChangeListener, #removeVetoableChangeListener, #rename, #setPropertyValue, #setValue, #update
Methods included from Uno::UnoBase
#getImplementationId, #getTypes
Constructor Details
#initialize(url, storage, name) ⇒ DirBrowseNode
Returns a new instance of DirBrowseNode.
721 722 723 |
# File 'lib/rubyscriptprovider.rb', line 721 def initialize(url, storage, name) super(url, storage, name) end |
Instance Method Details
#getChildNodes ⇒ Object
725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 |
# File 'lib/rubyscriptprovider.rb', line 725 def getChildNodes ret = [] begin if @storage.exists?(@url) @storage.dir_contents(@url).sort!.each do |name| url = @url.create(name) if @storage.is_dir?(url) ret << DirBrowseNode.new(url, @storage, url.basename) elsif File::extname(name) == RB_EXTENSION ret << FileBrowseNode.new(url, @storage, url.basename(RB_EXTENSION)) end end end rescue => e p e end return ret end |
#getPropertyValue(name) ⇒ Object
744 745 746 747 748 749 750 751 |
# File 'lib/rubyscriptprovider.rb', line 744 def getPropertyValue(name) ret = false case name when "Renamable", "Deletable", "Creatable" ret = ! @storage.is_readonly?(@url) end return ret end |
#invoke(name, args, arg2, arg3) ⇒ Object
753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 |
# File 'lib/rubyscriptprovider.rb', line 753 def invoke(name, args, arg2, arg3) value = false begin case name when "Creatable" name = args[0] if name.end_with?("/") name = name[0..-2] url = @url.create(@url.join(name)) @storage.dir_create(url) node = DirBrowseNode.new(url, @storage, name) else name += RB_EXTENSION unless name.end_with?(RB_EXTENSION) url = @url.create(@url.join(name)) @storage.file_create(@url, name) node = FileBrowseNode.new(url, @storage, url.basename(RB_EXTENSION)) end value = node when "Renamable" name = args[0] dest = rename(name) update(name, dest) value = self when "Deletable" value = @storage.delete(@url) end rescue => e p e, e.backtrace.join("\n") end return [value, [0], [nil]] end |