Class: CognitiveFaculty::Badge

Inherits:
Object
  • Object
show all
Includes:
Her::Model
Defined in:
lib/cognitive_faculty/models/badge.rb

Overview

Model for a Badge

Instance Method Summary collapse

Instance Method Details

#eligible?(lp_certs_url, learning_path, user) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
33
34
# File 'lib/cognitive_faculty/models/badge.rb', line 30

def eligible?(lp_certs_url, learning_path, user)
  self.class.get_raw("#{lp_certs_url}/certificates/#{user[:username]}/#{learning_path[:slug]}/status") do |status|
    status[:data][:eligible]
  end
end

#issue(lp_certs_url, learning_path, opts = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/cognitive_faculty/models/badge.rb', line 9

def issue(lp_certs_url, learning_path, opts = {})
  opts["badge_template_id"] = id
  opts["email"] = opts[:to][:email]
  opts["first_name"] = opts[:to][:name].split(" ", 2).first
  opts["last_name"] = opts[:to][:name].split(" ", 2).last
  return false unless eligible?(lp_certs_url, learning_path, opts[:to])
  self.class.post_raw("/api/badges", opts) do |parsed_data|
    parsed_data[:data][:success]
  end
end

#issued_badge(email) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/cognitive_faculty/models/badge.rb', line 20

def issued_badge(email)
  self.class.get_raw("/api/badges/#{id}/issued?email=#{email}") do |data|
    if data[:data][:issued]
      data[:data][:badge]
    else
      false
    end
  end
end