module Opium::Model::Persistable::ClassMethods
Public Instance Methods
add_header_to( methods, header, value, options = {} )
click to toggle source
# File lib/opium/model/persistable.rb, line 33 def add_header_to( methods, header, value, options = {} ) Array( methods ).each do |method| added_headers[method] = { header: header, value: value, options: options } added_headers[method][:options][:only] = Array( options[:only] ) added_headers[method][:options][:except] = Array( options[:except] ) end nil end
added_headers()
click to toggle source
# File lib/opium/model/persistable.rb, line 29 def added_headers @added_headers ||= {}.with_indifferent_access end
create( attributes = {} )
click to toggle source
# File lib/opium/model/persistable.rb, line 13 def create( attributes = {} ) new( attributes ).tap {|model| model.save} end
create!( attributes = {} )
click to toggle source
# File lib/opium/model/persistable.rb, line 17 def create!( attributes = {} ) new( attributes ).tap {|model| model.save!} end
delete_all( query = nil )
click to toggle source
# File lib/opium/model/persistable.rb, line 25 def delete_all( query = nil ) end
destroy_all( query = nil )
click to toggle source
# File lib/opium/model/persistable.rb, line 21 def destroy_all( query = nil ) end
get_header_for( method, context, owner = nil )
click to toggle source
# File lib/opium/model/persistable.rb, line 43 def get_header_for( method, context, owner = nil ) return {} unless added_headers[method] eval_only = !added_headers[method][:options][:only].empty? eval_except = !added_headers[method][:options][:except].empty? within_only = added_headers[method][:options][:only].include?( context ) within_except = added_headers[method][:options][:except].include?( context ) value = added_headers[method][:value] value = value.call( owner ) if owner && value.respond_to?( :call ) if value && ( ( !eval_only && !eval_except ) || ( eval_only && within_only ) || ( eval_except && !within_except ) ) { headers: { added_headers[method][:header] => value } } else {} end end