Class: SmqlToAR::QueryBuilder::Aliases
- Inherits:
-
Hash
- Object
- Hash
- SmqlToAR::QueryBuilder::Aliases
- Defined in:
- lib/smql_to_ar/query_builder.rb
Instance Attribute Summary collapse
-
#counter ⇒ Object
Returns the value of attribute counter.
-
#prefix ⇒ Object
Returns the value of attribute prefix.
Instance Method Summary collapse
- #[](k) ⇒ Object
- #[]=(k, v) ⇒ Object
- #format(name) ⇒ Object
-
#initialize(prefix, *a, &e) ⇒ Aliases
constructor
A new instance of Aliases.
- #name(n) ⇒ Object
Constructor Details
#initialize(prefix, *a, &e) ⇒ Aliases
Returns a new instance of Aliases.
37 38 39 40 |
# File 'lib/smql_to_ar/query_builder.rb', line 37 def initialize prefix, *a, &e @counter, @prefix = 0, prefix || 'smql' super *a, &e end |
Instance Attribute Details
#counter ⇒ Object
Returns the value of attribute counter.
35 36 37 |
# File 'lib/smql_to_ar/query_builder.rb', line 35 def counter @counter end |
#prefix ⇒ Object
Returns the value of attribute prefix.
35 36 37 |
# File 'lib/smql_to_ar/query_builder.rb', line 35 def prefix @prefix end |
Instance Method Details
#[](k) ⇒ Object
55 56 57 58 59 60 |
# File 'lib/smql_to_ar/query_builder.rb', line 55 def [] k n = name k v = super n v = self[k] = format( "#{prefix},#{n}") unless v v end |
#[]=(k, v) ⇒ Object
62 63 64 |
# File 'lib/smql_to_ar/query_builder.rb', line 62 def []= k, v super name( k), v end |
#format(name) ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/smql_to_ar/query_builder.rb', line 42 def format name pre, suf = name.split( ',', 2) return name unless suf pre += ",#{@counter += 1}," l = 60-pre.length n = suf[(suf.length<=l ? 0 : -l)..-1] n == suf ? pre+n : "#{pre},,,#{n}" end |
#name(n) ⇒ Object
51 52 53 |
# File 'lib/smql_to_ar/query_builder.rb', line 51 def name n n.collect( &:to_alias).join ',' end |