Class: Linkage::FieldSet

Inherits:
Hash
  • Object
show all
Defined in:
lib/linkage/field_set.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dataset) ⇒ FieldSet

Create a new FieldSet.

Parameters:



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_keyObject (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

Returns:

  • (Boolean)


19
20
21
# File 'lib/linkage/field_set.rb', line 19

def has_key?(key)
  !fetch_key(key).nil?
end