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.
136 137 138 139 140 |
# File 'lib/xdry/boxing.rb', line 136 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
142 143 144 145 146 147 148 149 150 151 |
# File 'lib/xdry/boxing.rb', line 142 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
161 |
# File 'lib/xdry/boxing.rb', line 161 def retain_policy; RetainPolicy::COPY; end |
#unbox(out, object_expr, tempvar_prefix) ⇒ Object
153 154 155 |
# File 'lib/xdry/boxing.rb', line 153 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
157 158 159 |
# File 'lib/xdry/boxing.rb', line 157 def unbox_retained out, object_expr, tempvar_prefix unbox_internal out, object_expr, tempvar_prefix, "[[NSMutableArray alloc] init]" end |