Module: Fraternity

Defined in:
lib/fraternity.rb,
lib/fraternity/bidder.rb,
lib/fraternity/pledge.rb,
lib/fraternity/version.rb,
lib/fraternity/perp_error.rb,
lib/fraternity/repositories.rb,
lib/fraternity/configuration.rb,
lib/fraternity/temporary_token.rb,
lib/fraternity/token_mismatch_error.rb,
lib/fraternity/repositories/pledge_repository.rb

Defined Under Namespace

Modules: Repositories Classes: Bidder, Configuration, PerpError, Pledge, TemporaryToken, TokenMismatchError

Constant Summary collapse

VERSION =
"0.0.4"

Class Method Summary collapse

Class Method Details

.bid!(quota) ⇒ Object



37
38
39
40
41
# File 'lib/fraternity.rb', line 37

def self.bid!(quota)
  Repositories::PledgeRepository.oldest_uninvited_by_initiation_number(quota).collect do |pledge|
    pledge.bid!
  end
end

.configurationObject



11
12
13
# File 'lib/fraternity.rb', line 11

def self.configuration
  @configuration ||= Fraternity::Configuration.new
end

.configure(initiate = true) {|configuration| ... } ⇒ Object

Yields:



15
16
17
18
# File 'lib/fraternity.rb', line 15

def self.configure(initiate=true)
  yield configuration if block_given?
  Repositories.initiation! configuration.database_url if initiate
end

.find(identifier) ⇒ Object



43
44
45
46
47
48
# File 'lib/fraternity.rb', line 43

def self.find(identifier)
  if identifier.is_a? Integer
    return Repositories::PledgeRepository.find_by_id identifier
  end
  Repositories::PledgeRepository.find_by_token identifier
end

.rush(params = {}) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/fraternity.rb', line 20

def self.rush(params={})
  pledge = Repositories::PledgeRepository.find_by_email params[:email]
  if pledge
    pledge.merge params
  else
    params[:token] ||= TemporaryToken.generate_random_token
    params[:initiation_number] ||= Time.now.to_i
    pledge = Fraternity::Pledge.new params
  end
  configuration.receive_pledge.call pledge
  pledge
end

.rush!(params) ⇒ Object



33
34
35
# File 'lib/fraternity.rb', line 33

def self.rush!(params)
  Repositories::PledgeRepository.persist self.rush(params)
end