Class: Prequel::Tuple

Inherits:
Object
  • Object
show all
Defined in:
lib/prequel/tuple.rb

Direct Known Subclasses

Record

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values = {}) ⇒ Tuple

Returns a new instance of Tuple.



15
16
17
18
# File 'lib/prequel/tuple.rb', line 15

def initialize(values = {})
  initialize_fields
  soft_update_fields(values)
end

Class Method Details

.def_field_reader(name) ⇒ Object



8
9
10
11
12
# File 'lib/prequel/tuple.rb', line 8

def def_field_reader(name)
  define_method(name) do
    get_field_value(name)
  end
end

Instance Method Details

#field_valuesObject



32
33
34
35
36
37
# File 'lib/prequel/tuple.rb', line 32

def field_values
  fields_by_name.inject({}) do |h, (name, field)|
    h[name] = field.value
    h
  end
end

#get_field_value(name) ⇒ Object



28
29
30
# File 'lib/prequel/tuple.rb', line 28

def get_field_value(name)
  fields_by_name[name].try(:value)
end

#get_record(name) ⇒ Object



39
40
41
# File 'lib/prequel/tuple.rb', line 39

def get_record(name)
  nil
end

#soft_update_fields(values) ⇒ Object



22
23
24
25
26
# File 'lib/prequel/tuple.rb', line 22

def soft_update_fields(values)
  values.each do |name, value|
    set_field_value(name, value)
  end
end