Class: XDry::Boxing::ArrayConverter
Instance Method Summary collapse
- #box(out, data_expr, tempvar_prefix) ⇒ Object
-
#initialize(item_type, init_selector, repr_selector) ⇒ ArrayConverter
constructor
A new instance of ArrayConverter.
- #retain_policy ⇒ Object
- #unbox(out, object_expr, tempvar_prefix) ⇒ Object
- #unbox_retained(out, object_expr, tempvar_prefix) ⇒ Object
Constructor Details
#initialize(item_type, init_selector, repr_selector) ⇒ ArrayConverter
Returns a new instance of ArrayConverter.
123 124 125 126 127 |
# File 'lib/xdry/boxing.rb', line 123 def initialize item_type, init_selector, repr_selector @item_type = item_type @init_selector = init_selector @repr_selector = repr_selector end |
Instance Method Details
#box(out, data_expr, tempvar_prefix) ⇒ Object
129 130 131 132 133 134 135 136 137 138 |
# File 'lib/xdry/boxing.rb', line 129 def box out, data_expr, tempvar_prefix array_var = "#{tempvar_prefix}Array" item_var = "#{tempvar_prefix}Item" out << "NSMutableArray *#{array_var} = [NSMutableArray array];" out.block "for (#{@item_type} *#{item_var} in #{data_expr})" do out << "[#{array_var} addObject:[#{item_var} #{@repr_selector}]];" end "#{array_var}" end |
#retain_policy ⇒ Object
148 |
# File 'lib/xdry/boxing.rb', line 148 def retain_policy; RetainPolicy::COPY; end |
#unbox(out, object_expr, tempvar_prefix) ⇒ Object
140 141 142 |
# File 'lib/xdry/boxing.rb', line 140 def unbox out, object_expr, tempvar_prefix unbox_internal out, object_expr, tempvar_prefix, "[NSMutableArray array]" end |
#unbox_retained(out, object_expr, tempvar_prefix) ⇒ Object
144 145 146 |
# File 'lib/xdry/boxing.rb', line 144 def unbox_retained out, object_expr, tempvar_prefix unbox_internal out, object_expr, tempvar_prefix, "[[NSMutableArray alloc] init]" end |