Module: Engine2::MetaAPISupport

Instance Method Summary collapse

Instance Method Details

#configObject



154
155
156
# File 'lib/engine2/meta.rb', line 154

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

#decorate(list) ⇒ Object



169
170
171
172
173
174
# File 'lib/engine2/meta.rb', line 169

def decorate list
    list.each do |f|
        m = (info[f] ||= {})
        m[:loc] ||= LOCS[f]
    end
end

#field_filter(*flds, filter) ⇒ Object



188
189
190
# File 'lib/engine2/meta.rb', line 188

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

#hide_fields(*flds) ⇒ Object



180
181
182
# File 'lib/engine2/meta.rb', line 180

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

#infoObject



150
151
152
# File 'lib/engine2/meta.rb', line 150

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

#info!(*fields, options) ⇒ Object

Raises:



158
159
160
161
162
163
164
165
166
167
# File 'lib/engine2/meta.rb', line 158

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

#render(field, options) ⇒ Object



176
177
178
# File 'lib/engine2/meta.rb', line 176

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

#show_fields(*flds) ⇒ Object



184
185
186
# File 'lib/engine2/meta.rb', line 184

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