Module: Engine2::ActionAPISupport

Instance Method Summary collapse

Instance Method Details

#configObject



247
248
249
# File 'lib/engine2/action.rb', line 247

def config
    @meta[:config] ||= {}
end

#decorate(list) ⇒ Object



262
263
264
265
266
# File 'lib/engine2/action.rb', line 262

def decorate list
    list.each do |f|
        fields(f)[:loc] ||= LOCS[f.to_sym]
    end
end

#field_filter(*flds, filter) ⇒ Object



280
281
282
# File 'lib/engine2/action.rb', line 280

def field_filter *flds, filter
    fields! *flds, filter: filter
end

#fields(field) ⇒ Object



243
244
245
# File 'lib/engine2/action.rb', line 243

def fields field
    (@meta[:fields] ||= {})[field.to_sym] ||= {}
end

#fields!(*fields, options) ⇒ Object

Raises:



251
252
253
254
255
256
# File 'lib/engine2/action.rb', line 251

def fields! *fields, options
    raise E2Error.new("No fields given to info") if fields.empty?
    fields.each do |field|
        fields(field).merge! options # rmerge ?
    end
end

#hide_fields(*flds) ⇒ Object



272
273
274
# File 'lib/engine2/action.rb', line 272

def hide_fields *flds
    fields! *flds, hidden: true
end

#loc!(hash) ⇒ Object



258
259
260
# File 'lib/engine2/action.rb', line 258

def loc! hash
    (@meta[:loc] ||= {}).merge! hash
end

#render(field, options) ⇒ Object



268
269
270
# File 'lib/engine2/action.rb', line 268

def render field, options
    fields! field, render: options
end

#show_fields(*flds) ⇒ Object



276
277
278
# File 'lib/engine2/action.rb', line 276

def show_fields *flds
    fields! *flds, hidden: false
end