Module: Engine2::ActionAPISupport

Instance Method Summary collapse

Instance Method Details

#configObject



230
231
232
# File 'lib/engine2/action.rb', line 230

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

#decorate(list) ⇒ Object



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

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

#field_filter(*flds, filter) ⇒ Object



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

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

#fields(field) ⇒ Object



226
227
228
# File 'lib/engine2/action.rb', line 226

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

#fields!(*fields, options) ⇒ Object

Raises:



234
235
236
237
238
239
# File 'lib/engine2/action.rb', line 234

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



255
256
257
# File 'lib/engine2/action.rb', line 255

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

#loc!(hash) ⇒ Object



241
242
243
# File 'lib/engine2/action.rb', line 241

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

#render(field, options) ⇒ Object



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

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

#show_fields(*flds) ⇒ Object



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

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