diff options
| author | Randy Morgan <[email protected]> | 2012-06-20 19:26:25 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2012-06-20 19:26:25 +0900 |
| commit | 3d3d8e3aba0c49fe5adef5cf1058c3157314b2b2 (patch) | |
| tree | d22cda14d33f15646a54195abb7b709741650a47 /lib/axlsx/workbook/worksheet/protected_range.rb | |
| parent | eb9e1495c31b74ade95cce3b9e5e4c420d66eb02 (diff) | |
| download | caxlsx-3d3d8e3aba0c49fe5adef5cf1058c3157314b2b2.tar.gz caxlsx-3d3d8e3aba0c49fe5adef5cf1058c3157314b2b2.zip | |
update examples and the beginings of protected_range
Diffstat (limited to 'lib/axlsx/workbook/worksheet/protected_range.rb')
| -rw-r--r-- | lib/axlsx/workbook/worksheet/protected_range.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/axlsx/workbook/worksheet/protected_range.rb b/lib/axlsx/workbook/worksheet/protected_range.rb new file mode 100644 index 00000000..feb5eb48 --- /dev/null +++ b/lib/axlsx/workbook/worksheet/protected_range.rb @@ -0,0 +1,40 @@ +module Axlsx + # The Protected Range class represents a set of cells in the worksheet + # @note the recommended way to manage protected ranges with via Worksheet#protect_range + # @see Worksheet#protect_range + class ProtectedRange + + # The reference for the protected range + # @return [String] + attr_reader :sqref + + # The name of the protected range + # @return [String] + attr_reader :name + + # Initializes a new protected range object + # @option [String] sqref The cell range reference to protect. This can be an absolute or a relateve range however, it only applies to the current sheet. + # @option [String] name An optional name for the protected name. + def initialize(options={}) + options.each do |o| + self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}=" + end + yield self if block_given? + end + + def sqref=(v) + Axlsx.validate_string(v) + @sqref = v + end + + def name=(v) + Axlsx.validate_string(v) + @name = v + end + + def to_xml_string(str="") + attrs = self.instance_values.reject{ |key, value| value == nil } + str << '<protectedRange ' << attrs.map { |key, value| '' << key << '="' << value.to_s << '"' }.join(' ') << '/>' + end + end +end |
