Class: Sqlyzer::Associate::Link
- Inherits:
-
Object
- Object
- Sqlyzer::Associate::Link
- Includes:
- Serializer
- Defined in:
- lib/sqlyzer/associate.rb
Constant Summary
Constants included from Parameter::Types::Alias
Parameter::Types::Alias::SQL_BOOL, Parameter::Types::Alias::SQL_DATE, Parameter::Types::Alias::SQL_DATETIME, Parameter::Types::Alias::SQL_FLOAT, Parameter::Types::Alias::SQL_FLOAT4, Parameter::Types::Alias::SQL_FLOAT8, Parameter::Types::Alias::SQL_INT, Parameter::Types::Alias::SQL_INT2, Parameter::Types::Alias::SQL_INT4, Parameter::Types::Alias::SQL_INT8, Parameter::Types::Alias::SQL_TEXT, Parameter::Types::Alias::SQL_TIME, Parameter::Types::Alias::SQL_VARCHAR
Class Method Summary collapse
Instance Method Summary collapse
- #flush ⇒ Object
-
#initialize(owner, key) ⇒ Link
constructor
A new instance of Link.
- #pop(*items) ⇒ Object
- #push(*items) ⇒ Object
Methods included from Serializer
included, #sql_dispose, #sql_load, #sql_new, #sql_save, #sql_serialize
Methods included from Sql::Create
#sql_alter_table, #sql_alter_table_fk, #sql_alter_table_pk, #sql_create_table, #sql_create_table_index, #sql_create_table_unique_index, #sql_drop_table
Methods included from Container
#sql_container_keys, #sql_container_table, #sql_container_values, sql_has_keys, sql_has_values, sql_set_table
Constructor Details
#initialize(owner, key) ⇒ Link
Returns a new instance of Link.
32 33 34 35 36 |
# File 'lib/sqlyzer/associate.rb', line 32 def initialize(owner, key) @source = owner.method key @updated = {} @current_var = get_current_var end |
Class Method Details
.make(from, to, owner, key) ⇒ Object
101 102 103 104 |
# File 'lib/sqlyzer/associate.rb', line 101 def Link.make(from, to, owner, key) idx = "#{from}_to_#{to}" return @@klasses[idx] if @@klasses.include?(idx) end |
Instance Method Details
#flush ⇒ Object
95 96 97 |
# File 'lib/sqlyzer/associate.rb', line 95 def flush update_to_new_var unless @updated.empty? end |
#pop(*items) ⇒ Object
87 88 89 90 91 |
# File 'lib/sqlyzer/associate.rb', line 87 def pop(*items) for item in items @updated[item] = :link_del if @current.include?(item) end end |
#push(*items) ⇒ Object
81 82 83 84 85 |
# File 'lib/sqlyzer/associate.rb', line 81 def push(*items) for item in items @updated[item] = :link_add unless @current.include?(item) end end |