Class: NTable::IndexedAxis
- Inherits:
-
Object
- Object
- NTable::IndexedAxis
- Defined in:
- lib/ntable/axis.rb
Overview
An axis in which the rows are numerically identified by a range of consecutive integers.
Instance Attribute Summary collapse
-
#size ⇒ Object
readonly
See EmptyAxis#size.
-
#start ⇒ Object
readonly
Retrieve the number of the first row.
Instance Method Summary collapse
-
#eql?(obj_) ⇒ Boolean
(also: #==)
See EmptyAxis#eql?.
-
#from_json_object(json_obj_) ⇒ Object
See EmptyAxis#from_json_object.
-
#hash ⇒ Object
See EmptyAxis#hash.
-
#index(label_) ⇒ Object
See EmptyAxis#index.
-
#initialize(size_, start_ = 0) ⇒ IndexedAxis
constructor
Create an IndexedAxis with the given number of rows.
-
#inspect ⇒ Object
(also: #to_s)
See EmptyAxis#inspect.
-
#label(index_) ⇒ Object
See EmptyAxis#label.
-
#to_json_object(json_obj_) ⇒ Object
See EmptyAxis#to_json_object.
Constructor Details
#initialize(size_, start_ = 0) ⇒ IndexedAxis
Create an IndexedAxis with the given number of rows. The optional start parameter indicates the number of the first row (default 0).
190 191 192 193 |
# File 'lib/ntable/axis.rb', line 190 def initialize(size_, start_=0) @size = size_ @start = start_ end |
Instance Attribute Details
#size ⇒ Object (readonly)
See EmptyAxis#size
215 216 217 |
# File 'lib/ntable/axis.rb', line 215 def size @size end |
#start ⇒ Object (readonly)
Retrieve the number of the first row
218 219 220 |
# File 'lib/ntable/axis.rb', line 218 def start @start end |
Instance Method Details
#eql?(obj_) ⇒ Boolean Also known as: ==
See EmptyAxis#eql?
197 198 199 |
# File 'lib/ntable/axis.rb', line 197 def eql?(obj_) obj_.is_a?(IndexedAxis) && obj_.size.eql?(@size) && obj_.start.eql?(@start) end |
#from_json_object(json_obj_) ⇒ Object
See EmptyAxis#from_json_object
239 240 241 |
# File 'lib/ntable/axis.rb', line 239 def from_json_object(json_obj_) initialize(json_obj_['size'], json_obj_['start'].to_i) end |
#hash ⇒ Object
See EmptyAxis#hash
203 204 205 |
# File 'lib/ntable/axis.rb', line 203 def hash @size.hash ^ @start.hash end |
#index(label_) ⇒ Object
See EmptyAxis#index
222 223 224 |
# File 'lib/ntable/axis.rb', line 222 def index(label_) label_ >= @start && label_ < @size + @start ? label_ - @start : nil end |
#inspect ⇒ Object Also known as: to_s
See EmptyAxis#inspect
208 209 210 |
# File 'lib/ntable/axis.rb', line 208 def inspect "#<#{self.class}:0x#{object_id.to_s(16)} size=#{@size} start=#{@start}>" end |
#label(index_) ⇒ Object
See EmptyAxis#label
227 228 229 |
# File 'lib/ntable/axis.rb', line 227 def label(index_) index_ >= 0 && index_ < @size ? index_ + @start : nil end |
#to_json_object(json_obj_) ⇒ Object
See EmptyAxis#to_json_object
233 234 235 236 |
# File 'lib/ntable/axis.rb', line 233 def to_json_object(json_obj_) json_obj_['size'] = @size json_obj_['start'] = @start unless @start == 0 end |