module Proposal::CanProposeClassMethods

Module for adding in class methods to object. For example:

Example

User < ActiveRecord::Base
  can_propose
end

Public Instance Methods

proposal_options() click to toggle source

Getter for +@proposal_options+

# File lib/proposal/engine.rb, line 75
def proposal_options
  @proposal_options
end
proposals() click to toggle source

Delegate method to return all the proposals for the ORM object.

# File lib/proposal/engine.rb, line 89
def proposals
  Adapter.where proposable_type: self.to_s
end
propose(resource = nil) click to toggle source

Class method for returning a new instance of Adapter

Optional resource argument that the ORM stores a reference to. This enables the email address to have multiple proposals for different unique resources.

# File lib/proposal/engine.rb, line 84
def propose resource = nil
  Adapter.new @proposal_options.merge resource: resource
end
set_proposal_options(options = {}) click to toggle source

Class method for configuring default behaviour in ORM object.

Options

  • :expires - A proc that returns a DateTime

  • :expects - Symbol or array of expected keys in arguments“

# File lib/proposal/engine.rb, line 70
def set_proposal_options options = {}
  @proposal_options = options.merge proposable_type: self.to_s
end