Module: Engine2::MetaAPISupport

Instance Method Summary collapse

Instance Method Details

#configObject



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

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

#decorate(list) ⇒ Object



165
166
167
168
169
170
# File 'lib/engine2/meta.rb', line 165

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

#field_filter(*flds, filter) ⇒ Object



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

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

#hide_fields(*flds) ⇒ Object



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

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

#infoObject



146
147
148
# File 'lib/engine2/meta.rb', line 146

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

#info!(*fields, options) ⇒ Object

Raises:



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

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

#loc!(hash) ⇒ Object



161
162
163
# File 'lib/engine2/meta.rb', line 161

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

#reload_routes!Object



142
143
144
# File 'lib/engine2/meta.rb', line 142

def reload_routes!
    @meta[:reload_routes] = true
end

#render(field, options) ⇒ Object



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

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

#show_fields(*flds) ⇒ Object



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

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