Class: Linkage::FieldSet
- Inherits:
-
Hash
- Object
- Hash
- Linkage::FieldSet
- Defined in:
- lib/linkage/field_set.rb
Instance Attribute Summary collapse
-
#primary_key ⇒ Object
readonly
Returns the value of attribute primary_key.
Instance Method Summary collapse
- #[](key) ⇒ Object
- #fetch_key(key) ⇒ Object
- #has_key?(key) ⇒ Boolean
-
#initialize(dataset) ⇒ FieldSet
constructor
Create a new FieldSet.
Constructor Details
#initialize(dataset) ⇒ FieldSet
Create a new FieldSet.
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/linkage/field_set.rb', line 8 def initialize(dataset) dataset.schema.each do |(name, column_schema)| f = Field.new(dataset, name, column_schema) self[name] = f if @primary_key.nil? && column_schema[:primary_key] @primary_key = f end end end |
Instance Attribute Details
#primary_key ⇒ Object (readonly)
Returns the value of attribute primary_key.
3 4 5 |
# File 'lib/linkage/field_set.rb', line 3 def primary_key @primary_key end |
Instance Method Details
#[](key) ⇒ Object
28 29 30 31 |
# File 'lib/linkage/field_set.rb', line 28 def [](key) k = fetch_key(key) k ? super(k) : nil end |
#fetch_key(key) ⇒ Object
23 24 25 26 |
# File 'lib/linkage/field_set.rb', line 23 def fetch_key(key) string_key = key.to_s keys.detect { |k| k.to_s.casecmp(string_key) == 0 } end |
#has_key?(key) ⇒ Boolean
19 20 21 |
# File 'lib/linkage/field_set.rb', line 19 def has_key?(key) !fetch_key(key).nil? end |